events
sidebar_label: Events
sidebar_position: 50
Events
The ziti controller can emit kinds of events, useful for monitoring, management and integration with other systems. They can be enabled in the controller configuration.
Event Types
- ApiSessionEvent
- CircuitEvent
- ClusterEvent
- ConnectEvent
- EntityChangeEvent
- EntityCountEvent
- LinkEvent
- MetricsEvent
- RouterEvent
- SdkEvent
- ServiceEvent
- SessionEvent
- TerminatorEvent
- UsageEvent
== ApiSessionEvent
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.
=== Namespace
The namespace for ApiSessionEvents is edge.apiSessions
=== Fields
- namespace
- Desc: namespace is the event group. The namespace for ApiSessionEvents is edge.apiSessions
- Type: string
- event_type
- Desc: event_type indicates the type api session event. One of ["created", "deleted", "refreshed", "exchanged"]
- Type: string
- event_src_id
- Desc: event_src_id is the identifier of the controller which emitted the event
- Type: string
- id
- Desc: id is the api session id
- Type: string
- type
- Desc: type is the api session type, one of ["legacy", "jwt"]
- Type: string
- timestamp
- Desc: timestamp is the datetime that the event was generated
- Type: string containing an RFC3339 formatted timestamp (example: "2024-10-02T12:17:39.501821249-04:00")
- token
- Desc: token is the api session token
- Type: string
- identity_id
- Desc: identity_id is the id of the identity that the api session belongs to
- Type: string
- ip_address
- Desc: ip_address is the IP address from which the identity to connected to require the api session
- Type: string
== CircuitEvent
=== Namespace
The namespace for CircuitEvents is fabric.circuits
=== Fields
- namespace
- Desc: namespace is the event group. The namespace for CircuitEvents is fabric.circuits
- Type: string
- version
- Desc:
- Type: number (uint32)
- event_type
- Desc:
- Type: string
- event_src_id
- Desc: event_src_id is the identifier of the controller which emitted the event
- Type: string
- circuit_id
- Desc:
- Type: string
- timestamp
- Desc: timestamp is the datetime that the event was generated
- Type: string containing an RFC3339 formatted timestamp (example: "2024-10-02T12:17:39.501821249-04:00")
- client_id
- Desc:
- Type: string
- service_id
- Desc:
- Type: string
- terminator_id
- Desc:
- Type: string
- instance_id
- Desc:
- Type: string
- creation_timespan
- Desc:
- Type: string containing a duration. Examples: "1s", "5m", "3h"
- path
- Desc:
- Type: CircuitPath
- link_count
- Desc:
- Type: number (int)
- path_cost
- Desc:
- Type: number (uint32)
- failure_cause
- Desc:
- Type: string
- duration
- Desc:
- Type: string containing a duration. Examples: "1s", "5m", "3h"
- tags
- Desc:
- Type: map of string -> string
=== CircuitPath
==== Fields
- nodes
- Desc:
- Type: list of string
- links
- Desc:
- Type: list of string
- ingress_id
- Desc:
- Type: string
- egress_id
- Desc:
- Type: string
- initiator_local_addr
- Desc:
- Type: string
- initiator_remote_addr
- Desc:
- Type: string
- terminator_local_addr
- Desc:
- Type: string
- terminator_remote_addr
- Desc:
- Type: string
== ClusterEvent
=== Namespace
The namespace for ClusterEvents is cluster
=== Fields
- namespace
- Desc: namespace is the event group. The namespace for ClusterEvents is cluster
- Type: string
- eventType
- Desc:
- Type: string
- event_src_id
- Desc: event_src_id is the identifier of the controller which emitted the event
- Type: string
- timestamp
- Desc: timestamp is the datetime that the event was generated
- Type: string containing an RFC3339 formatted timestamp (example: "2024-10-02T12:17:39.501821249-04:00")
- index
- Desc:
- Type: number (uint64)
- peers
- Desc:
- Type: list of ClusterPeer
- leaderId
- Desc:
- Type: string
=== ApiAddress
==== Fields
- url
- Desc:
- Type: string
- version
- Desc:
- Type: string
=== ClusterPeer
==== Fields
- id
- Desc:
- Type: string
- addr
- Desc:
- Type: string
- version
- Desc:
- Type: string
- apiAddresses
- Desc:
- Type: map of string -> list of ApiAddress
== ConnectEvent
=== Namespace
The namespace for ConnectEvents is connect
=== Fields
- namespace
- Desc: namespace is the event group. The namespace for ConnectEvents is connect
- Type: string
- event_src_id
- Desc: event_src_id is the identifier of the controller which emitted the event
- Type: string
- src_type
- Desc:
- Type: string
- dst_type
- Desc:
- Type: string
- src_id
- Desc:
- Type: string
- src_addr
- Desc:
- Type: string
- dst_id
- Desc:
- Type: string
- dst_addr
- Desc:
- Type: string
- timestamp
- Desc: timestamp is the datetime that the event was generated
- Type: string containing an RFC3339 formatted timestamp (example: "2024-10-02T12:17:39.501821249-04:00")
== EntityChangeEvent
=== Namespace
The namespace for EntityChangeEvents is entityChange
=== Fields
- namespace
- Desc: namespace is the event group. The namespace for EntityChangeEvents is entityChange
- Type: string
- eventId
- Desc:
- Type: string
- eventType
- Desc:
- Type: string
- event_src_id
- Desc: event_src_id is the identifier of the controller which emitted the event
- Type: string
- timestamp
- Desc: timestamp is the datetime that the event was generated
- Type: string containing an RFC3339 formatted timestamp (example: "2024-10-02T12:17:39.501821249-04:00")
- metadata
- Desc:
- Type: map of string -> object
- entityType
- Desc:
- Type: string
- isParentEvent
- Desc:
- Type: boolean
- initialState
- Desc:
- Type: object
- finalState
- Desc:
- Type: object
== EntityCountEvent
=== Namespace
The namespace for EntityCountEvents is edge.entityCounts
=== Fields
- namespace
- Desc: namespace is the event group. The namespace for EntityCountEvents is edge.entityCounts
- Type: string
- event_src_id
- Desc: event_src_id is the identifier of the controller which emitted the event
- Type: string
- timestamp
- Desc: timestamp is the datetime that the event was generated
- Type: string containing an RFC3339 formatted timestamp (example: "2024-10-02T12:17:39.501821249-04:00")
- counts
- Desc:
- Type: map of string -> number (int64)
- error
- Desc:
- Type: string
== LinkEvent
=== Namespace
The namespace for LinkEvents is fabric.links
=== Fields
- namespace
- Desc: namespace is the event group. The namespace for LinkEvents is fabric.links
- Type: string
- event_type
- Desc:
- Type: string
- event_src_id
- Desc: event_src_id is the identifier of the controller which emitted the event
- Type: string
- timestamp
- Desc: timestamp is the datetime that the event was generated
- Type: string containing an RFC3339 formatted timestamp (example: "2024-10-02T12:17:39.501821249-04:00")
- link_id
- Desc:
- Type: string
- src_router_id
- Desc:
- Type: string
- dst_router_id
- Desc:
- Type: string
- protocol
- Desc:
- Type: string
- dial_address
- Desc:
- Type: string
- cost
- Desc:
- Type: number (int32)
- connections
- Desc:
- Type: list of LinkConnection
=== LinkConnection
==== Fields
- id
- Desc:
- Type: string
- local_addr
- Desc:
- Type: string
- remote_addr
- Desc:
- Type: string
== MetricsEvent
=== Namespace
The namespace for MetricsEvents is metrics
=== Fields
- metric_type
- Desc:
- Type: string
- namespace
- Desc: namespace is the event group. The namespace for MetricsEvents is metrics
- Type: string
- event_src_id
- Desc: event_src_id is the identifier of the controller which emitted the event
- Type: string
- source_id
- Desc:
- Type: string
- source_entity_id
- Desc:
- Type: string
- version
- Desc:
- Type: number (uint32)
- timestamp
- Desc: timestamp is the datetime that the event was generated
- Type: string containing an RFC3339 formatted timestamp (example: "2024-10-02T12:17:39.501821249-04:00")
- metric
- Desc:
- Type: string
- metrics
- Desc:
- Type: map of string -> object
- tags
- Desc:
- Type: map of string -> string
- source_event_id
- Desc:
- Type: string
== RouterEvent
=== Namespace
The namespace for RouterEvents is fabric.routers
=== Fields
- namespace
- Desc: namespace is the event group. The namespace for RouterEvents is fabric.routers
- Type: string
- event_type
- Desc:
- Type: string
- event_src_id
- Desc: event_src_id is the identifier of the controller which emitted the event
- Type: string
- timestamp
- Desc: timestamp is the datetime that the event was generated
- Type: string containing an RFC3339 formatted timestamp (example: "2024-10-02T12:17:39.501821249-04:00")
- router_id
- Desc:
- Type: string
- router_online
- Desc:
- Type: boolean
== SdkEvent
=== Namespace
The namespace for SdkEvents is sdk
=== Fields
- namespace
- Desc: namespace is the event group. The namespace for SdkEvents is sdk
- Type: string
- event_type
- Desc:
- Type: string
- event_src_id
- Desc: event_src_id is the identifier of the controller which emitted the event
- Type: string
- timestamp
- Desc: timestamp is the datetime that the event was generated
- Type: string containing an RFC3339 formatted timestamp (example: "2024-10-02T12:17:39.501821249-04:00")
- identity_id
- Desc:
- Type: string
== ServiceEvent
=== Namespace
The namespace for ServiceEvents is services
=== Fields
- namespace
- Desc: namespace is the event group. The namespace for ServiceEvents is services
- Type: string
- version
- Desc:
- Type: number (uint32)
- event_type
- Desc:
- Type: string
- event_src_id
- Desc: event_src_id is the identifier of the controller which emitted the event
- Type: string
- service_id
- Desc:
- Type: string
- terminator_id
- Desc:
- Type: string
- count
- Desc:
- Type: number (uint64)
- interval_start_utc
- Desc:
- Type: number (int64)
- interval_length
- Desc:
- Type: number (uint64)
== SessionEvent
=== Namespace
The namespace for SessionEvents is edge.sessions
=== Fields
- namespace
- Desc: namespace is the event group. The namespace for SessionEvents is edge.sessions
- Type: string
- event_type
- Desc:
- Type: string
- event_src_id
- Desc: event_src_id is the identifier of the controller which emitted the event
- Type: string
- session_type
- Desc:
- Type: string
- id
- Desc:
- Type: string
- timestamp
- Desc: timestamp is the datetime that the event was generated
- Type: string containing an RFC3339 formatted timestamp (example: "2024-10-02T12:17:39.501821249-04:00")
- token
- Desc:
- Type: string
- api_session_id
- Desc:
- Type: string
- identity_id
- Desc:
- Type: string
- service_id
- Desc:
- Type: string
== TerminatorEvent
=== Namespace
The namespace for TerminatorEvents is fabric.terminators
=== Fields
- namespace
- Desc: namespace is the event group. The namespace for TerminatorEvents is fabric.terminators
- Type: string
- event_type
- Desc:
- Type: string
- event_src_id
- Desc: event_src_id is the identifier of the controller which emitted the event
- Type: string
- timestamp
- Desc: timestamp is the datetime that the event was generated
- Type: string containing an RFC3339 formatted timestamp (example: "2024-10-02T12:17:39.501821249-04:00")
- service_id
- Desc:
- Type: string
- terminator_id
- Desc:
- Type: string
- router_id
- Desc:
- Type: string
- host_id
- Desc:
- Type: string
- router_online
- Desc:
- Type: boolean
- precedence
- Desc:
- Type: string
- static_cost
- Desc:
- Type: number (uint16)
- dynamic_cost
- Desc:
- Type: number (uint16)
- total_terminators
- Desc:
- Type: number (int)
- usable_default_terminators
- Desc:
- Type: number (int)
- usable_required_terminators
- Desc:
- Type: number (int)
== UsageEvent
=== Namespace
The namespace for UsageEvents is fabric.usage
=== Fields
- namespace
- Desc: namespace is the event group. The namespace for UsageEvents is fabric.usage
- Type: string
- version
- Desc:
- Type: number (uint32)
- event_type
- Desc:
- Type: string
- event_src_id
- Desc: event_src_id is the identifier of the controller which emitted the event
- Type: string
- source_id
- Desc:
- Type: string
- circuit_id
- Desc:
- Type: string
- usage
- Desc:
- Type: number (uint64)
- interval_start_utc
- Desc:
- Type: number (int64)
- interval_length
- Desc:
- Type: number (uint64)
- tags
- Desc:
- Type: map of string -> string