promtool

Prometheus監視システム用のツール。

フラグ

フラグ 説明
-h, --help コンテキストに応じたヘルプを表示します(--help-longと--help-manも試してください)。
--version アプリケーションバージョンを表示します。
--experimental 実験的なコマンドを有効にします。
--enable-feature 有効にする機能名をカンマ区切りで指定します(PromQL関連およびno-default-scrape-portのみ)。オプションと詳細については、https://prometheus.dokyumento.jp/docs/prometheus/latest/feature_flags/を参照してください。

コマンド

コマンド 説明
help ヘルプを表示します。
check リソースの有効性をチェックします。
query Prometheusサーバーに対してクエリを実行します。
debug デバッグ情報を取得します。
push Prometheusサーバーにプッシュします。
test 単体テスト。
tsdb tsdbコマンドを実行します。
promql PromQLのフォーマットと編集。 --experimentalフラグが必要です。

promtool help

ヘルプを表示します。

引数

引数 説明
command コマンドのヘルプを表示します。

promtool check

リソースの有効性をチェックします。

フラグ

フラグ 説明
--extended メトリクスのカーディナリティに関する拡張情報を表示します。
promtool check service-discovery

指定されたジョブ名に対してサービスディスカバリを実行し、再ラベル付けを含む結果を報告します。

フラグ
フラグ 説明 デフォルト
--timeout ディスカバリ結果を待つ時間。 30秒
引数
引数 説明 必須
config-file prometheus設定ファイル。 はい
job サービスディスカバリを実行するジョブ。 はい
promtool check config

設定ファイルが有効かどうかを確認します。

フラグ
フラグ 説明 デフォルト
--syntax-only 設定で参照されているファイルとコンテンツの検証を無視して、設定ファイルの構文のみをチェックします
--lint 設定で指定されたルールに適用するリンティングチェック。使用可能なオプションは、all、duplicate-rules、noneです。リンティングを無効にするには、--lint = noneを使用します duplicate-rules
--lint-fatal lintエラーを終了コード3で終了させます。 false
--agent エージェントモードのPrometheusの設定ファイルを確認します。
引数
引数 説明 必須
config-files チェックする設定ファイル。 はい
promtool check web-config

Web設定ファイルが有効かどうかを確認します。

引数
引数 説明 必須
web-config-files チェックする設定ファイル。 はい
promtool check healthy

Prometheusサーバーが正常かどうかを確認します。

フラグ
フラグ 説明 デフォルト
--http.config.file promtoolがPrometheusに接続するためのHTTPクライアント設定ファイル。
--url PrometheusサーバーのURL。 http://localhost:9090
promtool check ready

Prometheusサーバーの準備ができているかどうかを確認します。

フラグ
フラグ 説明 デフォルト
--http.config.file promtoolがPrometheusに接続するためのHTTPクライアント設定ファイル。
--url PrometheusサーバーのURL。 http://localhost:9090
promtool check rules

ルールファイルが有効かどうかを確認します。

フラグ
フラグ 説明 デフォルト
--lint 適用するリンティングチェック。使用可能なオプションは、all、duplicate-rules、noneです。リンティングを無効にするには、--lint = noneを使用します duplicate-rules
--lint-fatal lintエラーを終了コード3で終了させます。 false
引数
引数 説明
rule-files チェックするルールファイル。デフォルトは標準入力から読み取られます。
promtool check metrics

Prometheusメトリックをstdin経由で渡して、整合性と正確性をリンティングします。

$ cat metrics.prom | promtool check metrics

$ curl -s http://localhost:9090/metrics | promtool check metrics

promtool query

Prometheusサーバーに対してクエリを実行します。

フラグ

フラグ 説明 デフォルト
-o, --format クエリの出力形式。 promql
--http.config.file promtoolがPrometheusに接続するためのHTTPクライアント設定ファイル。
promtool query instant

インスタントクエリを実行します。

フラグ
フラグ 説明
--time クエリ評価時間(RFC3339またはUnixタイムスタンプ)。
引数
引数 説明 必須
server クエリするPrometheusサーバー。 はい
expr PromQLクエリ式。 はい
promtool query range

範囲クエリを実行します。

