KE

/claim #3960

Closes #3960

Proposed Changes

Adds a new Nagios XI provider for monitoring integration. This provider enables Keep to pull alerts from Nagios XI and receive webhook notifications.

Features

  • Pull alerts: Queries the Nagios XI REST API for service problems (WARNING/CRITICAL/UNKNOWN) and host problems (DOWN/UNREACHABLE)
  • Push alerts (webhook): Accepts webhook payloads from Nagios notification commands, supporting both host and service alert formats
  • Acknowledge problems: Supports acknowledging host and service problems via the Nagios XI command API
  • Severity mapping: Maps Nagios states (OK/WARNING/CRITICAL/UNKNOWN for services; UP/DOWN/UNREACHABLE for hosts) to Keep severity levels
  • Status mapping: Handles acknowledged, firing, and resolved states
  • SSL verification toggle: Supports self-signed certificates

Files Added

  • keep/providers/nagios_provider/nagios_provider.py — Main provider implementation
  • keep/providers/nagios_provider/alerts_mock.py — Mock alert data for testing
  • keep/providers/nagios_provider/README.md — Documentation with setup instructions
  • keep/providers/nagios_provider/__init__.py

Architecture

The provider follows the established Keep provider pattern:

  • Extends BaseProvider with NagiosProviderAuthConfig for authentication
  • Implements _get_alerts() for pull-based alert ingestion
  • Implements _format_alert() static method for webhook-based push ingestion
  • Implements validate_scopes() for API connectivity verification
  • Uses ProviderScope and ProviderMethod for capability declaration

Provider Category

  • Category: Monitoring
  • Tags: alert

Proof

The provider follows the exact same pattern as existing monitoring providers (Zabbix, Checkmk). Key design decisions:

  • Uses Nagios XI REST API v1 (/api/v1/objects/servicestatus, /api/v1/objects/hoststatus)
  • API key authentication via query parameter (standard Nagios XI pattern)
  • Acknowledges problems via /api/v1/system/command endpoint
  • Webhook format is flexible, accepting both Nagios macro variables and custom JSON payloads

Checklist

  • PR created against main branch
  • Follows existing provider patterns (Zabbix, Checkmk)
  • Documentation added (README.md)
  • Mock alerts provided for testing

Claim

Total prize pool $30
Total paid $0
Status Pending
Submitted February 16, 2026
Last updated February 16, 2026

Contributors

HA

Harmatta

@Harmatta

100%

Sponsors

KE

Keep (YC W23)

@keephq

$30