Halo, kalau kamu merasa tulisan saya ngebantu kamu, kamu bisa ucapkan terima kasih lewat saweria

If you feel this website help you, you can donate at saweria



Tools/Software yang Harus diinstall

Sebelum mengikuti tutorial ini, diharapkan kamu sudah pernah setup monitoring menggunakan dockprom

Berikut tools/software yang harus diinstall sebelum mengikuti tutorial ini:

  1. Dockprom

  2. Docker

  3. blackbox_exporter

  4. List semua endpoint API yang ingin kamu monitor


How To

  1. Setup blackbox_exporter , buat file docker-compose.yml
version: "3.7"

services:
  blackbox-exporter:
    image: quay.io/prometheus/blackbox-exporter:latest
    container_name: blackbox_exporter
    volumes:
      - $PWD:/config
    command: "--config.file=/config/modules.yml"
    ports:
      - "9115:9115"
  1. Buat file modules.yml untuk config blackbox_exporter
modules:

  http_2xx:
    prober: http
    timeout: 5s
    http:
      valid_http_versions: ["HTTP/1.1", "HTTP/2.0"]
      valid_status_codes: [200]
      method: GET
      headers:
        Authorization: Bearer 12334BearerKamu
      no_follow_redirects: false
      # false_if_ssl: false
      # false_if_not_ssl: false
      # tls_config:
      #   insecure_skip_verify: false
      preferred_ip_protocol: "ip4"
      ip_protocol_fallback: false

Jalankan docker compose up -d

  1. Tambahkan file di folder dockprom/prometheus.yml
- job_name: blackbox_exporter
  honor_labels: true
  honor_timestamps: true
  scrape_interval: 180s
  scrape_timeout: 120s
  metrics_path: /probe
  scheme: http
  follow_redirects: true
  enable_http2: true
  params:
    module: [http_2xx]
  static_configs:
    - targets:
        - https://apikamu.com/monitoring
        - https://apikamu.com/api/test
  relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      #your VPS local IP and blackbox_exporter port 9115
      replacement: 192.168.1.100:9115

Restart prometheus container docker restart prometheus

List API Targets

List API Targets

  1. Masuk ke grafana dashboard, kamu bisa cari dashboard yang paling cocok sama kebutuhan. Kalau saya menggunakan grafana dashboard 7587
Grafana blackbox_exporter

Grafana blackbox_exporter

  1. Untuk monitoring alert nya, saya lebih senang setup via alertmanager di banding grafana. Untuk setup alert nya saya menggunakan dari samber/awesome-prometheus-alerts
wget https://raw.githubusercontent.com/samber/awesome-prometheus-alerts/master/dist/rules/blackbox/blackbox-exporter.yml -O blackbox-exporter.rules

Restart prometheus container docker restart prometheus. Ini kudu banyak trial & error biar dapet setup yang pas.

alertmanager blackbox_exporter

alertmanager blackbox_exporter