docker
microservices
prometheus
collectd

prometheusのexporterのcollectd-exporterをdockerでちょろっと動かしてみる

More than 1 year has passed since last update.

collectdを利用すると、システムのメトリクス情報を収集できるらしいです。

かつ、前回の投稿でさわってみたprometheusにも簡単に連携できる、とのことです。

prometheusのexporter群に触りながら覚えていこうと思います。


  1. dockerでprometheus自体を動かす

  2. 適当にexporterに触ってみる

  3. alertをいじってみる

  4. 公式docを見直す。BestPracticeのページを見てみる。

くらいのノリでやっていこうと思います。


1. collectd-exportのdockerコンテナを起動する

docker pull prom/collectd-exporter

docker run -d -p 9103:9103 prom/collectd-exporter


2. prometheus.ymlを用意する


prometheus.yml

global:

scrape_interval: 15s # By default, scrape targets every 15 seconds.
evaluation_interval: 15s # By default, scrape targets every 15 seconds.
# scrape_timeout is set to the global default (10s).

# Attach these extra labels to all time-series collected by this Prometheus instance.
#labels:
#monitor: 'panamax-monitor'

rule_files:
- '/etc/prometheus/alert.rules'

# A scrape configuration containing exactly one endpoint to scrape:
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.

# Panamax
- job_name: 'panamax'
scrape_interval: 5s

# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
scrape_timeout: 3s

target_groups:
- targets: ['${collectd-exporterを動かしたIPなど}:8080','${collectd-exporterを動かしたIP}:9103']
labels:
group: 'development'


targetsの配列に、9103のポートのエンドポイントを追加してあげます。


prometheusのコンテナの(再)起動

前述のprometheus.ymlをdokcerのvolumeオプションなどでうまいこと外だししていればコンテナの再起動をするだけで設定反映されて、targetsに追加されたエンドポイントのメトリクス収集が始まるみたいです。

便利ですねー。


UIでGraphを確認する

なんとはなしに取得できているように見えます。

Screenshot from 2016-04-26 18-46-12.png


感想


  • コンテナのメトリクスなのか本体のメトリクスなのか確認したいところです。

  • 他のexporterも試してみようと思います。とくにk8sとmesosでしょうか。

  • 類似製品との共通点と相違点を見ていく必要がありそうです。


本日は以上となります。