Description
This PR adds a new Nagios provider that enables Keep to receive alerts from Nagios via webhook notifications.
Changes
- ✅ Implement webhook-based Nagios provider
- ✅ Support both host and service notifications
- ✅ Handle all Nagios notification types (PROBLEM, RECOVERY, ACKNOWLEDGEMENT, FLAPPING, DOWNTIME)
- ✅ Map Nagios states to Keep severity/status
- ✅ Add comprehensive documentation with setup instructions
- ✅ Include Nagios icon
- ✅ Add provider to overview page and mint.json
Implementation Details
The provider follows the same webhook pattern as other monitoring providers (Checkmk, Icinga2, LibreNMS). It:
- Accepts webhook POST requests from Nagios notification commands
- Parses both host and service alert payloads
- Generates stable alert IDs based on host/service names
- Maps Nagios states (OK/WARNING/CRITICAL/UNKNOWN/UP/DOWN/UNREACHABLE) to Keep severities
- Handles notification types for proper alert lifecycle (firing/resolved/acknowledged/suppressed)
Testing
Tested with mock alert data covering:
- Service alerts (WARNING, CRITICAL, RECOVERY)
- Host alerts (DOWN, UP, UNREACHABLE)
- Acknowledgements and downtime notifications
Documentation
Complete setup guide included in docs/providers/documentation/nagios-provider.mdx with:
- Notification command definitions for both hosts and services
- Contact and contact group configuration
- All supported Nagios macros
- Links to official Nagios documentation
Closes #3960
/claim #3960