如何在linux机器上设置网络流量警报?

时间:2017-09-22 15:29:16

标签: linux prometheus

我使用prometheus来监控linux机器上的网络流量。我看到了几个有用的指标,如node_network_receive_bytes,node_network_transmit_bytes,drop和errs。当我不知道机器的网络带宽时,在network_in和network_out上设置警报的更好方法是什么?

1 个答案:

答案 0 :(得分:2)

您应该使用一些查询来获得良好的网络监控结果。 我在Grafana上使用了一些查询,并与您分享:

  1. 热门查询:
  2.   

    查询出站 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}} - 入站

    1. 复杂的查询:
    2. 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上的指标的标签。