Eventing
Explore this Page
Overview
Eventing enables real-time monitoring and observability by broadcasting system events across a message bus. This mechanism supports proactive operations and seamless integration with observability tools. Events are transmitted using a NATS-based event bus, which allows different components to publish and subscribe to significant system changes, such as the lifecycle operations of volumes, replicas, and pools.
Currently, the call-home service is the primary consumer of these events. It listens on the event bus through the obs-callhome-stats container, collecting and exporting the events as part of the telemetry data sent by Callhome. This facilitates system health checks, diagnostics, and customer support insights.
Events Consumed by Call-home
The following tables list the types of events currently collected and consumed by the Callhome service. Each event is categorized by resource type, action, source, and description.
Volume Events
Category |
Action |
Source |
Description |
Volume |
Create |
Control Plane |
Triggered when a volume is successfully created |
Delete |
Triggered when a volume is successfully deleted |
Replica Events
Category |
Action |
Source |
Description |
Replica |
Create |
Data Plane |
Triggered when a volume is successfully created |
Delete |
Triggered when a volume is successfully deleted |
StateChange |
Triggered upon a change in replica state |
Pool Events
Category |
Action |
Source |
Description |
Pool |
Create |
Data Plane |
Triggered when a pool is successfully created |
Delete |
Triggered when a pool is successfully deleted |
Nexus Events
Category |
Action |
Source |
Description |
Nexus |
Create |
Data Plane |
Triggered when a nexus is created |
Delete |
Triggered when a nexus is deleted |
StateChange |
Triggered when the state of a nexus changes |
RebuildBegun |
Triggered when a rebuild operation begins |
RebuildEnd |
Triggered when a rebuild operation completes |
AddChild |
Triggered when a child device is added to a nexus |
RemoveChild |
Triggered when a child device is removed from a nexus |
OnlineChild |
Triggered when a child device becomes online |
SubsystemPause |
Triggered when an I/O subsystem is paused |
SubsystemResume |
Triggered when an I/O subsystem is resumed |
Init |
Triggered when a nexus enters the initialization state |
Reconfiguring |
Triggered when a nexus enters the reconfiguring state |
Shutdown |
Triggered when a nexus is destroyed |
Node Events
Category |
Action |
Source |
Description |
Node |
StateChange |
Control Plane |
Triggered upon a change in node state |
High Availability Events
Category |
Action |
Source |
Description |
HighAvailability |
SwitchOver |
Control Plane |
Triggered during the initiation, failure, or completion of a volume switchover |
NVMe Path Events
Category |
Action |
Source |
Description |
NvmePath |
NvmePathSuspect |
Control Plane |
Triggered when an NVMe path is suspected of failure |
NvmePathFail |
Triggered when an NVMe path is confirmed as failed |
NvmePathFix |
Triggered when an NVMe controller reconnects to a nexus |
Host Initiator Events
Category |
Action |
Source |
Description |
HostInitiator |
NvmeConnect |
Data Plane |
Triggered upon a host connecting to a nexus |
NvmeDisconnect |
Triggered upon a host disconnecting from a nexus |
NvmeKeepAliveTimeout |
Triggered when a keep-alive timeout occurs on a nexus |
IO-Engine Events
Category |
Action |
Source |
Description |
IoEngineCategory |
Start |
Data Plane |
Triggered when the IO-Engine initializes |
Shutdown |
Triggered when the IO-Engine shutdown begins |
Stop |
Triggered when the IO-Engine stops |
ReactorUnfreeze |
Triggered when the IO-Engine reactor becomes healthy |
ReactorFreeze |
Triggered when the IO-Engine reactor freezes |
Snapshot and Clone Events
Category |
Action |
Source |
Description |
Snapshot |
Create |
Data Plane |
Triggered when a snapshot is successfully created |
Clone |
Delete |
Triggered when a clone is successfully created |
Benefits of Eventing
- Enables real-time visibility into system operations and state transitions.
- Supports proactive incident detection and faster troubleshooting.
- Facilitates automated workflows and integrations with monitoring tools.
Learn More