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.
These events are consumed by more than one component. The call-home service listens on the event bus through the obs-callhome-stats container, collecting and exporting events as part of the telemetry data sent by Callhome, which facilitates system health checks, diagnostics, and customer support insights.
The Eventing Aggregator also collects events from the message bus, and makes them available for querying from a running cluster or from a support bundle.
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.
These tables describe what the Callhome service consumes. To query the events held for a cluster, refer to the Eventing Aggregator documentation.
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