このページはPrometheus公式ドキュメント和訳+αの一部です。
Pushgatewayとは
Pushgatewayは、短命のジョブやバッチジョブがメトリクスをPrometheusにexposeすることを可能にするためにある。 この種のジョブはscrapeされるほど長く存在しないので、代わりにPushgatewayにメトリクスをpushし、PushgatewayがそのメトリクスPrometheusにexposeする。
実行方法
リリースページからプラットフォームあったtar.gzファイルをダウンロードする。
基本的な設定でよければ、実行ファイルを起動するだけでよい。listenするアドレスを変更するためには、--web.listen-address
フラグを使う(例えば
0.0.0.0:9091
や:9091
)。Pushgatewayは、デフォルトではメトリクスを永続化しない。--persistence.file
フラグによって、メトリクスを永続化させるためのファイルを指定することができる。これによって、Pushgatewayを再起動してもメトリクスが存続する。
Dockerを利用する
Dockerイメージprom/pushgatewayを使えば、Pushgatewayをデプロイできる。
docker pull prom/pushgateway docker run -d -p 9091:9091 prom/pushgateway
使い方
Pushgatewayをscrape対象として設定する
Pushgatewayは、Prometheusのscrape対象として一般的な方法で設定されている必要がある。ただし、honor_labels: true
を常に設定する必要がある。
ライブラリ
PrometheusクライアントライブラリにはメトリクスをPushgatewayにpushする機能が必要である。 クライアントは、普通、Prometheusサーバーのscrapeに対して受動的にメトリクスを表示するが、pushをサポートするクライアントライブラリは、クライアントが 呼び出すpush機能を備えていなければいけない。 この機能によって、能動的に下記のAPIを利用しPushgatewayへメトリクスをpushする。
Command line
Prometheusはプロトコルがテキストなので、特別なCLIを必要とせずに簡単にメトリクスをpushすることが出来る。
curl
のようなHTTPのコマンドを使うだけでよい。あなたの好きなスクリプト言語にもこのメリットを最大化できるようなビルトインのHTTPの機能があるだろう。
注意: テキストプロトコルでは、各行末尾をLF(つまり'\n')にする必要がある。
例
- 一つのメトリクスを
{job="some_job"}
で指定されたグループにpushする
echo "some_metric 3.14" | curl --data-binary @- http://pushgateway.example.org:9091/metrics/job/some_job
- 型情報がないので、
some_metric
の型は、untyped
になる - 複雑なメトリクスを
{job="some_job",instance="some_instance"}
で指定されたグループにpushする
cat <<EOF | curl --data-binary @- http://pushgateway.example.org:9091/metrics/job/some_job/instance/some_instance # TYPE some_metric counter some_metric{label="val1"} 42 # TYPE another_metric gauge # HELP another_metric Just an example. another_metric 2398.283 EOF
{job="some_job",instance="some_instance"}
で特定される全てのメトリクスを削除する
curl -X DELETE http://pushgateway.example.org:9091/metrics/job/some_job/instance/some_instance
{job="some_job"}
で特定される全てのメトリクスを削除する。上の例で出てくる{job="some_job",instance="some_instance"}
は、同じJobラベルを持っているが削除しないことに注意すること
curl -X DELETE http://pushgateway.example.org:9091/metrics/job/some_job
参考リンク
おすすめ書籍

入門 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で活動を支援して頂けるとありがたいです。