Prometheusについて

Prometheusは、オープン・ソース・システムの監視およびアラート用ツールキットです。様々なソースからメトリックを収集して格納します。独自の時系列データベースおよび時系列問合せ言語を備えています。Prometheusを直接使用して、メトリックのほぼリアルタイム・グラフを構築したり、プログラム可能なアラートを作成できます。Prometheusの詳細は、https://prometheus.io/docs/introduction/overview/を参照してください

Prometheusは、ネットワーク上で動作するサーバーで構成されます。Prometheusのダウンロードおよびインストールの詳細は、https://prometheus.io/docs/introduction/first_steps/を参照してください

Prometheusサーバーは、メトリックのエンドポイントの一部のセットをスクレイプ(ポーリング)するよう構成します。通常、Prometheusは各エンドポイントに/metricsドキュメントを要求するHTTPまたはHTTPS GETリクエストを送信することで、15秒ごとにメトリックをスクレイプします。

エンドポイントでは、/metricsに対するGETにメトリックを含むプレーン・テキストASCIIドキュメントで応答するHTTPまたはHTTPSサーバーを提供します。エンドポイントでは、名前、説明ラベルおよび倍精度浮動小数点値により各メトリックが識別されます。

各メトリックについて、Prometheusエクスポータではヘルプ・テキストとデータ・タイプを提供しています。エクスポータはこの情報をコメントのようなテキスト行で提供します。たとえば、各メトリックについて:
  • テキストの最初の行は#HELPで始まり、その後にメトリック名とメトリックの説明が続きます。
  • テキストの2行目は#TYPEで始まり、その後にメトリック名とPrometheusメトリック・タイプが続きます。(メトリック・タイプについては後述します。)
  • テキストの3行目はメトリック名で始まり、その後にオプションのラベル、そしてメトリックの値が続きます。
Prometheusでは、次の4つのメトリック・タイプがサポートされています。
  • counter: counterは単調に増加する単一のカウンタを表す累計メトリックで、その値はただ増加するか、または再起動時にゼロにリセットできます。一例は、実行されたSELECT文の数です。メモリーに対してTimesTenデータベースをアンロードしてロードした場合などに、一部のカウンタ値はリセットされます。Prometheusではこのような状況が自動的に処理されます。

  • gauge: gaugeは、任意に上下できる単一の数値を表すメトリックです。一例は、TimesTenデータベースの永続領域に割り当てられるバイト数です。

  • histogram: histogramは観測値をサンプリングし、構成可能なバケットでカウントします。また、観測されたすべての値の合計も示されます。

  • summary: summaryは観測値をサンプリングし、観測値の合計数と観測されたすべての値の合計を提供します。スライド時間ウィンドウにおける構成可能な分位数を計算します。

Prometheusメトリック・タイプの詳細は、https://prometheus.io/docs/concepts/metric_types/を参照してください