Grafana 监控实践
监控 Dashboard 的目标是缩短判断与定位时间,而不是展示更多图表。先定义用户影响与读者,再设计首屏信号、下钻路径、变量和数据源。
1. 主机监控大盘
主机大盘首屏关注 CPU 使用与 iowait、可用内存、根分区与 inode、磁盘 I/O、网络吞吐与错误、主机是否可抓取。时间趋势用于发现持续饱和,Table 用于列出异常实例,Stat 用于显示当前风险数量。
# 节点 CPU 使用率
100 - avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100
# 根分区使用率
100 * (1 - node_filesystem_avail_bytes{mountpoint="/",fstype!~"tmpfs|overlay"}
/ node_filesystem_size_bytes{mountpoint="/",fstype!~"tmpfs|overlay"})
2. 应用监控大盘
应用看板优先 RED:QPS、错误率、延迟。补充实例数、版本、依赖调用、连接池、线程池、队列、JVM 堆与 GC。错误率和延迟面板应链接到日志与 Trace,发布 Annotation 用于区分代码变更和基础设施异常。
# 服务 5xx 错误率
sum by (service) (rate(http_requests_total{code=~"5.."}[$__rate_interval]))
/
sum by (service) (rate(http_requests_total[$__rate_interval]))
3. Kubernetes 大盘
Kubernetes 视图通常分为 Cluster、Node、Namespace、Workload、Pod 和应用层。Cluster 看容量和控制面,Node 看资源与状态,Namespace 看团队资源使用与配额,Workload 看期望/就绪副本,Pod 看重启、Pending 和 OOM,应用看业务信号。
避免把容器 CPU 使用量、Pod 副本状态和应用 QPS 混在一个没有筛选条件的大盘。通过 cluster、namespace、workload、pod 变量建立下钻路径。
4. NOC 监控大屏
大屏面向快速态势判断,而非深度排障:
- 一屏控制在有限数量的关键 Panel,避免大量小字体表格。
- 顶部显示可用性、核心告警、关键业务成功率与容量风险。
- 颜色语义全局一致,例如绿为正常、黄为关注、红为需响应。
- 使用 Kiosk/TV 模式前,确保该视图为只读、无敏感数据且具备独立访问策略。
NOC 大屏不能替代值班 Dashboard。值班页面必须保留变量、时间范围、日志/Trace 下钻和运行手册链接。