概要
Nightingaleは、CCFOSが開発・維持するオープンソースの監視・可観測性プラットフォームです。Prometheusをベースにしながら、エンタープライズグレードの機能を備えており、大規模なインフラ監視を統一的に管理できる設計になっています。2024年時点でGitHubスター数は8,000超。中国のクラウドネイティブコミュニティを中心に採用が広がり、日本でも大規模SaaS企業やクラウドネイティブなスタートアップでの導入が進行中です。
Prometheusの標準的なメトリクス収集・アラート機能に加え、アラート管理、マルチテナント対応、ダッシュボード統合などをプリセットで備えており、「Prometheusだけでは足りない」という現場のニーズに応える形で誕生しました。
主な機能
-
統合メトリクス収集:Prometheus互換のスクレイプ機能により、既存の監視スタックをそのまま移行できます。複数クラスタから同時に数百万series以上の時系列データを処理可能です。
-
高機能アラート管理:ルールエンジンを搭載し、複雑な閾値判定・異常検知・相関分析をサポート。Slack・WeChat・メール・カスタムWebhookへのマルチチャネル通知に対応しています。
-
マルチテナント・RBAC:複数の組織やチーム間でメトリクスとダッシュボードを分離・共有でき、きめ細かいロールベースアクセス制御により、セキュリティ要件を満たします。
-
統合ダッシュボード・可視化:Grafanaと類似した柔軟なダッシュボード構築機能を内蔵。カスタムプラグインによる拡張も可能で、独自の可視化ロジックを組み込めます。
-
時系列データベース統合:VictoriaMetrics・Thanos・Elasticsearch互換のバックエンドに対応し、大規模環境での水平スケーリングと長期保存を実現します。
-
オブザーバビリティプラットフォーム化:メトリクス・ログ・トレースを同一プラットフォームで相関分析でき、インシデント対応の速度向上に寄与します。
-
OpenTelemetry標準対応:OpenTelemetry Collectorを経由したメトリクス・ログ・スパン取得により、言語やフレームワークに依存しない計測が可能です。
技術スタック
- 開発言語:Go(バックエンド)、React / Vue.js(フロントエンド)、TypeScript
- ベースプラットフォーム:Prometheus互換API、Alertmanager互換インターフェース
- キャッシュ・ストレージ:Redis(キャッシング)、PostgreSQL(メタデータ)、VictoriaMetrics / InfluxDB(時系列DB)
- メッセージング:Kafka / NATS(イベント配信)
- コンテナ化:Docker / Kubernetes(Helm chartで提供)
- API仕様:RESTful / gRPC
- 可視化ライブラリ:ECharts、Plotly
- 外部連携:OpenTelemetry Collector、Prometheus Exporter、カスタムプラグイン
導入方法
Dockerコンテナでの最小構成:
docker run -d \
-p 8080:8080 \
-p 9090:9090 \
-v nightingale_data:/opt/nightingale/data \
ccfos/nightingale:latest
Kubernetesへのデプロイ:
helm repo add nightingale https://helm.nightingaleio.top
helm install nightingale nightingale/nightingale \
-n monitoring \
-f values.yaml
ソースからのビルド:
git clone https://github.com/ccfos/nightingale.git
cd nightingale
make build
./nightingale -c config.yaml
初期設定では、config.yamlでPrometheus データソースURLとアラート通知先(Slack / WeChat等)を指定します。UIは http://localhost:8080 でアクセス可能(デフォルトユーザー:admin / admin)。
競合比較
| 項目 | Nightingale | Grafana + Loki | Datadog |
|---|---|---|---|
| オープンソース | 完全オープンソース | Grafana OSS無料・商用版有料 | クローズドソース(SaaS) |
| Prometheus互換 | ネイティブ | プラグイン型 | 独自API |
| マルチテナント | 標準搭載 | 企業版でサポート | SaaS標準機能 |
| アラート管理 | 組み込み・高機能 | Alertmanager経由 | クラウドネイティブ |
| 初期構築コスト | 低(セルフホスト) | 中(Grafana統合) | 高(営業見積) |
| スケーラビリティ | 水平スケール可 | Loki+Prometheus別運用 | 無制限(SaaS) |
Nightingaleはプロメテウス互換性を保ちながらも、Grafanaやアラートマネージャーを別途構築する必要がなく、「監視の全機能がワンプラットフォーム」という統一感が強み。一方Datadog・Newrelicなどの商用SaaSは初期学習コストが低く、クラウド環境での運用負荷がほぼゼロである点で差別化します。セルフホスト環境やコスト最適化を重視する組織ではNightingaleが、スケーラビリティと管理の外部委譲を重視する場合は商用SaaSが適切という選別軸になります。
こんな人におすすめ
-
Prometheusを既に導入済みの運用チーム:Prometheus互換性により、既存の収集設定やエクスポーターをそのまま利用でき、段階的な移行が容易です。
-
複数の環境・テナントを管理する事業者・MSP:マルチテナント機能とRBACにより、顧客ごとのメトリクス分離とダッシュボード管理を一元化できます。
-
インフラコストの最適化を急ぐスタートアップ:セルフホストで完全無料運用が可能であり、Datadog等の高額SaaSライセンス費を削減できます。
-
可観測性を統合管理したいDevOpsエンジニア:メトリクス・ログ・トレース相関分析により、インシデント対応の平均検出時間(MTTD)短縮を実現します。
-
OpenTelemetry標準に基づく計測体系を構築したい組織:言語非依存な計測が可能であり、マイクロサービス環境での統一的オブザーバビリティを達成できます。