OpenFalcon关于聚合监控方面的实践总结

本文介绍了OpenFalcon如何实现集群监控,通过aggregator组件和告警模板,结合集群聚合规则,监控集群的网络流量、丢包量及丢包率。用户需要配置cluster和策略,包括分子、分母的counter选择,以及endpoint、metric、tags等信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OpenFalcon集群监控实现

一、概述

     集群监控的本质是一个聚合功能,把整个集群的机器(体现为某个HostGroup下的机器)综合起来看某项监控指标,把这个指标重新push回指定的监控server端,以便查看该指标的历史趋势图,为该指标配置报警策略,以此来达到从单个维度来监控整个集群的效果。Openfalcon集群监控是用aggregator组件配合告警模板实现,aggregator提供整个集群机器的某项指标聚合功能,告警模板配置该项指标的告警策略。

二、实现原理

    用户要在某个HostGroup下去添加集群聚合规则,这个规则涵盖的机器是当前这个HostGroup下的机器。整个集群的监控指标计算是一个除法,有分子和分母。监控指标是每个机器应该都应该有的counter,每个counter在书写的时候要求用$()包裹起来,多个counter之间支持加减计算,不支持乘法、除法、括号。分子和分母不但支持配置counter,也支持配置纯数字,支持配置“$#”,“$#”表示的是正常查到数据的机器数量,具体详细信息见https://book.open-falcon.org/zh/usage/aggregator.html。

三、实现规则(参见官网说明举例)

在使用aggregator集群聚合监控时,需要进行两个配置: cluster配置和策略配置。下面举两个例子来说明cluster配置实现规则。

举例1:监控整个集群的管理网(eth0)出流量

单台机器管理网(eth0)出流量监控指标是net.if.out.bytes/iface=eth0

Cluster配置:

分子:

$(net.if.out.bytes/iface=eth0)  //拿着HostGroup下的所有机器去query这个counter的最新值,不同机器计算出来counter值要相加

分母:

1

endpoint:

Compute-172-16-30-117     //当前集群下任一个endpoint,即用来查看集群监控数据的server端

metric

Net.all.outbytes              //可以自定义,配置报警的时候用到

tags:

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               //可以自定义,配置报警的时候用到

tags:

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             //可以自定义,配置报警的时候用到

tags:

name=dropped.percent          //可以自定义,配置报警的时候用到

汇报周期略。

上述例中对于分子而言,我们就会拿着HostGroup下的所有机器去query这个counter的最新值,然后把所有值相加(不同机器计算出来的分子要相加),但是有的机器可能查不到数据,$#表示的是正常查到数据的机器数量。整个表达式假设涉及到3个counter,对某个机器而言,必须3个counter都查到数据才被使用,只要有一个counter没有查到数据,那就忽略这个机器。

注意:

分子、分母中至少配置一个counter,不能都配置成纯数字或$#,因为这种配置是没啥意义的。除了配置分子、分母之外,还有很多其他配置,比如endpoint、metric、tags、step等等,这些是为了把数据重新push回监控server的时候用的。监控的数据有好几个字段,缺一不可,我们可以计算出集群监控指标的value和时间戳,但是无法自动填充endpoint、metric、tags、step等字段,所以,仍然要用户手工填写。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值