by ccfos
Open-source, self-hosted alerting for metrics, logs, and databases. Includes a built-in AI agent and MCP server.
# Add to your Claude Code skills
git clone https://github.com/ccfos/nightingaleLast scanned: 10/14/2026
{
"issues": [
{
"file": "aiagent/skill/embedded/builtin/categraf-deploy-guide/SKILL.md",
"line": 49,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -sSfL 'http://N9E_HOST:17000/api/n9e/agents/categraf/install.sh' | sudo bas\"",
"severity": "medium"
},
{
"file": "aiagent/skill/embedded/builtin/modify-task-tpl/SKILL.md",
"line": 261,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl <non-whitelisted URL> \\| sh\"",
"severity": "medium"
},
{
"file": "aiagent/skill/embedded/builtin/modify-task-tpl/SKILL.md",
"line": 256,
"type": "dangerous-command",
"message": "Dangerous command (recursive delete of home/root): \"rm -rf /*\"",
"severity": "medium"
}
],
"status": "PASSED",
"scannedAt": "2026-10-14T09:18:02.645Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}nightingale is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by ccfos. Open-source, self-hosted alerting for metrics, logs, and databases. Includes a built-in AI agent and MCP server. It has 13,342 GitHub stars.
Yes. nightingale passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/ccfos/nightingale" and add it to your Claude Code skills directory (see the Installation section above).
nightingale is primarily written in Go. It is open-source under ccfos on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh nightingale against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Nightingale brings alert rules, event processing, and notification routing into one place. Connect Prometheus, VictoriaMetrics, Elasticsearch, Loki, ClickHouse, and other data sources you already run, then deliver alerts to Slack, PagerDuty, and your team's existing tools.
Self-hosted · Apache-2.0 · Built-in AI agent · MCP server
With Git and Docker Compose installed, start the included evaluation stack:
git clone https://github.com/ccfos/nightingale.git
cd nightingale/docker/compose-bridge
docker compose up -d
This starts Nightingale, MySQL, Redis, VictoriaMetrics, and Categraf. Open http://localhost:17000 and sign in with root / root.2020.
To get your first alert:
http://victoriametrics:8428 for the VictoriaMetrics instance in this Compose stack.vector(1) > 0 and set the duration to 0.The Compose stack uses example credentials and exposes service ports for local evaluation. Change credentials and review network access before deploying on a shared or public host. See deployment options for other ways to run Nightingale.
Nightingale queries your data sources, evaluates alert conditions, processes events, and routes notifications. Your existing data stays in its current stores.
Keep Grafana for visualization and your on-call platform for scheduling, escalation, and incident response. Nightingale also includes dashboards for teams that want to explore data alongside their alerts.
Starting without a monitoring stack? The standalone configuration includes an optional embedded TSDB for small, single-instance deployments. Categraf is an optional collector for hosts, middleware, databases, and network devices.
| Capability | What you can do |
|---|---|
| Alerting across data sources | Use PromQL, log queries, or SQL to define conditions. Apply a rule to multiple instances of the same data source type. |
| Team ownership | Group rules and dashboards by business group, assign team permissions, and connect OIDC, OAuth2, LDAP, or CAS for sign-in. |
| Event processing and routing | Mute notifications, subscribe to alerts, enrich or rewrite labels, and route events through conditional pipelines. |
| Alert execution records | Review evaluation queries and results, active and historical events, and notification delivery records. |
| Reusable integrations | Start with bundled collector configurations, alert rules, and dashboards. Review queries and thresholds for your environment before enabling them. |
| Distributed evaluation | Distribute rules across alerting engines and use n9e-edge to evaluate alerts close to remote data sources. |
Notification integrations include Slack, PagerDuty, Discord, Email, Telegram, Mattermost, Jira, and Jira Service Management, with HTTP webhooks and scripts for custom destinations. See the native notification channel reference for configuration details.
For automated responses, connect ibex to run predefined remediation scripts when an alert fires.
Nightingale includes an AI agent you can use directly in the web UI. The agent runs inside Nightingale, calls tools to inspect your monitoring data and configuration, and works through tasks over multiple steps.
For example:
Why did this alert fire? Check the affected host's metrics and logs around the trigger time.
Create a memory-usage alert for the production hosts and notify our team in Slack.
Configure a model endpoint to get started. The agent supports OpenAI-compatible APIs, Claude, Gemini, and compatible self-hosted models. You choose the model service and credentials; core alerting works independently of the agent.
Model provider configuration · Skill management · Bundled Skills
/mcp, exposes read tools by default, and applies the caller's existing API permissions. Write tools require explicit configuration. See MCP setup.Manage alert rules by data source and business group:

| Option | Start here |
|---|---|
| Local evaluation with Docker Compose | Included Compose stack |
| Linux binaries for amd64 and arm64 | Release downloads and configuration reference |
| Kubernetes | Helm chart and installation instructions |
For production, pin a release, configure credentials and TLS, back up the metadata database, and monitor rule evaluation and notification failures. Multiple Nightingale instances share a metadata database and Redis; use external time-series storage for a multi-instance deployment. The embedded TSDB stores data on one instance's local disk.
See the documentation, the installation guide, release notes, and security policy for further guidance and supported versions.
Do I need to replace my collectors or move my monitoring data?
No. Nightingale can query your existing data sources directly. Keep your exporters and collectors. Categraf and the embedded TSDB are available when you need collection or local storage.
Can I import existing Prometheus alert rules?
Yes. The rule import supports Prometheus YAML, including expressions, durations, labels, and annotations. Review the converted rules and rebuild notification routing in Nightingale. Import is not a complete conversion of alertmanager.yml; run both systems during evaluation before switching notifications over.
Can I manage rules through Git and CI?
Rules can be exported as JSON and created or updated through the HTTP API, so you can build a workflow around version-c