最近服务器添加监控和报警后,发现服务器网卡流量监控不准确。因为我服务本身就10M带宽,但是这里的上行和下行带宽竟然高达30M。这里的模板我使用的是大家用的比较多的8919模板
搭建文档可以参考
Prometheus 监控MySQL数据库
新闻联播老司机
问题分析
首先我这里将grafana的出图语句复制下来进行分析
我们复制监控项的语句到Prometheus上进行查看
我没有添加任何规则,发现获取的网卡流量包含docker、lo以及eth的流量
解决问题
发现了问题后,我们需要修改一下语句,将docker网卡以及lo或者其它本地流量的网卡进行过滤(node_network_receive_bytes_total{device!~'tap.*|veth.*|br.*|docker.*|virbr*|lo*'} )
过滤完成后,修改grafana语句
max(rate(node_network_transmit_bytes_total{device!~'tap.*|veth.*|br.*|docker.*|virbr*|lo*'}[$interval])) by (instance)
max(rate(node_network_receive_bytes_total{device!~'tap.*|veth.*|br.*|docker.*|virbr*|lo*'} [$interval])) by (instance)
修改完成后,我们发现监控的值是没有问题了,连接数和上行下行带宽也对的上,这个之前我也测试过了。
这些改完实际上到此为止是已经结束了,但是我发现还有一个问题,就是本来grafana模板给的是30M 图标变黄,1000M进行告警。但是目前我本地服务器的网络大部分是处于5-10M之间。也就是基本上跑满我带宽,grafana出图也不会告警。接下来我们就来修改grafana颜色变更阈值
右边下滑到最下面,这里监控的单位是字节,也就是我们要设置3M-10M之间的字节
修改
换算单位
3 M=3145728 字节 10M =10485760 字节
将下面grafana出图单位改成3145728,10485760
我这里将上下行都改成这个,具体按照实际情况进行修改
接下来点击Apply更新
查看
目前来看已经恢复正常,左边为宝塔控制面板的网络监控,属于实时监控。右边为grafana出图监控,因为node_exporter属于静态监控,不能算是实时更新,受网络上报的影响。大小差距不大
相关文章:
- Docker 镜像及Docker仓库配置 [四]
- Docker 核心技术与实现原理
- Docker 基础介绍及配置安装 [一]
- 深入解析Docker 架构原理