Monitoring dan alert
Service down lo ketahuan duluan — jangan tunggu user complain
Monitoring bukan pilihan opsional
Service running bukan berarti all good. CPU maxed lo gak tau, memory leak lo gak tau, disk full lo gak tau — sampe user bilang "gak bisa", baru terlalu reactive.
Search deploy plan...
Jumat sore after work server quietly down, Monday pagi banyak orang complain "tidak bisa". kamu buka server lihat —— disk full, log file gila-gilaan grow occupy space write explode. kalau ada monitoring alert, Jumat sore sudah terima notify, lima menit fix selesai.
Use Prometheus collect metric data, Grafana visualize dashboard, plus alert rule, high CPU, memory insufficient, service down semua dapat instant notify ke phone atau email. Full plan open-source free, Docker one-click deploy.
satu klik deploy monitoring stack
Pakai docker-compose tarik Prometheus, Grafana, Node Exporter bareng-bareng:
# Buat direktori monitoring
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
restart: always
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- ./alert_rules.yml:/etc/prometheus/alert_rules.yml
- prometheus_data:/prometheus
command:
- "--config.file=/etc/prometheus/prometheus.yml"
- "--storage.tsdb.retention.time=30d"
grafana:
image: grafana/grafana:latest
container_name: grafana
restart: always
ports:
- "3001:3000"
volumes:
- grafana_data:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_PASSWORD=your_secure_password
node-exporter:
image: prom/node-exporter:latest
container_name: node-exporter
restart: always
ports:
- "9100:9100"
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- "--path.procfs=/host/proc"
- "--path.sysfs=/host/sys"
- "--path.rootfs=/rootfs"
alertmanager:
image: prom/alertmanager:latest
container_name: alertmanager
restart: always
ports:
- "9093:9093"
volumes:
- ./alertmanager.yml:/etc/alertmanager/alertmanager.yml
volumes:
prometheus_data:
grafana_data:
Konfigurasi Prometheus
global:
alert rule
groups:
config alert notify
alert trigger gimana notify kamu? bisa email, push ke DingTalk/WeChat Work/Slack:
global: