
オープンソースのアラートエンジン。時系列モニタリングデータに対応し、Prometheus、VictoriaMetrics、ElasticSearchなどのデータソースに接続。20以上の通知チャネル、アラートノイズ低減、エスカレーション、自己修復自動化をサポート。
既存のスタックのためのオープンソースアラート
クイックスタート · ドキュメント · ダウンロード · リリース · コミュニティ
Nightingale は、アラートルール、イベント処理、通知ルーティングを一か所にまとめます。すでに運用している Prometheus、VictoriaMetrics、Elasticsearch、Loki、ClickHouse などのデータソースを接続し、アラートを Slack、PagerDuty、およびチームが既に利用しているツールに配信します。
セルフホスト · Apache-2.0 · 組み込み AI エージェント · MCP サーバー
Git と Docker Compose がインストールされている状態で、同梱の評価用スタックを起動します:
git clone https://github.com/ccfos/nightingale.git
cd nightingale/docker/compose-bridge
docker compose up -d
これにより、Nightingale、MySQL、Redis、VictoriaMetrics、Categrafが起動します。http://localhost:17000 を開き、root / root.2020 でサインインします。
最初のアラートを受け取るには:
http://victoriametrics:8428 を使用します。vector(1) > 0 を使用し、durationを 0 に設定します。このComposeスタックはサンプルの認証情報を使用し、ローカルでの評価用にサービスポートを公開しています。共有ホストやパブリックホストにデプロイする前に、認証情報を変更し、ネットワークアクセスを確認してください。Nightingaleを実行する他の方法については、デプロイオプションを参照してください。
Nightingaleはデータソースにクエリを実行し、アラート条件を評価し、イベントを処理し、通知をルーティングします。既存のデータは現在のストアにそのまま保持されます。
可視化にはGrafanaを、スケジューリング、エスカレーション、インシデント対応にはオンコールプラットフォームを引き続き使用してください。Nightingaleには、アラートと並行してデータを探索したいチーム向けのダッシュボードも含まれています。
監視スタックなしで始める場合、スタンドアロン構成には小規模な単一インスタンスデプロイ向けのオプションの組み込みTSDBが含まれています。Categraf は、ホスト、ミドルウェア、データベース、ネットワークデバイス向けのオプションのコレクターです。
| 機能 | できること |
|---|---|
| データソースをまたぐアラート | PromQL、ログクエリ、SQLを使用して条件を定義します。同じデータソースタイプの複数インスタンスにルールを適用できます。 |
| チームのオーナーシップ | ルールとダッシュボードをビジネスグループで分類し、チームの権限を割り当て、サインイン用にOIDC、OAuth2、LDAP、CASを接続します。 |
| イベント処理とルーティング | 通知をミュートし、アラートを購読し、ラベルをエンリッチまたは書き換え、条件付きパイプラインを通じてイベントをルーティングします。 |
| アラート実行記録 | 評価クエリと結果、アクティブおよび履歴のイベント、通知配信記録を確認します。 |
| 再利用可能なインテグレーション | バンドルされたコレクター設定、アラートルール、ダッシュボードから始められます。有効化する前に、お使いの環境に合わせてクエリとしきい値を確認してください。 |
| 分散評価 | ルールを複数のアラートエンジンに分散し、n9e-edge を使用してリモートデータソースの近くでアラートを評価します。 |
通知インテグレーションには Slack、PagerDuty、Discord、Email、Telegram、Mattermost、Jira、Jira Service Management が含まれ、カスタム送信先向けにHTTP webhookとスクリプトも利用できます。設定の詳細については、ネイティブ通知チャネルリファレンスを参照してください。
自動対応には、ibex を接続して、アラート発火時に事前定義された修復スクリプトを実行できます。
Nightingaleには、Web UIで直接使用できるAIエージェントが含まれています。このエージェントはNightingale内で動作し、ツールを呼び出して監視データと設定を検査し、複数のステップにわたってタスクを処理します。
例:
このアラートはなぜ発火したのですか?トリガー時刻前後の影響を受けたホストのメトリクスとログを確認してください。
本番ホスト向けのメモリ使用量アラートを作成し、Slack でチームに通知してください。
開始するにはモデルエンドポイントを設定してください。エージェントは OpenAI 互換 API、Claude、Gemini、および互換性のあるセルフホストモデルをサポートしています。モデルサービスと認証情報はご自身で選択します。コアのアラート機能はエージェントとは独立して動作します。
モデルプロバイダーの設定 · Skill の管理 · 同梱の Skills
/mcp で動作し、デフォルトで読み取りツールを公開し、呼び出し元の既存の API 権限を適用します。書き込みツールには明示的な設定が必要です。MCP のセットアップを参照してください。データソースとビジネスグループ別にアラートルールを管理:

| オプション | 開始点 |
|---|---|
| Docker Compose によるローカル評価 | 同梱の Compose スタック |
| amd64 および arm64 向け Linux バイナリ | リリースのダウンロード と 設定リファレンス |
| Kubernetes | Helm チャートとインストール手順 |
本番環境では、リリースを固定し、認証情報と TLS を設定し、メタデータデータベースをバックアップし、ルール評価と通知の失敗を監視してください。複数の Nightingale インスタンスはメタデータデータベースと Redis を共有します。マルチインスタンスのデプロイでは外部の時系列ストレージを使用してください。組み込み TSDB は 1 つのインスタンスのローカルディスクにデータを保存します。
詳細なガイダンスとサポート対象バージョンについては、ドキュメント、インストールガイド、リリースノート、セキュリティポリシーを参照してください。
コレクターを置き換えたり、監視データを移行したりする必要はありますか?
いいえ。Nightingale は既存のデータソースを直接クエリできます。エクスポーターとコレクターはそのまま使用してください。Categraf と組み込み TSDB は、収集やローカルストレージが必要な場合に利用できます。
既存の Prometheus アラートルールをインポートできますか?
はい。ルールのインポートは Prometheus YAML をサポートしており、式、期間、ラベル、アノテーションを含みます。変換されたルールを確認し、Nightingale で通知ルーティングを再構築してください。インポートは alertmanager.yml の完全な変換ではありません。通知を切り替える前に、評価期間中は両方のシステムを並行して実行してください。
Git と CI を通じてルールを管理できますか?
ルールは JSON としてエクスポートでき、HTTP API を通じて作成または更新できるため、バージョン管理された設定を中心としたワークフローを構築できます。Nightingale は現在、組み込みのルール改訂履歴や以前のリビジョンへのロールバックを提供していません。
AI は必須ですか?モデルへのリクエストはどこに送られますか?
アラート通知はAIなしでも動作します。組み込みアシスタントは、設定されたモデルエンドポイントにプロンプトと使用データを送信します。自社ネットワーク内でホストされたモデルを使用することもできます。外部MCPクライアントは独自のモデル設定を使用します。モデルサービスの認証情報と利用コストはご自身で管理してください。