first commit

This commit is contained in:
2026-10-09 02:35:14 +07:00
commit 4ca7a9a58e
108 changed files with 23035 additions and 0 deletions
+91
View File
@@ -0,0 +1,91 @@
# =============================================================================
# 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