フラグ
フラグ 説明
--header サーバーに送信する追加のヘッダー。
--start クエリ範囲の開始時刻(RFC3339またはUnixタイムスタンプ)。
--end クエリ範囲の終了時刻(RFC3339またはUnixタイムスタンプ)。
--step クエリのステップサイズ(期間)。
引数
引数 説明 必須
server クエリするPrometheusサーバー。 はい
expr PromQLクエリ式。 はい
promtool query series

シリーズクエリを実行します。

フラグ
フラグ 説明
--match シリーズセレクター。複数回指定できます。
--start 開始時刻(RFC3339またはUnixタイムスタンプ)。
--end 終了時刻(RFC3339またはUnixタイムスタンプ)。
引数
引数 説明 必須
server クエリするPrometheusサーバー。 はい
promtool query labels

ラベルクエリを実行します。

フラグ
フラグ 説明
--start 開始時刻(RFC3339またはUnixタイムスタンプ)。
--end 終了時刻(RFC3339またはUnixタイムスタンプ)。
--match シリーズセレクター。複数回指定できます。
引数
引数 説明 必須
server クエリするPrometheusサーバー。 はい
name ラベル値を提供するラベル名。 はい
promtool query analyze

Prometheusに対してクエリを実行して、特定のメトリックの使用パターンを分析します。

フラグ
フラグ 説明 デフォルト
--server クエリするPrometheusサーバー。
--type メトリックのタイプ:ヒストグラム。
--duration 分析する時間枠。 1時間
--time クエリ時間(RFC3339またはUnixタイムスタンプ)。デフォルトは現在時刻です。
--match シリーズセレクター。複数回指定できます。

promtool debug

デバッグ情報を取得します。

promtool debug pprof

プロファイリングデバッグ情報を取得します。

引数
引数 説明 必須
server pprofファイルを取得するPrometheusサーバー。 はい
promtool debug metrics

メトリックデバッグ情報を取得します。

引数
引数 説明 必須
server メトリックを取得するPrometheusサーバー。 はい
promtool debug all

すべてのデバッグ情報を取得します。

引数
引数 説明 必須
server すべてのデバッグ情報を取得するPrometheusサーバー。 はい

promtool push

Prometheusサーバーにプッシュします。

フラグ

フラグ 説明
--http.config.file promtoolがPrometheusに接続するためのHTTPクライアント設定ファイル。
promtool push metrics

メトリックをPrometheusリモートライトにプッシュします(テスト目的のみ)。

フラグ
フラグ 説明 デフォルト
--label メトリックに添付するラベル。複数回指定できます。 job=promtool
--timeout メトリクスのプッシュを待つ時間。 30秒
--header Prometheusリモートライトヘッダー。
引数
引数 説明 必須
remote-write-url メトリックをプッシュするPrometheusリモートライトURL。 はい
metric-files プッシュするメトリックファイル。デフォルトは標準入力から読み取られます。

promtool test

単体テスト。

promtool test rules

ルールの単体テスト。

フラグ
フラグ 説明 デフォルト
--run 設定されている場合、名前が正規表現に一致するテストグループのみを実行します。複数回指定できます。
--diff [実験的] 予期される出力と受信した出力の間に色付きの差分出力を出力します。 false
引数
引数 説明 必須
test-rule-file ユニットテストファイル。 はい

promtool tsdb

tsdbコマンドを実行します。

promtool tsdb bench

ベンチマークを実行します。

promtool tsdb bench write

書き込みパフォーマンスベンチマークを実行します。

フラグ
フラグ 説明 デフォルト
--out 出力パスを設定します。 benchout
--metrics 読み取るメトリクスの数。 10000
--scrapes シミュレートするスクレイプの数。 3000
引数
引数 説明 デフォルト
file サンプルデータを含む入力ファイル。デフォルトは(../../tsdb/testdata/20kseries.json)です。 ../../tsdb/testdata/20kseries.json
promtool tsdb analyze

チャーン、ラベルペアのカーディナリティ、および圧縮効率を分析します。

フラグ
フラグ 説明 デフォルト
--limit 各リストに表示するアイテムの数。 20
--extended 拡張分析を実行します。
--match 分析する系列セレクター。現在、1セットのmatcherのみがサポートされています。
引数
引数 説明 デフォルト
db path データベースパス(デフォルトはdata/)。 data/
block id 分析するブロック(デフォルトは最後のブロック)。
promtool tsdb list

tsdbブロックを一覧表示します。

