Introduction
Nightingale (n9e) is an open-source monitoring and alerting platform designed to complement Grafana. While Grafana excels at visualization, Nightingale focuses on alert rule management, event aggregation, and team-based notification workflows. It integrates with Prometheus, VictoriaMetrics, and other TSDB backends as data sources.
What Nightingale Does
- Provides a centralized alert rule management interface for Prometheus-compatible backends
- Supports multi-datasource queries across Prometheus, VictoriaMetrics, Elasticsearch, and TDengine
- Offers built-in contact and notification channel management (email, webhook, DingTalk, Feishu, Slack)
- Manages recording rules, alerting rules, and dashboards through a web UI
- Includes RBAC-based team and business group management for enterprise use
Architecture Overview
Nightingale runs as a stateless Go server backed by MySQL for configuration storage and Redis for caching. It connects to one or more time-series databases (Prometheus, VictoriaMetrics, Thanos) as remote data sources. Alert evaluation runs inside the n9e server, which periodically queries the TSDB, evaluates rules, and dispatches notifications through configurable channels.
Self-Hosting & Configuration
- Deploy via Docker, Docker Compose, or Helm chart for Kubernetes
- Requires MySQL 5.7+ and Redis 6+ as dependencies
- Configure TSDB data sources through the web UI under System Configuration
- Set up notification channels (SMTP, webhook, etc.) in the global settings
- Use the built-in migration tool to import Prometheus alerting rules directly
Key Features
- Alert-centric design: rule templating, silencing, inhibition, and escalation policies
- Multi-tenant with business groups for organizing hosts, dashboards, and alert rules
- Built-in integration dashboard that supports PromQL and native query languages
- Self-monitoring with built-in health check endpoints and internal metrics
- Active community with Chinese and English documentation
Comparison with Similar Tools
- Grafana — excels at visualization but has less opinionated alert management; Nightingale focuses on alerting workflows
- Prometheus Alertmanager — handles routing and silencing but lacks a web UI for rule editing; Nightingale adds a full management layer
- Zabbix — traditional agent-based monitoring; Nightingale is designed for cloud-native Prometheus ecosystems
- SigNoz — full-stack APM with traces and logs; Nightingale specializes in metrics alerting
FAQ
Q: Does Nightingale replace Prometheus? A: No. It uses Prometheus (or compatible TSDBs) as a data source and adds alert management, dashboarding, and team workflows on top.
Q: Can it send alerts to Slack or PagerDuty? A: Yes. Nightingale supports webhooks, so you can integrate with Slack, PagerDuty, OpsGenie, and other services via webhook endpoints.
Q: Is Nightingale suitable for non-Kubernetes environments? A: Yes. It works with any Prometheus-compatible TSDB, regardless of whether you run Kubernetes or bare-metal servers.
Q: How does RBAC work? A: Users are organized into teams and assigned to business groups. Each business group can have its own dashboards, alert rules, and notification policies with role-based permissions.