見出し画像

Prometheus で docker エンジンを監視する

3年以上前に構築した telegraf + influxdb + grafana での可視化システムですが、さすがに古くなってきていて更新を余儀なくされています。

以前の環境はつくったは良いんですが、Ubuntu 20.04 に直接インストールしていたので、データの移行やアップデートを考えることが大変です。そこで、今回からは全てのミドルウェアを Docker で稼働させるように考えました。これならポータビリティが高いので、ハードウェアの依存性が少なく移行や更新により良いと判断しました。

とりま、ひとまず動かす。ということと、親となる Docker エンジンの監視ができるようにしました。YAMAHA や他のサーバの監視はまだまだこれからです。

docker-compose.yml

services:

  prometheus:
    image: prom/prometheus
    container_name: prometheus
    volumes:
      - /var/lib/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
      - prometheus-data:/prometheus
    ports:
      - '9090:9090'

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    hostname: grafana
    restart: unless-stopped
    environment:
      - GF_LOG_LEVEL=error
    depends_on:
      - prometheus
    links:
      - prometheus
    ports:
      - 3000:3000
    user: "$PID:$GID"
    volumes:
      - /var/lib/grafana:/var/lib/grafana

volumes:
    prometheus-data:

実際の yaml ファイルには、他のサービスもはいっていますが関係ないものを削除しています。また、Grafana でアクセスログまでいらなかったのでログレベルを変更したりしています。

これに関わる設定ファイルは次の通りです。

/etc/docker/daemon.json

docker エンジンから Prometheus で利用可能な metrics を出力できるようにします。http://localhost:9323/metrics で取得可能です。`0.0.0.0` にしているのは、コンテナ内からのアクセスも想定しているだけなので、必要に応じて I/F は制御すべきです。

{
  "metrics-addr" : "0.0.0.0:9323",
  "experimental" : true
}

/var/lib/prometheus/prometheus.yml

よくある設定に docker の監視を追加しています。実態とは異なりますが、docker エンジンが動いているサーバが `docker.oshiire.to` のホストと想定して設定しています。

global:
  scrape_interval: 15s
  evaluation_interval: 15s
  external_labels:
      monitor: 'codelab-monitor'

scrape_configs:
  - job_name: 'prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: ['prometheus:9090']

  - job_name: 'docker'
    static_configs:
      - targets: ['docker.oshiire.to:9323']

ここも参考にしているので、よく分からないけど `external_labels` も入っています。まだ調べていない。

これらの設定だけで、とりあえず prometheus と docker の metrics 取得できちゃうのちょっと楽すぎない…?
Grafana で画面作るほうが断然時間がかかる。時間がかかるというか、画面のつくりかたを完全に忘れているので、また学習し直しです。

influx → tsdb って移行できるのかな
移行できるなら
過去データも取りこめるの嬉しい
ので引っ越しできたらなぁ

しょっさん、心のポエム


いいなと思ったら応援しよう!

しょっさん
貴方がサポートしてくれると、私が幸せ。 私が幸せになると、貴方も幸せ。 新しいガジェット・ソフトウェアのレビューに、貴方の力が必要です。