フラグ
フラグ 説明
-r, --human-readable 人間が読める値を出力します。
引数
引数 説明 デフォルト
db path データベースパス(デフォルトはdata/)。 data/
promtool tsdb dump

TSDBからサンプルをダンプします。

フラグ
フラグ 説明 デフォルト
--sandbox-dir-root WAL再生でチャンクが生成された場合にサンドボックスディレクトリが作成されるルートディレクトリ。サンドボックスディレクトリは最後にクリーンアップされます。 data/
--min-time ダンプする最小タイムスタンプ。 -9223372036854775808
--max-time ダンプする最大タイムスタンプ。 9223372036854775807
--match シリーズセレクター。複数回指定できます。 {__name__=~'(?s:.*)'}
引数
引数 説明 デフォルト
db path データベースパス(デフォルトはdata/)。 data/
promtool tsdb dump-openmetrics

[実験的] TSDBからOpenMetricsテキスト形式にサンプルをダンプします。OpenMetricsで表現できないネイティブヒストグラムとstalenessマーカーは除外されます。

フラグ
フラグ 説明 デフォルト
--sandbox-dir-root WAL再生でチャンクが生成された場合にサンドボックスディレクトリが作成されるルートディレクトリ。サンドボックスディレクトリは最後にクリーンアップされます。 data/
--min-time ダンプする最小タイムスタンプ。 -9223372036854775808
--max-time ダンプする最大タイムスタンプ。 9223372036854775807
--match シリーズセレクター。複数回指定できます。 {__name__=~'(?s:.*)'}
引数
引数 説明 デフォルト
db path データベースパス(デフォルトはdata/)。 data/
promtool tsdb create-blocks-from

[実験的] 入力からサンプルをインポートし、TSDBブロックを生成します。詳細はストレージドキュメントを参照してください。

フラグ
フラグ 説明
-r, --human-readable 人間が読める値を出力します。
-q, --quiet 作成されたブロックを出力しません。
promtool tsdb create-blocks-from openmetrics

OpenMetrics入力からサンプルをインポートし、TSDBブロックを生成します。詳細はストレージドキュメントを参照してください。

引数
引数 説明 デフォルト 必須
入力ファイル サンプルを読み取るOpenMetricsファイル。 はい
出力ディレクトリ 生成されたブロックの出力ディレクトリ。 data/
promtool tsdb create-blocks-from rules

新しい記録ルールのためのデータブロックを作成します。

フラグ
フラグ 説明 デフォルト
--http.config.file promtoolがPrometheusに接続するためのHTTPクライアント設定ファイル。
--url ルールがバックフィルされるデータを持つPrometheus APIのURL。 http://localhost:9090
--start 新しいルールのバックフィルを開始する時刻。RFC3339形式の日付またはUnixタイムスタンプである必要があります。必須。
--end 終了時刻が指定されている場合、提供されたルールファイル内のすべての記録ルールは終了時刻までバックフィルされます。デフォルトでは3時間前までバックフィルされます。RFC3339形式の日付またはUnixタイムスタンプである必要があります。
--output-dir 生成されたブロックの出力ディレクトリ。 data/
--eval-interval 記録ルールファイルに値が設定されていない場合、バックフィル時にルールを評価する頻度。 60s
引数
引数 説明 必須
rule-files バックフィルされる記録ルールを含む1つ以上のファイルのリスト。ファイルにリストされているすべての記録ルールはバックフィルされます。アラートルールは評価されません。 はい

promtool promql

PromQLのフォーマットと編集。 --experimental フラグが必要です。

promtool promql format

PromQLクエリを整形済みの形式にフォーマットします。

引数
引数 説明 必須
query PromQLクエリ。 はい
promtool promql label-matchers

既存のPromQLクエリに含まれるラベルmatcherを編集します。

promtool promql label-matchers set

クエリにラベルmatcherを設定します。

フラグ
フラグ 説明 デフォルト
-t, --type 設定するラベルmatcherのタイプ。 =
引数
引数 説明 必須
query PromQLクエリ。 はい
name 設定するラベルmatcherの名前。 はい
設定するラベルmatcherの値。 はい
promtool promql label-matchers delete

クエリからラベルを削除します。

引数
引数 説明 必須
query PromQLクエリ。 はい
name 削除するラベルの名前。 はい

このドキュメントはオープンソースです。問題の報告やプルリクエストを送信して、改善にご協力ください。