Prometheusを触ってみる。のをDockerでやってみる。のとgrafana。

昨日の朝、ぼーっとしてたらこんな記事があったので

qiita.com

Prometheusっていうモニタリングツールがあるのかぁと思って。

prometheus.io

触ってみようかなと思ったのでした。

まずは動かす

Dockerで動くとあんまり何も考えなくていいなぁって思ってたら、ちゃんとあった( Installing | Prometheus )。(∩´∀`)∩ワーイ

docker run -p 9090:9090 prom/prometheus

で、9090にアクセスしたらとりあえず動いてる。

f:id:bufferings:20161210230541p:plain

自分自身を監視してみる

さっきのは起動しただけで何も情報がないので、実際に監視してみるとどんな感じになるのか。サンプルとして自分自身を監視できるみたいなのでやってみよう。

Getting started を読みながらprometheus.ymlってファイルを作って

global:
  scrape_interval:     15s # By default, scrape targets every 15 seconds.

  # Attach these labels to any time series or alerts when communicating with
  # external systems (federation, remote storage, Alertmanager).
  external_labels:
    monitor: 'codelab-monitor'

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

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

    static_configs:
      - targets: ['localhost:9090']

その設定ファイルをDockerイメージに渡して起動

docker run -p 9090:9090 -v $(pwd)/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

なんか色々出てくるようになったので適当に選んでみる

f:id:bufferings:20161211120810p:plain

なんかいい気分だ

f:id:bufferings:20161211120852p:plain

grafanaにしてみる

このままじゃあんまりやる気出ないのでgrafanaにできるっぽいのでしてみよう。

ここを参考にした↓

Monitoring with Prometheus, Grafana & Docker Part 1 — finestructure

こんな感じでdocker-composeファイル作れば良さそうかな。

version: '2'
services:
  prometheus:
    image: prom/prometheus
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
    expose:
      - "9090"
  grafana:
    image: grafana/grafana
    ports:
      - "3000:3000"

docker-compose up して 3000 にアクセス。起動してた。

f:id:bufferings:20161211125308p:plain

データソースをPrometheusにする必要があるっぽいので

f:id:bufferings:20161211125347p:plain

こんな感じ。Nameは適当。Urlはcomposeファイルに書いたサービス名ね。

f:id:bufferings:20161211125359p:plain

でダッシュボードを作るっぽい

f:id:bufferings:20161211125531p:plain

Graphを選んで

f:id:bufferings:20161211125641p:plain

最初はサンプルが表示されてるんだけど、パネルをクリックしてでてきたポップアップからEdit

f:id:bufferings:20161211125822p:plain

メトリクスの部分でさっきのデータソース(ここでは My prometheus)を選んで、適当にクエリを書く

f:id:bufferings:20161211130035p:plain

とグラフがでてきた。(∩´∀`)∩ワーイ

f:id:bufferings:20161211130117p:plain

ちょこちょこ触ってみよっと。