12.4、基础设施Dashboard
基础设施 Dashboard
欢迎回到第 12 章的学习。在上一节,我们学习了后端服务 Dashboard。现在我们要学习基础设施 Dashboard,这是基础设施监控的核心。
本节将学习:服务器资源使用、容器监控、网络流量、以及存储使用情况。
服务器资源使用
服务器资源使用的作用是什么? 监控服务器资源的使用情况,识别资源瓶颈,规划容量扩展。
服务器资源使用包括哪些呢?
第一个:CPU 使用率。 服务器的 CPU 使用率,使用 USE 方法。
第二个:内存使用率。 服务器的内存使用率。
第三个:磁盘使用率。 磁盘空间使用情况。
第四个:磁盘 I/O。 磁盘读写性能。
这是典型的 USE 方法应用,适用于资源监控。
PromQL 查询示例:
# Utilization(利用率) 100 - (avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) 100 * (1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) 100 * (1 - (node_filesystem_avail_bytes / node_filesystem_size_bytes)) # Saturation(饱和度) avg(node_load1) avg(node_load5) avg(node_load15) # Errors(错误) sum(rate(node_network_receive_errs_total[5m])) sum(rate(node_disk_io_errors_total[5m]))
容器监控
容器监控的作用是什么? 监控容器的资源使用情况,识别容器问题,优化容器配置。
容器监控包括哪些呢?
第一个:容器 CPU 使用率。 容器的 CPU 使用率。
第二个:容器内存使用率。 容器的内存使用率。
第三个:容器网络流量。 容器的网络流量。
第四个:容器状态。 容器的运行状态和重启次数。
容器监控查询:
# 容器 CPU 使用率 sum(rate(container_cpu_usage_seconds_total[5m])) by (container_name) # 容器内存使用率 sum(container_memory_usage_bytes) by (container_name) / sum(container_spec_memory_limit_bytes) by (container_name) # 容器网络流量 sum(rate(container_network_receive_bytes_total[5m])) by (container_name) sum(rate(container_network_transmit_bytes_total[5m])) by (container_name) # 容器重启次数 sum(rate(container_start_time_seconds[5m])) by (container_name)
网络流量
网络流量监控的作用是什么? 监控网络流量情况,识别网络问题,优化网络性能。
网络流量监控包括哪些呢?
第一个:入站流量。 网络的入站流量。
第二个:出站流量。 网络的出站流量。
第三个:网络错误。 网络错误和丢包情况。
第四个:网络延迟。 网络延迟和延迟分布。
网络流量监控查询:
# 入站流量 sum(rate(node_network_receive_bytes_total[5m])) by (device) # 出站流量 sum(rate(node_network_transmit_bytes_total[5m])) by (device) # 网络错误 sum(rate(node_network_receive_errs_total[5m])) by (device) sum(rate(node_network_transmit_errs_total[5m])) by (device)
存储使用情况
存储使用情况的作用是什么? 监控存储空间使用情况,识别存储问题,规划存储扩展。
存储使用情况包括哪些呢?
第一个:磁盘空间使用率。 磁盘空间的使用百分比。
第二个:磁盘 I/O 性能。 磁盘的读写性能。
第三个:存储增长趋势。 存储空间的增长趋势。
第四个:存储告警。 存储空间不足的告警。
存储使用情况查询:
# 磁盘空间使用率 100 * (1 - (node_filesystem_avail_bytes / node_filesystem_size_bytes)) # 磁盘 I/O 性能 rate(node_disk_read_bytes_total[5m]) rate(node_disk_written_bytes_total[5m]) # 磁盘 I/O 时间 rate(node_disk_io_time_seconds_total[5m])
本节小结
在本节中,我们学习了基础设施 Dashboard:
第一个是服务器资源使用。 监控 CPU、内存、磁盘使用情况,应用 USE 方法。
第二个是容器监控。 监控容器的资源使用情况,识别容器问题,优化容器配置。
第三个是网络流量。 监控网络流量情况,识别网络问题,优化网络性能。
第四个是存储使用情况。 监控存储空间使用情况,识别存储问题,规划存储扩展。
基础设施 Dashboard 设计流程: 选择关键指标 → 设计可视化 → 配置告警 → 建立基线 → 持续优化。
这就是基础设施 Dashboard。通过基础设施 Dashboard,我们可以全面监控基础设施的资源使用和健康状况。
在下一节,我们将学习业务指标 Dashboard。学习如何设计业务指标监控 Dashboard。