【Falcon】报警函数说明

配置报警策略的时候falcon支持多种报警触发函数

all(#3): 最新的3个点都满足阈值条件则报警
max(#3): 对于最新的3个点,其最大值满足阈值条件则报警
min(#3): 对于最新的3个点,其最小值满足阈值条件则报警
sum(#3): 对于最新的3个点,其和满足阈值条件则报警
avg(#3): 对于最新的3个点,其平均值满足阈值条件则报警
diff(#3): 拿最新push上来的点(被减数),与历史最新的3个点(3个减数)相减,得到3个差,只要有一个差满足阈值条件则报警
pdiff(#3): 拿最新push上来的点,与历史最新的3个点相减,得到3个差,再将3个差值分别除以减数,得到3个商值,只要有一个商值满足阈值则报警
exists(#2/3): 最新的3个点中有2个满足条件则报警,不同于open-falcon,open-falcon使用 lookup(#2,3)
  • 说明
    最常用的函数是all函数,cpu.idle all(#3) > 80,表示cpu.idle的值连续3次大于80%则报警
PerfCounter

PerfCounter是小米自己封装的,一个用于打点、上报到Falcon的工具包。
引用后可以通过PerfCounter提供的静态方法进行数据记录,PerfCounter默认每5分钟会将目前记录的数据push到Falcon agent。

PerfCounter.count(key, count);

此方法在被使用时,除了会产生基本的COUNTER类型的数据,还会基于EWMA算法计算带权重的指数移动平均值,包括1min/5min/15min,
单位: Counter per second。

这3个CPS值在程序内部每5秒刷新一次。

如何理解CPS-1-min all(#3) > 0.08 ?

我的理解是 每秒打点(EWMA算法计算后)0.08,5s上报一次即是0.40,1min有12个5s,即1min内有连续3次大于0.40就触发报警。
Q:0.40对应次数是多少?这个值怎么选?
A:对比基本的COUNTER类型的数据,大概能找到出问题的CPS的阈值,然后调整即可。

你可能感兴趣的:(【Falcon】报警函数说明)