解决Grafana Node_exporter网卡流量监控不准确

最近服务器添加监控和报警后,发现服务器网卡流量监控不准确。因为我服务本身就10M带宽,但是这里的上行和下行带宽竟然高达30M。这里的模板我使用的是大家用的比较多的8919模板

1645251309953.png

搭建文档可以参考

    <img src="https://img.mryunwei.com/uploads/2023/05/20230504112504906.png" alt>

        <img src="https://img.mryunwei.com/uploads/2023/05/20230504112504906.png" alt>

            <h2>Prometheus 监控MySQL数据库</h2>

                <img src="https://img.mryunwei.com/uploads/2023/05/20230504112504167.gif">新闻联播老司机
                <li>
                        20年6月9日</li>
                    <li>
                        喜欢:0
                    </li>
                    <li>
                        浏览:4k
                    </li>

问题分析

首先我这里将grafana的出图语句复制下来进行分析1645251528243.png 我们复制监控项的语句到Prometheus上进行查看1645251660022.png 我没有添加任何规则,发现获取的网卡流量包含docker、lo以及eth的流量

解决问题

发现了问题后,我们需要修改一下语句,将docker网卡以及lo或者其它本地流量的网卡进行过滤(node_network_receive_bytes_total{device!~'tap.|veth.|br.|docker.|virbr|lo'} )

1645251909442.png

过滤完成后,修改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)
  • 修改完成后,我们发现监控的值是没有问题了,连接数和上行下行带宽也对的上,这个之前我也测试过了。

    1645252061325.png

    这些改完实际上到此为止是已经结束了,但是我发现还有一个问题,就是本来grafana模板给的是30M 图标变黄,1000M进行告警。但是目前我本地服务器的网络大部分是处于5-10M之间。也就是基本上跑满我带宽,grafana出图也不会告警。接下来我们就来修改grafana颜色变更阈值

    右边下滑到最下面,这里监控的单位是字节,也就是我们要设置3M-10M之间的字节

    1645252249644.png

    修改 换算单位

    3 M=3145728 字节
    10M =10485760 字节

    将下面grafana出图单位改成3145728,10485760

    1645252462723.png

    我这里将上下行都改成这个,具体按照实际情况进行修改

    接下来点击Apply更新

    1645252528383.png

    查看 目前来看已经恢复正常,左边为宝塔控制面板的网络监控,属于实时监控。右边为grafana出图监控,因为node_exporter属于静态监控,不能算是实时更新,受网络上报的影响。大小差距不大

    1645252871683.png

    相关文章:

    1. Docker 镜像及Docker仓库配置 [四]
    2. Docker 核心技术与实现原理
    3. Docker 基础介绍及配置安装 [一]
    4. 深入解析Docker 架构原理