Monitoring

如何聚合 Munin 的介面流量圖?

  • April 16, 2021

我的目標是將 Munin 的介面流量圖聚合成一個堆疊圖,以便快速概覽所有伺服器的流量。

這是單個圖的範例,我想與其他相同類型的圖一起聚合。

單伺服器介面流量圖

除了我自己的實現之外,我還找到了幾個解決這個問題的“解決方案”(堆棧和求和),但沒有一個能按照我的計劃進行。

例如,以下“自製”解決方案將正確聚合/堆疊出站流量,但是,完全省略入站流量。

[exmaple.com;Totals]
   outside_traffic.graph_title Outbound traffic
   outside_traffic.graph_args --base 1000
   outside_traffic.graph_order down up
   outside_traffic.graph_category network
   outside_traffic.graph_vlabel bits in (-) / out (+) per ${graph_period}
   outside_traffic.graph_total Total
   outside_traffic.up.label outbound
   outside_traffic.up.type DERIVE
   outside_traffic.up.draw AREA
   outside_traffic.up.min 0
   outside_traffic.up.negative down
   outside_traffic.up.stack \
       kit-deu-01=kit-deu-01.example.com:if_enp0s31f6.up \
       pgsql1=pgsql1.example.com:if_eth0.up \
       proget1=proget1.example.com:if_eth0.up \
       redis1=redis1.example.com:if_eth0.up \
       salt=salt.example.com:if_eth0.up \
       secc=secc.example.com:if_eth0.up
   outside_traffic.down.label inbound
   outside_traffic.down.type DERIVE
   outside_traffic.down.draw AREA
   outside_traffic.down.graph no
   outside_traffic.down.min 0
   outside_traffic.down.stack \
       kit-deu-01=kit-deu-01.example.com:if_enp0s31f6.down \
       pgsql1=pgsql1.example.com:if_eth0.down \
       proget1=proget1.example.com:if_eth0.down \
       redis1=redis1.example.com:if_eth0.down \
       salt=salt.example.com:if_eth0.down \
       secc=secc.example.com:if_eth0.down

錯誤的聚合圖

我也嘗試省略outside_traffic.down.graph no,但這也沒有效果。

如何正確聚合圖表,以便在一個圖表中聚合正(出站)和負(入站)流量,就像單個源圖一樣?

這似乎不是直接可能的,因為http://guide.munin-monitoring.org/en/latest/develop/plugins/plugin-bcp.html#direction上的文件明確將negative方向參數描述為“黑客”

如果可以使用 CDEF,我認為有一種方法,但我現在看不到它,Google搜尋只會產生關於它不起作用的抱怨:)

引用自:https://serverfault.com/questions/1052072