Grafana 儀表板
Vibe Prompt
「幫我在 Grafana 建立一個 K8s 叢集監控儀表板:CPU、記憶體、網路、Pod 狀態,4 個面板。」
Docker Compose
services:
grafana:
image: grafana/grafana:latest
ports:
- "3000:3000"
environment:
GF_SECURITY_ADMIN_PASSWORD: admin
volumes:
- grafana_data:/var/lib/grafana
常用面板 Query
| 面板 | PromQL |
|------|--------|
| CPU 總使用 | 100 - (avg(rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) |
| 記憶體使用 | (1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100 |
| 網路流量 | rate(node_network_transmit_bytes_total[5m]) |
| Pod 重啟 | sum(rate(kube_pod_container_status_restarts_total[5m])) |
Alerting Rules
groups:
- name: node-alerts
rules:
- alert: HighCPUUsage
expr: node_load1 > 2
for: 5m
labels: { severity: warning }
annotations:
summary: "{{ $labels.instance }} CPU 負載過高 (>2)"
- alert: DiskFull
expr: (node_filesystem_avail_bytes / node_filesystem_size_bytes) < 0.1
for: 10m
labels: { severity: critical }
annotations:
summary: "{{ $labels.instance }} 磁碟即將滿 (>90%)"