Overview
Niro automatically detects operational incidents by analyzing status data from your fleet. When a problem is detected, an incident is opened. When the condition clears, the incident is resolved.Automatic detection
Niro continuously evaluates cluster data for crash loops, offline clusters, node failures, and more.
Smart notifications
Route alerts to Slack, Discord, PagerDuty, or a custom webhook with per-channel severity filters.
AI investigation
One-click root cause analysis gathers logs and cluster state to explain what went wrong.
Incident lifecycle
Incidents open when conditions fire and resolve automatically when they clear.
Detected incident types
| Type | Condition |
|---|---|
cluster_offline | No status update received within the expected window |
pod_crash_looping | A pod has restarted more than N times in the recent window |
node_not_ready | A node is in NotReady state |
deployment_failed | A deployment apply resulted in Failed or Partial status |
drift_detected | Live cluster state diverges from the repo’s desired state |
image_pull_error | A pod is in ImagePullBackOff or ErrImagePull state |
Incident lifecycle
Incident opened
An incident is created in the Alerts page. Notifications are sent to all matching channels.
Investigation (optional)
If auto-investigation is enabled, Niro runs an AI root-cause analysis in the background.
You can’t manually delete a firing incident — if the condition is still active, Niro would reopen it immediately. Resolved incidents can be deleted from the Alerts page.
Notification channels
Discord
Discord
FreeNiro posts a formatted message to a Discord channel via webhook.Setup:
- In Discord: Server Settings → Integrations → Webhooks → New Webhook
- Copy the webhook URL
- In Niro: Settings → Alerts → Add Discord channel
Slack
Slack
ProNiro posts a formatted message to a Slack channel via an Incoming Webhook.Setup:
- Create an Incoming Webhook in your Slack workspace
- In Niro: Settings → Alerts → Add Slack channel with the webhook URL
PagerDuty
PagerDuty
ProNiro creates PagerDuty incidents via the Events API v2, sending
trigger on open and resolve on close.Setup:- In PagerDuty: create a service and copy its Integration Key
- In Niro: Settings → Alerts → Add PagerDuty channel with the Integration Key
Webhook
Webhook
ProNiro POSTs a JSON payload to your URL on every incident state change.Events:
incident.opened · incident.resolvedIncident.io
Incident.io
EnterpriseNiro creates Incident.io incidents directly via their API.
Minimum severity filter
Each channel has a minimum severity setting — incidents below the threshold don’t trigger that channel.| Severity | Typical use |
|---|---|
| Info | Logging webhook — capture everything |
| Warning | Slack — catch problems early |
| Error | On-call Slack — significant failures only |
| Critical | PagerDuty — severe outages requiring immediate response |
Auto-investigation
Niro can automatically run an AI investigation when incidents change state. Configure in Settings → Auto-investigation:| Mode | When investigation runs |
|---|---|
off | Never — manual only |
firing | When an incident opens |
resolved | When an incident resolves |
both | On both open and close |
Related
AI Investigation
What the investigator analyzes and what it returns.
Monitor Your Fleet
Pod inventory and cluster health views.
Plans
Notification channel availability by plan.
Multi-tenancy
Org-level alert channel configuration.