prometheus.ymlの検証方法 - Prometheusドキュメント

このページはPrometheus公式ドキュメント和訳+αの一部です。

prometheus.ymlが正しいことを検証するには

プロダクション環境にデプロイする前に、設定が正しいことを確認するのは良いことである。

Prometheusは、間違った設定があればリロードしないが、正しい設定がないと起動できない。 従って、継続的インテグレーションなどの仕組みにチェックインする前に設定が正しいことを確認するのが賢明である。

Prometheusに付属しているpromtoolには、check configコマンドがある。 Prometheusをダウンロードして、正しくない設定を作ってみよう。

wget https://github.com/prometheus/prometheus/releases/download/v2.5.0/prometheus-2.5.0.linux-amd64.tar.gz
tar -xzf prometheus-*.tar.gz
cd prometheus-*
cat >prometheus.yml <<'EOF'
scrape_configs:
- job_name: prometehus
static_configs:
  - targets: ['localhost:9090']
EOF

設定をチェックしてみると、エラーが表示される。

./promtool check config prometheus.yml
Checking prometheus.yml
  FAILED: parsing YAML file prometheus.yml: yaml: unmarshal errors:
  line 3: field static_configs not found in type config.plain

終了コードは、失敗を表す1になる。

最後の2行を正しくインデントし直して再びチェックすると、今度はパスする。

./promtool check config prometheus.yml 
Checking prometheus.yml
 SUCCESS: 0 rule files found

終了コードは0になる。

この種の機能はPrometheusに限られたものではなく、Alertmanagerのamtoolにも同様の機能がある。

翻訳元

おすすめ書籍

入門 Prometheus ―インフラとアプリケーションのパフォーマンスモニタリング

入門 Prometheus ―インフラとアプリケーションのパフォーマンスモニタリング

入門 監視 ―モダンなモニタリングのためのデザインパターン

入門 監視 ―モダンなモニタリングのためのデザインパターン

SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム

SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム