May 2019
Intermediate to advanced
392 pages
5h 49m
Japanese
PromQLは、Prometheus Query Language(Prometheus問い合わせ言語)の略である。末尾がQLになっているが、PromQLはあまりSQLとは似ていない。それは、時系列データに対して実行したいタイプの計算では、SQL言語の表現力は貧弱だからである。
PromQLにとってラベルはきわめて重要であり、ラベルがあればさまざまな集計ができるだけでなく、ラベルを使った算術演算で異なるメトリクスを結合できる。PromQLで使える関数は、予測、時刻の操作、数学演算など、多種多様である。
この章では、集計、基本的なデータ型、HTTP APIなど、PromQLの基本概念を説明する。
単純な集計クエリ(aggregation query)から始めよう。PromQLの用途の大半は、この種のクエリで占められることになるだろう。PromQLはその気になれば非常に強い力を発揮できるが†1、ほとんどの場合、必要とされる機能はごく単純なものに収まるはずだ。
[†1] 私はふたつの異なる方法でPromQLがチューリング完全であることを示したことがある。本番環境でこんなことはしないように。
ゲージは状態のスナップショットであり、ゲージの集計で行いたいことは、通常は合計、平均の計算と最小値、最大値の検出だろう。
マウントされている個々のファイルシステムのサイズを報告し、device、fstype、mountpointラベルを持つNode exporterのnode_filesystem_size_bytesメトリクスを取り上げてみよう。各マシンのファイルシステム全体のサイズは、次のようにして計算できる。
sum without(device, ...
Read now
Unlock full access