I have Telegraf installed on a server and it contains the following network configuration:
[[inputs.net]]
interfaces = ["eth0"]
This feeds the following metrics into InfluxDB:
bytes_recv, bytes_sent, drop_in, drop_out, err_in, err_out, icmp_inaddrmaskreps, icmp_inaddrmasks, icmp_incsumerrors, icmp_indestunreachs, icmp_inechoreps, icmp_inechos, icmp_inerrors, icmp_inmsgs, icmp_inparmprobs, icmp_inredirects, icmp_insrcquenchs, icmp_intimeexcds, icmp_intimestampreps, icmp_intimestamps, icmp_outaddrmaskreps, icmp_outaddrmasks, icmp_outdestunreachs, icmp_outechoreps, icmp_outechos, icmp_outerrors, icmp_outmsgs, icmp_outparmprobs, icmp_outredirects, icmp_outsrcquenchs, icmp_outtimeexcds, icmp_outtimestampreps, icmp_outtimestamps, ip_defaultttl, ip_forwarding, ip_forwdatagrams, ip_fragcreates, ip_fragfails, ip_fragoks, ip_inaddrerrors, ip_indelivers, ip_indiscards, ip_inhdrerrors, ip_inreceives, ip_inunknownprotos, ip_outdiscards, ip_outnoroutes, ip_outrequests, ip_reasmfails, ip_reasmoks, ip_reasmreqds, ip_reasmtimeout, packets_recv, packets_sent, tcp_activeopens, tcp_attemptfails, tcp_currestab, tcp_estabresets, tcp_incsumerrors, tcp_inerrs, tcp_insegs, tcp_maxconn, tcp_outrsts, tcp_outsegs, tcp_passiveopens, tcp_retranssegs, tcp_rtoalgorithm, tcp_rtomax, tcp_rtomin, udp_ignoredmulti, udp_incsumerrors, udp_indatagrams, udp_inerrors, udp_noports, udp_outdatagrams, udp_rcvbuferrors, udp_sndbuferrors, udplite_ignoredmulti, udplite_incsumerrors, udplite_indatagrams, udplite_inerrors, udplite_noports, udplite_outdatagrams, udplite_rcvbuferrors, udplite_sndbuferrors
I then created a panel in Grafana with the following query:
SELECT
derivative(sum("bytes_sent"), 1s) AS "up",,
derivative(sum("bytes_recv"), 1s) AS "down"
FROM
"autogen"."net"
WHERE
"interface" = 'eth0' AND
$timeFilter
GROUP BY
time($__interval)
fill(null)
(The derivative() is necessary since bytes_recv and bytes_sent are accumulating metrics.)
My concern is that the data is not accurate. As a test, I downloaded some very large files (1GB) and confirmed (ifconfig eth0) that RX bytes was increasing by the expected amount as data was received. However, the graph looks like this:
There is no change whatsoever to the metrics being recorded. What am I doing wrong?
Details
- Host is running Ubuntu Server 16.04
- Telegraf, InfluxDB, and Grafana are running in Docker
