GraphiteとPrometheusは共に、ネットワーク、サーバー、その他のインフラストラクチャ、およびアプリケーションを監視するための時系列監視システムです。Prometheusは現在のトレンドかもしれませんが、Graphiteは依然として業界標準のソリューションです。
Graphiteは、ハードウェアまたはクラウドインフラストラクチャ上で動作する、エンタープライズ対応の監視ツールです。Graphiteを使用して、Webサイト、アプリケーション、システム、ビジネスサービス、ネットワークサーバーのパフォーマンスを追跡します。Graphiteは数値時系列データを保存し、このデータを使用してオンデマンドでグラフを生成します。これはプッシュ型の監視ソフトウェアであり、既に表現されているデータからメトリクスを収集します。
Graphiteのアーキテクチャは、3つの主要コンポーネントで構成されています。
Graphiteの主要なバックエンドデーモン。主な役割は、共通のプロトコルセットを介して送信される時系列データを監視することです。Graphiteに送信されたデータはすべて、そのcarbonおよびcarbon-Relayデーモンに送信され、これらのデーモンはデータの受信と管理を行う権限を持ちます。
固定サイズのデータベースは、ラウンドロビンデータベース(RRD)を目的としています。数値データを高速かつ確実に長期保存できます。Whisperは、最近のデータの高解像度(1ポイントあたり秒)を、履歴データの長期保存のために低解像度へと段階的に下げていくことができます。
Cairoを使用してオンデマンドでグラフをレンダリングするDjangoウェブアプリケーションです。このウェブアプリケーションでは、グラフの作成と表示、およびメトリッククエリのレンダリングが可能です。Hosted Graphiteでは、メトリックを表示するためのシンプルで分かりやすいダッシュボードを提供します。
指標はGraphiteのデータベースである「whisper」に収集・保存されます。Graphiteを使用することで、企業はデータをシームレスに保持、監視、視覚化できるだけでなく、特定のイベントに関するアラートを送信することも可能です。
Graphiteでは、以下の項目を監視できます。
Prometheusも、メトリクスを時系列データとして収集・集約するオープンソースの監視ソリューションです。プル型の監視ソフトウェアを採用しており、ターゲットエンドポイントに接続してHTTP経由でメトリクスを要求します。監視対象のサービスは、要求に応じてメトリクスを提供する責任を負います。これはSRE(サイト信頼性エンジニア)によって、SREのために作られたもので、高度な専門知識が前提とされています。
Prometheusのコンポーネントには以下のようなものがあります。
インスタンスを作成、実行、管理することで、Prometheusがメトリクスを探す場所を指定するサービスディスカバリを設定します。
取り込まれたメトリクスを、デフォルトで15日間、2時間ごとのブロックにグループ化して格納する、ローカルディスク上の時系列データベース。
Prometheusクエリ言語(PromQL)を使用してメトリクスを調べ、シンプルなグラフを描画します。
Graphiteの機能はシンプルです。当社が手厚くサポートします。
Because our system is your system.