ソモサン

私rohkiによる活動や読書の記録をつらつらと書くページです

Prometheus + Grafana + Elasticsearch + Kibana を Docker でいじり中

prometheus.io

いじってます。

進捗

docker-compose.yml はこんな感じ

version: '3'
services:
  prometheus:
    image: prom/prometheus
    container_name: prometheus
    volumes:
      - .\prometheus.yml:/var/app/prometheus/prometheus.yml
    command:
      - '--config.file=/var/app/prometheus/prometheus.yml'
    ports:
      - 9090:9090
    depends_on:
      - elasticsearch_exporter
    links:
      - elasticsearch_exporter
  grafana:
    image: grafana/grafana
    container_name: grafana
    ports:
      - 3000:3000
    env_file:
      - /prom/grafana.env
  elasticsearch_exporter:
      image: justwatch/elasticsearch_exporter:1.0.2
      command:
        - '-es.uri=http://elasticsearch:9200'
      restart: always
      ports:
        - 9108:9108
      depends_on:
        - elasticsearch
      links:
        - elasticsearch
  elasticsearch:
    image: elasticsearch
    ports: 
      - 9200:9200
  kibana:
    image: kibana
    ports:
      - 5601:5601
    depends_on:
      - elasticsearch

prometheus.yml

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

rule_files:
#   - "/var/app/prometheus/alert.rules"

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: 
          - '127.0.0.1:9090'
  - job_name: 'elasticsearch-exporter'
    static_configs:
      - targets:
          - 'elasticsearch_exporter:9108'

Prometheus + Grafana を Mac 上で docker-compose で起動 - Qiita

上記の記事をベースに、Elasticsearch + Kibana を追加して、Elasticsearch 用の Exporter も入れました。
Docker でのアドレス解決がわからなかったので、そこはこちらを読みながらなるほどー、と書いてみました。
Windows でやったので、一部ファイルがおかしいかも…

メトリクス周りを前から調べていて、Graphite や Influx、Mackerel もさわったし、はやりの Prometheus もやってみよう、という感じ。
去年の 2.0 出たときにいじりたかったけど、まぁほかに触るものがあれやこれやそれやあり遅れました。

Elasticsearch で GC に関連した値もとれるってのが個人的には気になってます。exporter よいなー。
一方で、いろいろ手広くやりすぎててまずいです。*1
ここのところ毎年いってるけど来年度は絞る。

*1:僕のせいだけではない