Conoha
prometheus
ConoHaDay 22

ConoHa で外形監視を構築してみる。

はじめに

どうも、多分一生で最後の学生生活冬休みに入った @FoxBoxsnet です。

当日になって気づきましたが今日私でした。

Webサイトの外形監視がしてみたかったので軽く構築してみます。

構築

今回はちっさいこのはちゃん(512MB)を使います

  • 最新にアップデート
apt update -y;apt upgrade -y;reboot
  • Docker + Docker-Compose インストール
curl https://releases.rancher.com/install-docker/17.06.sh | sh
curl -sfSL https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` \
    -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

ファイルを準備

blackbox_exporter.yml
modules:
  http_2xx:
    prober: http
    http:
docker-compose.yml
version: '2'
services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    restart: always
    ports:
      - 9090:9090
    volumes:
      - data-prometheus:/prometheus
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
    links:
      - "blackbox_exporter:blackbox_exporter"

  blackbox_exporter:
    image: prom/blackbox-exporter:latest
    container_name: blackbox_exporter
    restart: always
    volumes:
      - ./blackbox_exporter.yml:/etc/blackbox_exporter/config.yml

  grafana:
    image: grafana/grafana
    container_name: grafana
    restart: always
    ports:
      - 3000:3000
    volumes:
      - grafana-data:/var/lib/grafana
      - grafana-data:/var/log/grafana
    links:
      - "prometheus:prometheus"

volumes:
  data-prometheus:
    driver: local
  grafana-data:
    driver: local

prometheus.yml
scrape_configs:
  - job_name: 'blackbox'
    metrics_path: /probe
    params:
      module: [http_2xx]  # Look for a HTTP 200 response.
    static_configs:
      - targets:
        - http://conoha.jp/     # Target to probe with http.
        - https://conoha.jp/    # Target to probe with https.
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: blackbox_exporter:9115  # Blackbox exporter.

ファイルをHomeディレクトリに配置して起動するといい感じに起動します。

docker-compose up -d

使ってみる

Prometheus

http://<サーバーのグローバルIP>:9090 でアクセスできます。

アクセスするとこんな感じです。
ss 2017-12-22 18.58.23.png

probe_dns_lookup_time_seconds をみてみましょう。

ss 2017-12-22 19.20.32.png

Grafana

ログインするとこの画面になります
ID/PW: admin

ss 2017-12-22 19.22.02.png

Data source の設定
ss 2017-12-22 19.24.48.png

次にダッボードを作成します。

New DashBoard から作成できます。
ss 2017-12-22 19.28.39.png

Graph であたらしいグラフを作成します。
ss 2017-12-22 19.30.32.png

こんな感じで設定すると良いと思います。
ss 2017-12-22 19.32.25.png

最後に

やり方だけの箇条書きですが、興味を持ってもらえれば嬉しいです。
512MBでも使い道があったので嬉しかったです。