概要

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標準に基づく計測体系を構築したい組織:言語非依存な計測が可能であり、マイクロサービス環境での統一的オブザーバビリティを達成できます。