05.10、练习 创建ShoeHub基础设施Dashboard
练习:创建 ShoeHub 基础设施 Dashboard
本节将动手创建一个完整的 ShoeHub 基础设施 Dashboard,包括系统资源监控、服务健康状态、网络流量监控。通过实践,我们可以巩固前面学习的知识。
练习目标
今天的练习目标是什么?
第一个目标:创建系统资源监控 Dashboard。 CPU 使用率、内存使用量、磁盘使用率、网络流量。这些是基础设施的核心指标。
第二个目标:创建服务健康状态 Dashboard。 服务状态(UP/DOWN)、请求数、错误率、响应时间。这些是服务健康的关键指标。
第三个目标:创建网络流量监控 Dashboard。 入站流量、出站流量、网络错误、连接数。这些是网络监控的关键指标。
Dashboard 布局: ShoeHub Infrastructure Dashboard 可以分为顶部、中间、底部三个区域。顶部是关键指标,中间是详细图表,底部是服务列表。
这就是今天的练习目标。准备好开始了吗?
练习 1:系统资源监控
任务是什么? 创建系统资源监控 Dashboard。
步骤是什么?
第一步:新建 Dashboard。 在 Grafana 中新建 Dashboard。
第二步:添加顶部关键指标(Stat)。 CPU 使用率、内存使用率、磁盘使用率。使用 Stat 面板,放在 Dashboard 顶部。
第三步:添加详细图表(Time Series)。 CPU 使用率趋势、内存使用量趋势、磁盘 IO 趋势。使用 Time Series 面板,放在 Dashboard 中间。
第四步:配置阈值和颜色。 设置阈值,配置颜色。例如 CPU > 80% 显示红色,CPU > 60% 显示黄色。
第五步:保存 Dashboard。 设置 Dashboard 名称、标签,保存 Dashboard。
查询示例:
- CPU 使用率:
100 - (avg(rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) - 内存使用率:
(1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100 - 磁盘使用率:
(1 - (node_filesystem_avail_bytes / node_filesystem_size_bytes)) * 100
这就是第一个练习。跟着我一起做。
练习 2:服务健康状态
任务是什么? 创建服务健康状态 Dashboard。
步骤是什么?
第一步:新建 Dashboard。 在 Grafana 中新建 Dashboard。
第二步:添加服务状态(Stat)。 UP 服务数、DOWN 服务数、总服务数。使用 Stat 面板,放在 Dashboard 顶部。
第三步:添加请求数图表(Time Series)。 总请求数、按服务分组。使用 Time Series 面板,放在 Dashboard 中间。
第四步:添加错误率图表。 总错误率、按服务分组。使用 Time Series 面板。
第五步:添加响应时间图表。 P50、P95、P99 延迟。使用 Time Series 面板。
第六步:添加服务列表(Table)。 服务名称、状态、请求数、错误率。使用 Table 面板,放在 Dashboard 底部。
查询示例:
- 服务状态: 。这会显示所有服务的状态。
up - 请求数: 。这会按服务分组显示请求数。
sum(rate(http_requests_total[5m])) by (service) - 错误率: 。这会计算错误率。
sum(rate(http_requests_total{status=~"5.."}[5m])) / sum(rate(http_requests_total[5m])) * 100
这就是第二个练习。跟着我一起做。
练习 3:网络流量监控
任务是什么? 创建网络流量监控 Dashboard。
步骤是什么?
第一步:新建 Dashboard。 在 Grafana 中新建 Dashboard。
第二步:添加网络流量指标(Stat)。 总入站流量、总出站流量、总连接数。使用 Stat 面板,放在 Dashboard 顶部。
第三步:添加流量趋势图表(Time Series)。 入站流量趋势、出站流量趋势、按接口分组。使用 Time Series 面板,放在 Dashboard 中间。
第四步:添加网络错误图表。 错误数、错误率。使用 Time Series 面板。
第五步:添加连接数图表。 活跃连接数、建立连接数、关闭连接数。使用 Time Series 面板。
查询示例:
- 入站流量: 。这会显示总入站流量。
sum(rate(node_network_receive_bytes_total[5m])) - 出站流量: 。这会显示总出站流量。
sum(rate(node_network_transmit_bytes_total[5m])) - 连接数: 。这会显示当前连接数。
node_netstat_Tcp_CurrEstab
这就是第三个练习。跟着我一起做。
练习总结
我们完成了什么?
- ✅ 创建了系统资源监控 Dashboard。 包括 CPU、内存、磁盘监控。
- ✅ 创建了服务健康状态 Dashboard。 包括服务状态、请求数、错误率、响应时间。
- ✅ 创建了网络流量监控 Dashboard。 包括入站流量、出站流量、网络错误、连接数。
关键收获:
- 掌握了 Dashboard 创建流程。 学会了如何创建和配置 Dashboard。
- 掌握了多种图表类型的使用。 学会了 Stat、Time Series、Table 等图表类型。
- 掌握了查询配置方法。 学会了如何配置 PromQL 查询。
- 掌握了阈值和颜色配置。 学会了如何配置阈值和颜色映射。
下一步: 继续学习 Grafana Loki 日志管理,学习如何收集和查询日志。
本节小结
在本节中,我们完成了 ShoeHub 基础设施 Dashboard 的创建:
第一个是系统资源监控。 CPU、内存、磁盘、网络。这些是基础设施的核心指标。
第二个是服务健康状态。 状态、请求数、错误率、响应时间。这些是服务健康的关键指标。
第三个是网络流量监控。 入站、出站、错误、连接数。这些是网络监控的关键指标。
第四个是实践技能。 Dashboard 创建、查询配置、图表类型选择。通过实践,我们巩固了前面学习的知识。
练习流程总结: 练习目标 → 系统资源监控 → 服务健康状态 → 网络流量监控 → 完成 Dashboard → 练习总结。
这就是练习:创建 ShoeHub 基础设施 Dashboard。通过实践,我们巩固了前面学习的知识。
恭喜你! 你已经完成了第 5 章的学习。我们学习了 Dashboard 设计、创建、配置、图表类型、数据转换、变量、阈值、注释、链接等。
在下一章,我们将学习 Grafana Loki 日志管理。学习如何收集、查询和可视化日志。