Nat*_*man 5 networking monitoring grafana
我在服务器上安装了 Telegraf,它包含以下网络配置:
[[inputs.net]]
interfaces = ["eth0"]
Run Code Online (Sandbox Code Playgroud)
这会将以下指标输入 InfluxDB:
bytes_recv,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,bytes_sentdrop_indrop_outerr_inerr_outicmp_inaddrmaskrepsicmp_inaddrmasksicmp_incsumerrorsicmp_indestunreachsicmp_inechorepsicmp_inechosicmp_inerrorsicmp_inmsgsicmp_inparmprobsicmp_inredirectsicmp_insrcquenchsicmp_intimeexcdsicmp_intimestamprepsicmp_intimestampsicmp_outaddrmaskrepsicmp_outaddrmasksicmp_outdestunreachsicmp_outechorepsicmp_outechosicmp_outerrorsicmp_outmsgsicmp_outparmprobsicmp_outredirectsicmp_outsrcquenchsicmp_outtimeexcdsicmp_outtimestamprepsicmp_outtimestampsip_defaultttlip_forwardingip_forwdatagramsip_fragcreatesip_fragfailsip_fragoksip_inaddrerrorsip_indeliversip_indiscardsip_inhdrerrorsip_inreceivesip_inunknownprotosip_outdiscardsip_outnoroutesip_outrequestsip_reasmfailsip_reasmoks ip_reasmreqds,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ip_reasmtimeoutpackets_recvpackets_senttcp_activeopenstcp_attemptfailstcp_currestabtcp_estabresetstcp_incsumerrorstcp_inerrstcp_insegstcp_maxconntcp_outrststcp_outsegstcp_passiveopenstcp_retranssegstcp_rtoalgorithmtcp_rtomaxtcp_rtominudp_ignoredmultiudp_incsumerrorsudp_indatagramsudp_inerrorsudp_noportsudp_outdatagramsudp_rcvbuferrorsudp_sndbuferrorsudplite_ignoredmultiudplite_incsumerrorsudplite_indatagramsudplite_inerrorsudplite_noportsudplite_outdatagramsudplite_rcvbuferrorsudplite_sndbuferrors
然后,我使用以下查询在 Grafana 中创建了一个面板:
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)
Run Code Online (Sandbox Code Playgroud)
(这derivative()是必要的,因为bytes_recv并且bytes_sent正在积累指标。)
我担心的是数据不准确。作为测试,我下载了一些非常大的文件 (1GB),并确认 ( )随着收到数据,ifconfig eth0该文件正在按预期数量增加。RX bytes然而,该图看起来像这样:
记录的指标没有任何变化。我究竟做错了什么?
提出问题后,我立即意识到问题所在。(提示头在桌子上)
Docker 为容器提供了一个虚拟以太网适配器,该适配器只能看到自己的流量。解决方案是:
--net=host...运行带有标志的容器