Prometheusは、高次元の時系列データモデルを実装しており、基本的にすべてのデータを時系列として保存します。
時系列は「メトリック名」+「ラベル(一連のキーと値のペア)」によって一意に識別されます。
同じメトリックおよび同じラベル付きディメンションのセットに属するタイムスタンプ付き値のストリームとして処理します。保存された時系列に加えて、クエリ結果として一時的に派生した時系列を生成する場合があります。
→Prometheus →DOCS →CONCEPTS →DATA MODEL
Prometheusにおいて、時系列データの収集はHTTP経由のプルモデルを介して行われます。
HTTPをプルすることには、多くの利点があります。
・変更時にラップトップで監視を実行できる
・ターゲットがダウンしているかどうかをより簡単に確認できる
・手動でターゲットに移動し、Webブラウザでその状態を検査できる など
Prometheusプロジェクトでは「プルモデルはプッシュモデルよりもわずかに優れている」と考えていますが、監視システムを検討する場合、対象ケースに最適な監視ツールを導入することを推奨しています。
Prometheusクライアントライブラリは、4つのコアメトリックタイプを提供します。
これらは、特定タイプの使用に合わせて調整されたAPIを有効にするため、「クライアントライブラリ」と「ワイヤープロトコル」でのみ区別されています。
→Prometheus →DOCS →CONCEPTS →METRIC TYPES
カウンタは単一の累積メトリックとして「単調増加カウンタ値」のみ扱えます。
・処理された要求カウント
・完了したタスクカウント
・エラー数カウント など
カウンタは「実行中のプロセスの数」などの減少する可能性のある値には使用できません。
このような場合には「②ゲージ」を使用します。
ゲージは、任意に数値の上下を表現できるメトリックです。
数値上下できる「カウント」のように使用できます。
・温度
・現在のメモリ使用量
・同時リクエスト数 など
リクエスト期間などのヒストグラム観測を実施できます。
すべての観測値の合計も提供します。
「histogram_quantile()関数」を使用して、ヒストグラムまたはヒストグラム集計から分位点を計算できます。
ヒストグラムは「Apdexスコア計算」などにも適しています。
「観測の合計数」や「すべての観測値の合計」などを提供します。
スライディングタイムウィンドウで設定可能な変位値を計算できます。
Prometheusの用語として、スクレイピングできるエンドポイントは「インスタンス」と呼ばれ、通常は単一のプロセスに対応します。
「ジョブ」は、スケーラビリティや信頼性のために複製されたプロセスを持つインスタンスのコレクションを指します。
→Prometheus →DOCS →CONCEPTS →JOBS AND INSTANCES
Prometheusはターゲットをスクレイピングする場合、スクレイピングされた時系列に対して、スクレイピングされたターゲットを識別するのに役立ついくつかのラベルを自動的に添付します。
OSS×Cloud ACCESS RANKING