12.4基础设施Dashboard

分类: 全栈 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。