This document describes the machine-readable events that BlastShield forwards to remote syslog receivers. It is intended for integrators ingesting the BlastShield event feed into a third-party system (SIEM, log aggregator, monitoring platform).
Syslog message format
Each event is sent as a UDP syslog message:
<PRI>Mmm dd hh:mm:ss blastshield-<network id> orchestrator: <payload>
-
PRIuses facilitylocal0(16); the severity encodes the event priority: Info (6), Warning (4), Error (3), Critical (2). -
<network id>is the 16-character hexadecimal ID of the BlastShield network. -
The payload is a single flat object. The tables below list the complete payload of each event.
Each syslog receiver is configured with a format and one or more scopes:
|
Format |
Payload |
|---|---|
|
|
JSON object, e.g. |
|
|
Comma-separated |
|
|
Human-readable event text only (events scope only; not covered by this document). |
|
Scope |
Content |
|---|---|
|
|
Entity events: node status, endpoints, high availability, proxies, remote desktop. |
|
|
Configuration audit trail (create/update/delete operations). |
|
|
Per-connection logs from Gateways and Agents. |
The audit and connections scopes are only available in the json and comma formats. Structured values such as audit changes are best consumed via the json format.
Only events with a machine-readable representation are forwarded in the json and comma formats. Purely informational entries that exist in the orchestrator event log (for example device console, DHCP, SSH and system messages) are not sent to machine-format receivers.
Most payloads contain an event field that discriminates the event type within a category. Exceptions are noted below (proxy requests and audit records). Unless stated otherwise, all field values are strings. Entity IDs are either 16-character hexadecimal node IDs (agent, gateway, orchestrator, user categories) or numeric IDs in decimal form (endpoint, proxy categories).
Scope: events
Node categories: agent, gateway, orchestrator, user
These four categories describe nodes in the BlastShield network and share a common event set. The category value reflects the type of the node the event relates to.
Status events
Event: login
Emitted when a node connects to the Orchestrator and comes online.
Severity: Info
|
Field |
Type |
Description |
|---|---|---|
|
|
string (enum) |
Type of the node: |
|
|
string |
16-character hexadecimal node ID. |
|
|
string |
Display name of the node. |
|
|
string (enum) |
Always |
Event: logout
Emitted when a node disconnects from the Orchestrator and goes offline.
Severity: Info for user nodes, Warning for all other node types (an offline gateway, agent or orchestrator is usually a fault condition).
|
Field |
Type |
Description |
|---|---|---|
|
|
string (enum) |
Type of the node: |
|
|
string |
16-character hexadecimal node ID. |
|
|
string |
Display name of the node. |
|
|
string (enum) |
Always |
Event: register_public_key
Emitted when a newly invited node completes registration and its public key is stored by the Orchestrator. The category, id and name refer to the newly registered node.
Severity: Info
|
Field |
Type |
Description |
|---|---|---|
|
|
string (enum) |
Type of the node: |
|
|
string |
16-character hexadecimal node ID. |
|
|
string |
Display name of the node. |
|
|
string (enum) |
Always |
Location events
Event: new_transport_address
Emitted when the public (transport) IP address of a node changes, including on first connection. The location is derived from a GeoIP lookup of the address.
Severity: Info
|
Field |
Type |
Description |
|---|---|---|
|
|
string (enum) |
Type of the node: |
|
|
string |
16-character hexadecimal node ID. |
|
|
string |
Display name of the node. |
|
|
string (enum) |
Always |
|
|
string |
The node’s new public IPv4 address in dotted-quad notation. |
|
|
array of strings |
GeoIP-resolved location as |
Firmware events
Event: version_change
Emitted when a node reports a software/firmware version that differs from the previously known version (typically after an upgrade). Not produced for the user category.
Severity: Info
|
Field |
Type |
Description |
|---|---|---|
|
|
string (enum) |
Type of the node: |
|
|
string |
16-character hexadecimal node ID. |
|
|
string |
Display name of the node. |
|
|
string (enum) |
Always |
|
|
string |
Version string before the change. |
|
|
string |
Version string reported after the change. |
Category: gateway — High-Availability events
Events for gateways deployed as high-availability (HA) groups.
Event: ha_active_changed
Emitted when the active member of an HA gateway group changes (failover or failback).
Severity: Info
|
Field |
Type |
Description |
|---|---|---|
|
|
string (enum) |
Always |
|
|
string |
16-character hexadecimal node ID of the primary gateway of the HA group. |
|
|
string |
Display name of the primary gateway of the HA group. |
|
|
string (enum) |
Always |
|
|
string |
16-character hexadecimal node ID of the newly active gateway. |
|
|
string |
Display name of the newly active gateway. |
Event: ha_state_changed
Emitted when the overall state of an HA gateway group changes, based on how many members of the group are online.
Severity: Info (online), Warning (degraded), Error (offline)
|
Field |
Type |
Description |
|---|---|---|
|
|
string (enum) |
Always |
|
|
string |
16-character hexadecimal node ID of the primary gateway of the HA group. |
|
|
string |
Display name of the primary gateway of the HA group. |
|
|
string (enum) |
Always |
|
|
string (enum) |
New group state. One of: |
|
|
integer |
Number of group members currently online. |
|
|
integer |
Total number of members in the HA group. |
Category: endpoint
Events for protected endpoints (devices behind a Gateway). Reachability and MAC address information originates from the Gateway currently serving the endpoint.
Status events
Event: reachable
Emitted when a previously unreachable endpoint becomes reachable from its Gateway.
Severity: Info
|
Field |
Type |
Description |
|---|---|---|
|
|
string (enum) |
Always |
|
|
string |
Numeric endpoint ID in decimal form. |
|
|
string |
Configured name of the endpoint. |
|
|
string (enum) |
Always |
|
|
string |
The endpoint’s IPv4 address. |
|
|
string |
16-character hexadecimal node ID of the Gateway (the active member of an HA group) that observed the endpoint. |
Event: unreachable
Emitted when an endpoint stops being reachable. This happens either because the serving Gateway can no longer reach the endpoint on the network, or because the Orchestrator determines that the endpoint can no longer be reached (Gateway offline, endpoint moved, endpoint disabled). In the latter case the additional reason field is present.
Severity: Warning
|
Field |
Type |
Description |
|---|---|---|
|
|
string (enum) |
Always |
|
|
string |
Numeric endpoint ID in decimal form. |
|
|
string |
Configured name of the endpoint. |
|
|
string (enum) |
Always |
|
|
string |
The endpoint’s IPv4 address. |
|
|
string |
16-character hexadecimal node ID of the Gateway responsible for the endpoint at the time of the event. |
|
|
string (enum) |
Optional. Present only when the Orchestrator marked the endpoint unreachable. One of: |
MAC Address events
Event: mac_address_change
Emitted when the Gateway observes a different MAC address for an endpoint’s IP address than previously recorded. This can indicate hardware replacement — or ARP spoofing — and is therefore logged as a warning.
Severity: Warning
|
Field |
Type |
Description |
|---|---|---|
|
|
string (enum) |
Always |
|
|
string |
Numeric endpoint ID in decimal form. |
|
|
string |
Configured name of the endpoint. |
|
|
string (enum) |
Always |
|
|
string |
The endpoint’s IPv4 address. |
|
|
string |
16-character hexadecimal node ID of the Gateway that observed the change. |
|
|
string |
Previously recorded MAC address. |
|
|
string |
Newly observed MAC address. |
Category: proxy
Events for HTTP proxies published through BlastShield.
Event: proxied HTTP request
Emitted for each HTTP request forwarded through a BlastShield proxy by an Agent.
Note: this payload has no
eventdiscriminator field. Consumers can identify it bycategory=proxytogether with the presence of therequestfield.
Severity: Info
|
Field |
Type |
Description |
|---|---|---|
|
|
string (enum) |
Always |
|
|
string |
Numeric proxy ID in decimal form. |
|
|
string |
Configured name of the proxy. |
|
|
string |
The proxied request line: |
|
|
string |
Display name of the BlastShield node (user or agent) that issued the request. |
|
|
string |
16-character hexadecimal node ID of the Agent that forwarded the request. |
|
|
string |
Display name of the Agent that forwarded the request. |
Categories: agent, endpoint — Remote Desktop (BlastAccess) events
Events for hosts accessed via BlastAccess remote desktop. A remote desktop host is either an Agent or an Endpoint; the category, id and name fields identify the host and are shared by all events in this section:
-
category(string, enum):agentorendpoint— type of the remote desktop host. -
id(string): 16-character hexadecimal node ID foragent, numeric ID in decimal form forendpoint. -
name(string): display name of the host.
Event: certificate_issued
Emitted when the BlastAccess controller issues a new TLS certificate to the remote desktop agent running on a host.
Severity: Info
|
Field |
Type |
Description |
|---|---|---|
|
|
string (enum) |
|
|
|
string |
Host ID (see above). |
|
|
string |
Display name of the host. |
|
|
string (enum) |
Always |
|
|
string |
IPv4 address the certificate was issued for. |
Event: state_change
Emitted when the state of the remote desktop agent on a host changes.
Severity: Info (online), Warning (offline), Error (cert_mismatch)
|
Field |
Type |
Description |
|---|---|---|
|
|
string (enum) |
|
|
|
string |
Host ID (see above). |
|
|
string |
Display name of the host. |
|
|
string (enum) |
Always |
|
|
string (enum) |
State before the change. One of: |
|
|
string (enum) |
State after the change. Same values as |
Event: new_session
Emitted when a remote desktop session to the host is started.
Severity: Info
|
Field |
Type |
Description |
|---|---|---|
|
|
string (enum) |
|
|
|
string |
Host ID (see above). |
|
|
string |
Display name of the host. |
|
|
string (enum) |
Always |
|
|
string |
16-character hexadecimal node ID of the user starting the session. |
|
|
string |
Display name of the user starting the session. |
|
|
string |
Public IPv4 address of the user. |
|
|
array of strings |
GeoIP-resolved location of the user, same format as |
|
|
array of strings |
Permissions granted for the session. Values: |
|
|
boolean |
Whether the session is being recorded. |
Event: recording_skipped_no_storage
Emitted when a session was configured to be recorded but no session-recording storage is configured; the session runs unrecorded.
Severity: Warning
|
Field |
Type |
Description |
|---|---|---|
|
|
string (enum) |
|
|
|
string |
Host ID (see above). |
|
|
string |
Display name of the host. |
|
|
string (enum) |
Always |
|
|
string |
16-character hexadecimal node ID of the session’s user. |
|
|
string |
Display name of the session’s user. |
Events: recording_deleted_retention, recording_deleted_manual
Emitted when a session recording is deleted, either automatically by the retention policy (recording_deleted_retention) or manually by an administrator (recording_deleted_manual).
Severity: Info
|
Field |
Type |
Description |
|---|---|---|
|
|
string (enum) |
|
|
|
string |
Host ID (see above). |
|
|
string |
Display name of the host. |
|
|
string (enum) |
|
|
|
string |
Identifier of the recorded session. |
|
|
integer |
Recording start as a Unix timestamp (seconds). |
|
|
integer |
Recording end as a Unix timestamp (seconds). |
|
|
array of strings |
Display names of the users that participated in the recorded session. |
|
|
integer |
Total size of the deleted recording in bytes. |
|
|
string |
Only for |
Scope: audit
Category: audit
One record per configuration change made through the BlastShield API or UI. Audit payloads have no id/name fields and no event discriminator; consumers can identify them by category = audit, with action discriminating the operation.
Severity: Info
|
Field |
Type |
Description |
|---|---|---|
|
|
string (enum) |
Always |
|
|
string (enum) |
The operation performed: |
|
|
string |
Name of the user or API key that performed the operation. |
|
|
string |
ID of the actor; empty string if not applicable. |
|
|
string (enum) |
Type of the affected resource. One of: |
|
|
string |
ID of the affected resource. |
|
|
string |
Optional. Display name of the affected resource, when it has one. |
|
|
object |
Optional. Only for |
Scope: connections
Category: connection
One record per connection through the BlastShield overlay network, reported by the Gateway or Agent that carried the connection. Connection payloads have no id/name fields; the event field discriminates the connection lifecycle event.
Severity: Info
|
Field |
Type |
Description |
|---|---|---|
|
|
string (enum) |
Always |
|
|
string (enum) |
One of: |
|
|
string |
Display name of the client (node or endpoint) that initiated the connection. |
|
|
integer |
Source port of the connection. |
|
|
string | null |
Public IPv4 address of the client’s node; |
|
|
array of strings |
GeoIP-resolved location of the client’s node, same format as |
|
|
string |
Display name of the destination (endpoint or node). |
|
|
integer |
Destination port of the connection. |
|
|
integer |
Bytes received by the client over the connection. |
|
|
integer |
Bytes sent by the client over the connection. |
Quick reference
|
Scope |
Category |
|
Severity |
|---|---|---|---|
|
|
|
|
Info |
|
|
|
|
Info (user) / Warning |
|
|
|
|
Info |
|
|
|
|
Info |
|
|
|
|
Info |
|
|
|
|
Info |
|
|
|
|
Info / Warning / Error |
|
|
|
|
Info |
|
|
|
|
Warning |
|
|
|
|
Warning |
|
|
|
(no |
Info |
|
|
|
|
Info |
|
|
|
|
Info / Warning / Error |
|
|
|
|
Info |
|
|
|
|
Warning |
|
|
|
|
Info |
|
|
|
|
Info |
|
|
|
(no |
Info |
|
|
|
|
Info |