92 lines
3.9 KiB
YAML
92 lines
3.9 KiB
YAML
# =============================================================================
|
|
# eBdesk SiCABE — Konfigurasi Prometheus (Fase 6: Observability)
|
|
# =============================================================================
|
|
# Mengapa Prometheus ini ada:
|
|
# Dashboard Grafana punya panel bertipe metrik (mis. minio_bucket_usage_object_total).
|
|
# Datasource Grafana bertipe `prometheus` HARUS menunjuk SERVER Prometheus — versi
|
|
# sebelumnya menunjuk `http://minio:9000` (API S3 MinIO) sehingga selalu
|
|
# "400 Bad Request: error querying the Prometheus API". Prometheus ini yang
|
|
# meng-scrape metrik, lalu Grafana membacanya.
|
|
#
|
|
# Target yang tersedia di stack ini:
|
|
# - prometheus : self-scrape
|
|
# - minio : metrik publik (MINIO_PROMETHEUS_AUTH_TYPE=public di compose)
|
|
# - starrocks-fe : FE mengekspos /metrics pada port HTTP 8030
|
|
#
|
|
# Sudah tersedia (M2/M3 observabilitas — lihat reviews/sicabe-19-observability-metrics-plan.md):
|
|
# - airflow : Airflow 3 mengirim metrik lewat StatsD → statsd-exporter:9102 (job `airflow`)
|
|
# - trino : JMX coordinator (RMI :9080) → sidecar trino-jmx-exporter:9404 (job `trino`)
|
|
# - node : node_exporter di SETIAP host (:9100). node_exporter adalah PRA-SYARAT HOST
|
|
# (di luar installer); daftar host dibaca dari `targets/node.yml` via file_sd
|
|
# (digenerate dari cluster.yml bila ada — lihat lib/cluster/generate.py).
|
|
# =============================================================================
|
|
global:
|
|
scrape_interval: 30s
|
|
evaluation_interval: 30s
|
|
|
|
scrape_configs:
|
|
- job_name: prometheus
|
|
static_configs:
|
|
- targets: ["localhost:9090"]
|
|
|
|
# MinIO memecah metrik per endpoint — satu job per metrics_path.
|
|
# /cluster : 197 metrik (server/cluster)
|
|
# /bucket : 140 metrik — termasuk 'minio_bucket_usage_object_total' yang
|
|
# dipakai panel "Storage Usage" di dashboard Grafana. Metrik itu
|
|
# TIDAK ada di /cluster, sehingga tanpa job ini panel menampilkan
|
|
# "No data" walaupun target-nya 'up'.
|
|
- job_name: minio
|
|
metrics_path: /minio/v2/metrics/cluster
|
|
scheme: http
|
|
static_configs:
|
|
- targets: ["minio:9000"]
|
|
|
|
- job_name: minio-bucket
|
|
metrics_path: /minio/v2/metrics/bucket
|
|
scheme: http
|
|
static_configs:
|
|
- targets: ["minio:9000"]
|
|
|
|
- job_name: starrocks-fe
|
|
metrics_path: /metrics
|
|
scheme: http
|
|
static_configs:
|
|
- targets: ["starrocks-fe:8030"]
|
|
|
|
# Airflow → StatsD → statsd-exporter (M2 observabilitas).
|
|
# Metrik Airflow (dagrun duration, task duration, scheduler heartbeat) muncul di
|
|
# :9102 setelah AIRFLOW__METRICS__STATSD_ON diaktifkan pada service Airflow.
|
|
- job_name: airflow
|
|
metrics_path: /metrics
|
|
scheme: http
|
|
static_configs:
|
|
- targets: ["statsd-exporter:9102"]
|
|
|
|
# Trino → JMX (RMI :9080) → sidecar trino-jmx-exporter:9404 (M3 observabilitas).
|
|
# Metrik saturasi coordinator (running/queued/failed query) + JVM.
|
|
- job_name: trino
|
|
metrics_path: /metrics
|
|
scheme: http
|
|
static_configs:
|
|
- targets: ["trino-jmx-exporter:9404"]
|
|
|
|
# node_exporter di setiap host (:9100) — PRA-SYARAT HOST (bukan service compose).
|
|
# Daftar host dibaca dari file ini dan bisa diubah TANPA restart Prometheus
|
|
# (file_sd memantau perubahan berkas; refresh_interval hanya cadangan).
|
|
#
|
|
# - single-host : targets/node.yml default = "host.docker.internal:9100"
|
|
# - multi-host : digenerate dari cluster.yml oleh `./install.sh --generate`
|
|
# (semua host, alamat:9100, label host=<nama>)
|
|
#
|
|
# Label `host` dari berkas target dipromosikan ke semua seri; relabel di bawah
|
|
# menyalinnya ke `instance` supaya panel menampilkan NAMA host, bukan alamat.
|
|
- job_name: node
|
|
metrics_path: /metrics
|
|
scheme: http
|
|
file_sd_configs:
|
|
- files: ["/etc/prometheus/targets/node.yml"]
|
|
refresh_interval: 30s
|
|
relabel_configs:
|
|
- source_labels: [host]
|
|
target_label: instance
|