Skip to main content
Star us on GitHub Star

Events

Introduction

The controller can emit many kinds of events, useful for monitoring, management and integration with other systems. They can be enabled in the controller configuration.

Common Fields

All events have the following fields:

TypeDescriptionType
namespaceThe name indicating the overall event typestring
timestampThe date/time when the event was generatedtimestamp
evt_src_idThe id of the controller which emitted the eventstring
TypeDescriptionExamples
timestampRFC3339 formatted timestamp string"2024-10-02T12:17:39.501821249-04:00"
durationDuration with value and unit"10s", "5m", "3h"

Event Types

ApiSessionEvent

Namespace: edge.apiSessions

An ApiSessionEvent is emitted whenever an api session is created, deleted, refreshed or exchanged. Legacy sessions are only ever created or deleted. JWT sessions are created, refreshed and exchanged.

Valid api session event types are:

  • created
  • deleted
  • refreshed
  • exchanged

Valid api session types are:

  • jwt
  • legacy

Example:

{
"namespace": "edge.apiSessions",
"event_type": "created",
"id": "ckvr2r4fs0001oigd6si4akc8",
"timestamp": "2021-11-08T14:45:45.785561479-05:00",
"token": "77cffde5-f68e-4ef0-bbb5-731db36145f5",
"identity_id": "76BB.shC0",
"ip_address": "127.0.0.1"
}

Fields

FieldDescriptionType
namespaceThe event group. The namespace for ApiSessionEvents is edge.apiSessionsstring
event_src_idThe identifier of the controller which emitted the eventstring
timestampThe datetime that the event was generatedtimestamp
event_typeThe type api session event. See above for valid values.string
idid is the api session id.string
typetype is the api session type. See above for valid values.string
tokenThe api session token.string
identity_idThe id of the identity that the api session belongs to.string
ip_addressThe IP address from which the identity to connected to require the api session.string

CircuitEvent

Namespace: fabric.circuits


Fields

FieldDescriptionType
namespaceThe event group. The namespace for CircuitEvents is fabric.circuitsstring
versionnumber (uint32)
event_typestring
event_src_idThe identifier of the controller which emitted the eventstring
circuit_idstring
timestampThe datetime that the event was generatedtimestamp
client_idstring
service_idstring
terminator_idstring
instance_idstring
creation_timespanduration
pathCircuitPath
link_countnumber (int)
path_costnumber (uint32)
failure_causestring
durationduration
tagsmap of string -> string

CircuitPath


Fields

FieldDescriptionType
nodeslist of string
linkslist of string
ingress_idstring
egress_idstring
initiator_local_addrstring
initiator_remote_addrstring
terminator_local_addrstring
terminator_remote_addrstring

ClusterEvent

Namespace: cluster

A ClusterEvent marks a change to the controller HA cluster. ClusterEvents can be of the following types:

  • peer.connected
  • peer.disconnected
  • members.changed
  • leadership.gained
  • leadership.lost
  • state.has_leader
  • state.is_leaderless
  • state.ro
  • state.rw

Fields

FieldDescriptionType
namespaceThe event group. The namespace for ClusterEvents is clusterstring
event_src_idThe identifier of the controller which emitted the eventstring
timestampThe datetime that the event was generatedtimestamp
eventTypeThe cluster event type. See above for set of valid types.string
indexThe raft index associated with the event.number (uint64)
peersThis field is populated with all peers when membership change events or leadership is gained. It is populated with the connecting peer for connect events and the disconnecting peer for disconnect events. For other types it is omitted.list of ClusterPeer
leaderIdThe leader id. Only populated for state.has_leader events.string

ApiAddress

An ApiAddress represents an endpoint on a controller. This may include things like REST management services and health checks.


Fields

FieldDescriptionType
urlThe URL of the API endpoint.string
versionThe version of the API endpoint. Endpoints are versioned independently of the controller version as these are expected to be stable over long periods.string

ClusterPeer

A ClusterPeer represents a controller which is a member of the cluster.


Fields

FieldDescriptionType
idThe controller id.string
addrThe address at which the controller can be reached.string
versionThe version of the controller.string
apiAddressesThe set of api addresses presented by the controller.map of string -> list of ApiAddress

ConnectEvent

Namespace: connect


Fields

