9章コンテナとKubernetes

Docker(ドッカー)やKubernetes(クーバネティス)といったテクノロジの登場とともに、コンテナを使ったデプロイは一般的になってきている。あなたもすでにこれらを使っているかもしれない。この章では、コンテナのもとで使えるexporterを紹介し、KubernetesのもとでのPrometheusの使い方を説明する。

Prometheusのコンポーネントは、7章で述べたようにNode exporterだけを例外として、コンテナのもとでも問題なく実行できる。

9.1 cAdvisor

Node exporterがマシンについてのメトリクスを提供するのと同じように、cAdvisor(シーアドバイザ)はcgroupsについてのメトリクスを提供するexporterである。cgroupsはLinuxカーネルの隔離機能で、通常はLinuxでコンテナを実装するために使われ、systemdなどのランタイム環境もこれを使っている。

cAdvisorはDockerで実行できる。

docker run \
  --volume=/:/rootfs:ro \
  --volume=/var/run:/var/run:rw \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  --volume=/dev/disk/:/dev/disk:ro \
  --publish=8080:8080 \
  --detach=true \
  --name=cadvisor \
  google/cadvisor:v0.28.3

Prometheus Goクライアントライブラリの誤った使い方による問題があるので、0.28.3より前のcAdvisorは使ってはならない。 ...

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.