Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/mint.json
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,7 @@
"providers/documentation/monday-provider",
"providers/documentation/mongodb-provider",
"providers/documentation/mysql-provider",
"providers/documentation/nagios-provider",
"providers/documentation/netbox-provider",
"providers/documentation/netdata-provider",
"providers/documentation/new-relic-provider",
Expand Down
34 changes: 34 additions & 0 deletions docs/providers/documentation/nagios-provider.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
title: "Nagios"
sidebarTitle: "Nagios Provider"
description: "Nagios provider allows you to get alerts from Nagios into Keep by pulling host and service status, or receiving webhook notifications."
---
import AutoGeneratedSnippet from '/snippets/providers/nagios-snippet-autogenerated.mdx';

<AutoGeneratedSnippet />

## Connecting with the Provider

### Option 1: Pull-based (Nagios XI API)

1. You need a Nagios XI instance with API access enabled.
2. Go to **Admin > Manage API Keys** and create a new API key.
3. Use the Nagios XI URL and the API key to configure the provider.

### Option 2: Push-based (Webhook)

1. Configure a notification command in Nagios that sends HTTP POST requests to Keep.
2. Assign the command to a contact and configure notification rules.
3. See the webhook setup instructions in the provider configuration for details.

## Useful Links

- [Nagios](https://www.nagios.org/)
- [Nagios XI REST API](https://www.nagios.org/documentation/)
- [Nagios Core Plugin API](https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/pluginapi.html)

## Notes

- The provider supports both Nagios XI (with REST API) for pulling alerts, and webhook-based notifications for push-based alerting.
- Host states: UP (0), DOWN (1), UNREACHABLE (2)
- Service states: OK (0), WARNING (1), CRITICAL (2), UNKNOWN (3)
Binary file added keep-ui/public/icons/nagios-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
11 changes: 11 additions & 0 deletions keep/providers/nagios_provider/alerts_mock.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
ALERTS = {
"host_name": "webserver01",
"host_state": "DOWN",
"host_address": "192.168.1.100",
"service_desc": "HTTP",
"service_state": "CRITICAL",
"service_output": "CRITICAL - Socket timeout after 10 seconds",
"long_service_output": "Connection to 192.168.1.100:80 timed out",
"notification_type": "PROBLEM",
"timestamp": "1706000000",
}
Loading
Loading