我使用prometheus来监控linux机器上的网络流量。我看到了几个有用的指标,如node_network_receive_bytes,node_network_transmit_bytes,drop和errs。当我不知道机器的网络带宽时,在network_in和network_out上设置警报的更好方法是什么?
答案 0 :(得分:2)
您应该使用一些查询来获得良好的网络监控结果。 我在Grafana上使用了一些查询,并与您分享:
查询出站
sum (irate(node_network_transmit_bytes{hostname=~"$hostname", device!~"lo|bond[0-9]|cbr[0-9]|veth.*"}[1m])) by (hostname) > 0
图例格式:{{hostname}} - {{device}} - 出站
查询入站
sum (irate(node_network_receive_bytes{hostname=~"$hostname", device!~"lo|bond[0-9]|cbr[0-9]|veth.*"}[1m])) by (hostname) > 0
图例格式:{{hostname}} - {{device}} - 入站
eno(或任何你想要的东西)设备的网络特性:
图例格式:
{{hostname}} - ({{device}})_in
愤怒(node_network_receive_bytes {主机名=〜' $主机名',设备=〜" ^烯*"} [5分])* 8
图例格式:
{{hostname}} - ({{device}})_out
愤怒(node_network_transmit_bytes {主机名=〜' $主机名',设备=〜" ^烯*"} [5分])* 8
<强> netstas:强>
图例格式:
{{hostname}} established
node_netstat_Tcp_CurrEstab {主机名=〜&#39; $主机名&#39;}
udp stat:
愤怒(node_netstat_Udp_InDatagrams {主机名=〜&#34; $主机名&#34;} [5分])
愤怒(node_netstat_Udp_InErrors {主机名=〜&#34; $主机名&#34;} [5分])
愤怒(node_netstat_Udp_OutDatagrams {主机名=〜&#34; $主机名&#34;} [5分])
愤怒(node_netstat_Udp_NoPorts {主机名=〜&#34; $主机名&#34;} [5分])
<强>合同强>
图例格式:
Queue Used ({{hostname}})
node_nf_conntrack_entries {hostname =〜&#34; $ hostname&#34;} / node_nf_conntrack_entries_limit {hostname =〜&#34; $ hostname&#34;}
请注意主机名。它是Grafan上的模板变量。和图例格式是解析Grafana上的指标的标签。