このページはPrometheus公式ドキュメント和訳+αの一部です。
Prometheusは、根本的に、全てのデータを時系列(同じメトリックで同じ値を持つラベルの集合に属する一連のタイムスタンプ付きの値)として保存する。 Prometheusは、クエリの結果として、一時的に派生した時系列を生成することもある。
メトリック名とラベル
各時系列は、メトリック名とキー・バリューの組み合わせ(ラベルとも言う)の集合により、ユニークに特定される。
メトリック名は、システムの測定される一般的な機能(例えば、http_requests_total
受信したHTTPリクエスの合計)を特定する。
メトリック名は、ASCIIの文字と数字およびコロンとアンダースコアを含むことができ、
正規表現[a-zA-Z_:][a-zA-Z0-9_:]*
にマッチしなければいけない。
注意: コロンは、ユーザー定義のレコーディングルールのために予約されており、exporterや直接のinstrumentationで利用してはいけない。
ラベルによって、Prometheusの多次元データモデルが可能になっている。
同じ名前のメトリック名に対して与えられたラベルの組み合わせによって、そのメトリックの特定の具体的な要素(例えば、/api/tracks
に対する全てのPOST
メソッドのHTTPリクエスト)を指定する。
クエリ言語によって、これらの次元に基づいた抽出と集約が可能となる。
ラベルの値を変更したり、ラベルを追加・削除したりすると、新しい時系列が作成される。
ラベル名は、ASCIIの文字、数字、およびアンダースコアを含むことが可能で、
正規表現[a-zA-Z_][a-zA-Z0-9_]*
にマッチしなければならない。
__
で始まるラベル名は内部利用のために予約されている。
ラベルの値は、任意のUnicode文字を含むことが可能である。
メトリック名とラベル名ベストプラクティスも参照すること。
サンプル
サンプルが実際の時系列データを構成する。 各サンプルは以下のデータから成る。
- float64の値
- ミリ秒精度のタイムスタンプ
記法
メトリック名とラベルの集合に対して、時系列は、よく、この記法を用いて指定される。
<metric name>{<label name>=<label value>, ...}
例えば、api_http_requests_total
というメトリック名およびmethod="POST"
とhandler="/messages"
というラベルを持つ時系列は下記のように記述される。
api_http_requests_total{method="POST", handler="/messages"}
これは、OpenTSDBで用いられる記法と同じである。
参考リンク
おすすめ書籍

入門 Prometheus ―インフラとアプリケーションのパフォーマンスモニタリング
- 作者: Brian Brazil,須田一輝,長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2019/05/18
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る

- 作者: Mike Julian,松浦隼人
- 出版社/メーカー: オライリージャパン
- 発売日: 2019/01/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る

SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム
- 作者: 澤田武男,関根達夫,細川一茂,矢吹大輔,Betsy Beyer,Chris Jones,Jennifer Petoff,Niall Richard Murphy,Sky株式会社玉川竜司
- 出版社/メーカー: オライリージャパン
- 発売日: 2017/08/12
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
和訳活動の支援
Prometheusドキュメント和訳が役に立った方は、以下QRコードからPayPayで活動を支援して頂けるとありがたいです。