Faced with such a problem. Grafana+Prometheus and InfluxDB+Telegraf monitoring systems are configured in my project for server network traffic visualization.
Metrics node_network_transmit_bytes_total{device=”ens5″} (Prometheus) and bytes_sent (Telegraf) respectively. However, it seems to me that they are broadcasting incorrect data. Here is a cut for a certain time according to them.
Prometheus
node_network_transmit_bytes_total{device="ens5"} 6.3817878091e+10
node_network_transmit_bytes_total{device="ens5"} 6.3820102473e+10
node_network_transmit_bytes_total{device="ens5"} 6.3820320276e+10
node_network_transmit_bytes_total{device="ens5"} 6.3820437813e+10
Telegraf + InfluxDB flux query
|> filter(fn: (r) => r._measurement == "net")
|> filter(fn: (r) => r._field == "bytes_sent")
|> filter(fn: (r) => r.interface == ens5)
63,813,593,960.50
63,818,323,263.75
63,820,210,649.33
63,825,585,461.67
Also slice for the same time on bmon directly on the server.
ens5 │ 2.35KiB 0 │ 1.79KiB 7
ens5 │ 5.55KiB 0 │ 2.46KiB 12
ens5 │ 7.74KiB 0 │ 5.92KiB 35
ens5 │ 11.94KiB 0 │ 3.98KiB 26
ens5 │ 38.07KiB 0 │ 12.34KiB 84
ens5 │ 41.95KiB 0 │ 9.78KiB 80
That is, the graph line for both metrics is quite uniform, without significant traffic jumps. However, if you look at the server, the situation is a little different.
Maybe I missed something?