OpenFalcon關於聚合監控方面的實踐總結

2021-08-20 09:28:00 字數 2797 閱讀 6155

openfalcon集群監控實現

集群監控的本質是乙個聚合功能,把整個集群的機器(體現為某個hostgroup下的機器)綜合起來看某項監控指標,把這個指標重新push回指定的監控server端,以便檢視該指標的歷史趨勢圖,為該指標配置報警策略,以此來達到從單個維度來監控整個集群的效果。openfalcon集群監控是用aggregator元件配合告警模板實現,aggregator提供整個集群機器的某項指標聚合功能,告警模板配置該項指標的告警策略。

使用者要在某個hostgroup下去新增集群聚合規則,這個規則涵蓋的機器是當前這個hostgroup下的機器。整個集群的監控指標計算是乙個除法,有分子和分母。監控指標是每個機器應該都應該有的counter,每個counter在書寫的時候要求用$()包裹起來,多個counter之間支援加減計算,不支援乘法、除法、括號。分子和分母不但支援配置counter,也支援配置純數字,支援配置「$#」,「$#」表示的是正常查到資料的機器數量,具體詳細資訊見

在使用aggregator集群聚合監控時,需要進行兩個配置: cluster配置和策略配置。下面舉兩個例子來說明cluster配置實現規則。

舉例1:監控整個集群的管理網(eth0)出流量

單台機器管理網(eth0)出流量監控指標是net.if.out.bytes/iface=eth0

cluster配置:

分子:

$(net.if.out.bytes/iface=eth0

)  //拿著hostgroup下的所有機器去query這個counter的最新值,不同機器計算出來counter值要相加

分母:

endpoint:

compute-172-16-30-117     //當前集群下任乙個endpoint,即用來檢視集群監控資料的server端

metric

net.all.outbytes              //可以自定義,配置報警的時候用到

:name=allnet.outbytes     //可以自定義,配置報警的時候用到

匯報週期略。

舉例2:監控整個集群的管理網(eth0)平均丟包量

單台機器管理網(eth0)丟包量監控指標是net.if.total.dropped/iface=eth0

cluster配置:

分子:

$(net.if.total.dropped/iface=eth0

)分母:

endpoint:

compute-172-16-30-117           //當前集群下任乙個endpoint,即用來檢視集群監控資料的server端

metric

net.all.totaldropped               //可以自定義,配置報警的時候用到

:name=allnet.totaldropped        //可以自定義,配置報警的時候用到

匯報週期略。

舉例3:監控整個集群的管理網(eth0)平均丟包率

單台機器管理網(eth0)丟包量監控指標是net.if.total.dropped/iface=eth0

單台機器管理網(eth0)總包量監控指標是net.if.total.packets/iface=eth0

cluster配置:

分子:

$(net.if.total.dropped/iface=eth0

)分母:

$(net.if.total.packets/iface=eth0)

endpoint:

compute-172-16-30-117         //當前集群下任乙個endpoint,即用來檢視集群監控資料的server端

metric

net.dropped.percent             //可以自定義,配置報警的時候用到

:name=dropped.percent          //可以自定義,配置報警的時候用到

匯報週期略。

上述例中對於分子而言,我們就會拿著hostgroup下的所有機器去query這個counter的最新值,然後把所有值相加(不同機器計算出來的分子要相加),但是有的機器可能查不到資料,$#表示的是正常查到資料的機器數量。整個表示式假設涉及到3個counter,對某個機器而言,必須3個counter都查到資料才被使用,只要有乙個counter沒有查到資料,那就忽略這個機器。

注意:

分子、分母中至少配置乙個counter,不能都配置成純數字或$#,因為這種配置是沒啥意義的。除了配置分子、分母之外,還有很多其他配置,比如endpoint、metric、tags、step等等,這些是為了把資料重新push回監控server的時候用的。監控的資料有好幾個字段,缺一不可,我們可以計算出集群監控指標的value和時間戳,但是無法自動填充endpoint、metric、tags、step等字段,所以,仍然要使用者手工填寫。

turbine聚合監控 監控服務間呼叫和監控熔斷

hystrixdashboard 主要的功能是可以針對於某一項微服務進行監控,但是如果說現在有許多的微服務需要進行整體的監控,那 麼這種情況下就可以利用 turbine 技術來實現。com.netflix.turbine.monitor.instance.instancemonitor miscon...

zabbix配置交換機多個埠聚合流量監控

zabbix web版本 5.0 一 業務需求 針對某些交換機的一些指定埠,分別為其流入流出流量之和配置監控項,並在一張圖形中進行展示。二 配置交換機snmp監控 新增主機 我這裡snmp團體字是在巨集中進行配置 新增模板 新增主機後等待一段時間,主機snmp變為綠色即表明配置成功。三 配置埠流出流...

關於GROUP BY和聚合函式

寫在前面的話 用了好久group by,今天早上一覺醒來,突然感覺group by好陌生,總有個筋別不過來,為什麼不能夠select from table group by id,為什麼一定不能是 而是某乙個列或者某個列的聚合函式,group by 多個字段可以怎麼去很好的理解呢?不過最後還是轉過來...