Prometheusは基本的にすべてのデータを時系列データとして保存します。同じメトリックと同一のラベル付き次元セットに属するタイムスタンプ付き値のストリームです。保存された時系列データに加えて、Prometheusはクエリ結果として一時的な導出時系列データを生成する場合があります。
各時系列データは、メトリック名とオプションのキーバリューペア(ラベルと呼ばれる)によって一意に識別されます。
メトリック名
http_requests_total
- 受信したHTTPリクエストの総数)。[a-zA-Z_:][a-zA-Z0-9_:]*
に一致する必要があります。注:コロンは、ユーザー定義のレコーディングルールのために予約されています。エクスポーターや直接的なインストルメンテーションでは使用しないでください。
メトリックラベル
POST
を使用して/api/tracks
ハンドラーに送信されたすべてのHTTPリクエスト)。クエリ言語では、これらの次元に基づいてフィルタリングと集計を行うことができます。[a-zA-Z_][a-zA-Z0-9_]*
に一致する必要があります。__
(2つの"_")で始まるラベル名は、内部使用のために予約されています。メトリックとラベルの命名に関するベストプラクティスも参照してください。
サンプルは、実際の時系列データです。各サンプルは、以下で構成されます。
メトリック名とラベルのセットが与えられると、この表記法を使用して時系列データが頻繁に識別されます。
<metric name>{<label name>=<label value>, ...}
たとえば、メトリック名api_http_requests_total
とラベルmethod="POST"
およびhandler="/messages"
を持つ時系列データは、次のように記述できます。
api_http_requests_total{method="POST", handler="/messages"}
これは、OpenTSDBで使用される表記法と同じです。
このドキュメントはオープンソースです。問題点やプルリクエストを提出して、改善にご協力ください。