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 多個字段可以怎麼去很好的理解呢?不過最後還是轉過來...