13章PromQL入門

PromQLは、Prometheus Query Language(Prometheus問い合わせ言語)の略である。末尾がQLになっているが、PromQLはあまりSQLとは似ていない。それは、時系列データに対して実行したいタイプの計算では、SQL言語の表現力は貧弱だからである。

PromQLにとってラベルはきわめて重要であり、ラベルがあればさまざまな集計ができるだけでなく、ラベルを使った算術演算で異なるメトリクスを結合できる。PromQLで使える関数は、予測、時刻の操作、数学演算など、多種多様である。

この章では、集計、基本的なデータ型、HTTP APIなど、PromQLの基本概念を説明する。

13.1 集計の基礎

単純な集計クエリ(aggregation query)から始めよう。PromQLの用途の大半は、この種のクエリで占められることになるだろう。PromQLはその気になれば非常に強い力を発揮できるが†1、ほとんどの場合、必要とされる機能はごく単純なものに収まるはずだ。

[†1] 私はふたつの異なる方法でPromQLがチューリング完全であることを示したことがある。本番環境でこんなことはしないように。

13.1.1 ゲージ

ゲージは状態のスナップショットであり、ゲージの集計で行いたいことは、通常は合計、平均の計算と最小値、最大値の検出だろう。

マウントされている個々のファイルシステムのサイズを報告し、devicefstypemountpointラベルを持つNode exporterのnode_filesystem_size_bytesメトリクスを取り上げてみよう。各マシンのファイルシステム全体のサイズは、次のようにして計算できる。

sum without(device, ...

Get 入門 Prometheus ―インフラとアプリケーションのパフォーマンスモニタリング now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.