如何使用 Prometheus 在 Linux 机器上设置网络流量警报?
How can I setup network traffic alerts on a Linux machine using Prometheus?
我正在使用 Prometheus 监控 Linux 机器上的网络流量。我看到了几个有用的指标,例如 node_network_receive_bytes_total
、node_network_transmit_bytes_total
和 node_network_receive_errs_total
。当我不知道机器的网络带宽时,如何设置网络流量警报?
您应该使用一些查询来获得良好的网络监控效果。
我在 Grafana 上使用了一些查询,并与您分享:
- 热门查询:
Query-outbound sum (irate(node_network_transmit_bytes{hostname=~"$hostname", device!~"lo|bond[0-9]|cbr[0-9]|veth.*"}[1m])) by (hostname) > 0
Legend format: {{hostname}} - {{device}} - outbound
Query-inbound sum (irate(node_network_receive_bytes{hostname=~"$hostname", device!~"lo|bond[0-9]|cbr[0-9]|veth.*"}[1m])) by (hostname) > 0
Legend format: {{hostname}} - {{device}} - inbound
- 复杂查询:
eno(或您想要的任何东西)设备的网络 terafic:
Legend format: {{hostname}} - ({{device}})_in
irate(node_network_receive_bytes{hostname=~'$hostname',device=~"^en.*"}[5m])*8
Legend format: {{hostname}} - ({{device}})_out
irate(node_network_transmit_bytes{hostname=~'$hostname',device=~"^en.*"}[5m])*8
网络:
Legend format: {{hostname}} established
node_netstat_Tcp_CurrEstab{hostname=~'$hostname'}
udp 统计数据:
irate(node_netstat_Udp_InDatagrams{hostname=~"$hostname"}[5m])
irate(node_netstat_Udp_InErrors{hostname=~"$hostname"}[5m])
irate(node_netstat_Udp_OutDatagrams{hostname=~"$hostname"}[5m])
irate(node_netstat_Udp_NoPorts{hostname=~"$hostname"}[5m])
合同
Legend format: Queue Used ({{hostname}})
node_nf_conntrack_entries{hostname=~"$hostname"}/node_nf_conntrack_entries_limit{hostname=~"$hostname"}
请注意主机名。它是 Grafan 上的模板变量。图例格式是 Grafana 上指标的标签解析。
我正在使用 Prometheus 监控 Linux 机器上的网络流量。我看到了几个有用的指标,例如 node_network_receive_bytes_total
、node_network_transmit_bytes_total
和 node_network_receive_errs_total
。当我不知道机器的网络带宽时,如何设置网络流量警报?
您应该使用一些查询来获得良好的网络监控效果。 我在 Grafana 上使用了一些查询,并与您分享:
- 热门查询:
Query-outbound
sum (irate(node_network_transmit_bytes{hostname=~"$hostname", device!~"lo|bond[0-9]|cbr[0-9]|veth.*"}[1m])) by (hostname) > 0
Legend format: {{hostname}} - {{device}} - outbound
Query-inbound
sum (irate(node_network_receive_bytes{hostname=~"$hostname", device!~"lo|bond[0-9]|cbr[0-9]|veth.*"}[1m])) by (hostname) > 0
Legend format: {{hostname}} - {{device}} - inbound
- 复杂查询:
eno(或您想要的任何东西)设备的网络 terafic:
Legend format:
{{hostname}} - ({{device}})_in
irate(node_network_receive_bytes{hostname=~'$hostname',device=~"^en.*"}[5m])*8
Legend format:
{{hostname}} - ({{device}})_out
irate(node_network_transmit_bytes{hostname=~'$hostname',device=~"^en.*"}[5m])*8
网络:
Legend format:
{{hostname}} established
node_netstat_Tcp_CurrEstab{hostname=~'$hostname'}
udp 统计数据:
irate(node_netstat_Udp_InDatagrams{hostname=~"$hostname"}[5m])
irate(node_netstat_Udp_InErrors{hostname=~"$hostname"}[5m])
irate(node_netstat_Udp_OutDatagrams{hostname=~"$hostname"}[5m])
irate(node_netstat_Udp_NoPorts{hostname=~"$hostname"}[5m])
合同
Legend format:
Queue Used ({{hostname}})
node_nf_conntrack_entries{hostname=~"$hostname"}/node_nf_conntrack_entries_limit{hostname=~"$hostname"}
请注意主机名。它是 Grafan 上的模板变量。图例格式是 Grafana 上指标的标签解析。