FieldDescriptionType
namespaceThe event group. The namespace for ConnectEvents is connectstring
event_src_idThe identifier of the controller which emitted the eventstring
src_typestring
dst_typestring
src_idstring
src_addrstring
dst_idstring
dst_addrstring
timestampThe datetime that the event was generatedtimestamp

EntityChangeEvent

Namespace: entityChange


Fields

FieldDescriptionType
namespaceThe event group. The namespace for EntityChangeEvents is entityChangestring
eventIdstring
eventTypestring
event_src_idThe identifier of the controller which emitted the eventstring
timestampThe datetime that the event was generatedtimestamp
metadatamap of string -> object
entityTypestring
isParentEventboolean
initialStateobject
finalStateobject

EntityCountEvent

Namespace: edge.entityCounts


Fields

FieldDescriptionType
namespaceThe event group. The namespace for EntityCountEvents is edge.entityCountsstring
event_src_idThe identifier of the controller which emitted the eventstring
timestampThe datetime that the event was generatedtimestamp
countsmap of string -> number (int64)
errorstring

LinkEvent

Namespace: fabric.links


Fields

FieldDescriptionType
namespaceThe event group. The namespace for LinkEvents is fabric.linksstring
event_typestring
event_src_idThe identifier of the controller which emitted the eventstring
timestampThe datetime that the event was generatedtimestamp
link_idstring
src_router_idstring
dst_router_idstring
protocolstring
dial_addressstring
costnumber (int32)
connectionslist of LinkConnection

LinkConnection


Fields

FieldDescriptionType
idstring
local_addrstring
remote_addrstring

MetricsEvent

Namespace: metrics


Fields

FieldDescriptionType
metric_typestring
namespaceThe event group. The namespace for MetricsEvents is metricsstring
event_src_idThe identifier of the controller which emitted the eventstring
source_idstring
source_entity_idstring
versionnumber (uint32)
timestampThe datetime that the event was generatedtimestamp
metricstring
metricsmap of string -> object
tagsmap of string -> string
source_event_idstring

RouterEvent

Namespace: fabric.routers


Fields

FieldDescriptionType
namespaceThe event group. The namespace for RouterEvents is fabric.routersstring
event_typestring
event_src_idThe identifier of the controller which emitted the eventstring
timestampThe datetime that the event was generatedtimestamp
router_idstring
router_onlineboolean

SdkEvent

Namespace: sdk


Fields

FieldDescriptionType
namespaceThe event group. The namespace for SdkEvents is sdkstring
event_typestring
event_src_idThe identifier of the controller which emitted the eventstring
timestampThe datetime that the event was generatedtimestamp
identity_idstring

ServiceEvent

Namespace: services


Fields

FieldDescriptionType
namespaceThe event group. The namespace for ServiceEvents is servicesstring
versionnumber (uint32)
event_typestring
event_src_idThe identifier of the controller which emitted the eventstring
service_idstring
terminator_idstring
countnumber (uint64)
interval_start_utcnumber (int64)
interval_lengthnumber (uint64)

SessionEvent

Namespace: edge.sessions


Fields

FieldDescriptionType
namespaceThe event group. The namespace for SessionEvents is edge.sessionsstring
event_typestring
event_src_idThe identifier of the controller which emitted the eventstring
session_typestring
idstring
timestampThe datetime that the event was generatedtimestamp
tokenstring
api_session_idstring
identity_idstring
service_idstring

TerminatorEvent

Namespace: fabric.terminators


Fields

FieldDescriptionType
namespaceThe event group. The namespace for TerminatorEvents is fabric.terminatorsstring
event_typestring
event_src_idThe identifier of the controller which emitted the eventstring
timestampThe datetime that the event was generatedtimestamp
service_idstring
terminator_idstring
router_idstring
host_idstring
router_onlineboolean
precedencestring
static_costnumber (uint16)
dynamic_costnumber (uint16)
total_terminatorsnumber (int)
usable_default_terminatorsnumber (int)
usable_required_terminatorsnumber (int)

UsageEvent

Namespace: fabric.usage


Fields

FieldDescriptionType
namespaceThe event group. The namespace for UsageEvents is fabric.usagestring
versionnumber (uint32)
event_typestring
event_src_idThe identifier of the controller which emitted the eventstring
source_idstring
circuit_idstring
usagenumber (uint64)
interval_start_utcnumber (int64)
interval_lengthnumber (uint64)
tagsmap of string -> string