8章サービスディスカバリ
今まではPrometheusにスクレイプの対象を指示するために、もっぱらstatic_configs
による静的な設定を使ってきた。単純なユースケース†1ではそれでもよいが、マシンの追加、削除されるたびに手作業でprometheus.ymlを更新しなければならないのは煩わしく感じられてくる。特に、毎分のように新しいインスタンスが起動されるダイナミックな環境ではそうだ。この章では、Prometheusにスクレイプの対象を知らせる方法を学ぶ。
[†1] たとえば、私の自宅のPrometheusはハードコードされた静的設定を使っているが、それは自宅のマシンが数台しかないからである。
あなたは、すべてのマシンとサービスがどこにあり、どのようにレイアウトされているかをすでに知っている。サービスディスカバリ(Service Discovery、SD)は、その情報を格納したデータベースからPrometheusに情報提供できるようにする。Prometheusは、Consul、Amazon EC2、Kubernetesなどのサービス情報の主要な情報源を最初からサポートしている。使おうとしている情報源がそのような形ではサポートされていない場合でも、ファイルベースのサービスディスカバリメカニズムを組み込むことができる。AnsibleやChefなどの構成管理システムが管理するマシンとサービスのリストを適切な形式で書き込むか、使っているデータソースから情報を引き出してくるスクリプトを定期的に実行したりすればよい。
モニタリングのターゲット、すなわち何をスクレイプすべきかがわかっても、それは第1歩に過ぎない。ラベル(5章)はPrometheusの重要な要素であり、ターゲットにターゲットラベル ...
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.