aodh 流程分析

依赖库

依赖库 需要看下 cotyledon stevedore oslo_messaging

Aodh介绍

aodh是从ceilometer拆分出来的告警组件,现在主要包括:
evaluator 服务,notifier服务,listener服务。
evaluator 周期性的检查除了event类型之外的其他告警条件是否满足,如果校验有告警产生,则与notifier服务通信,进行告警通知
notifier 服务接收来自evaluator服务的通信,将触发的告警以日志,http请求等形式进行告警分发
listener 根据消息总线上面的 Event事件消息,检查相应的event类型的告警是否满足alarm的告警条件

Aodh notifier 服务

notifier 主服务 AlarmNotifierService

把 self.notifiers 传入 AlarmEndpoint 运行去消费信息

主要看AlarmEndpoint

这里就是alarm通知进程,调用用了 handle action下面來分析这个方法的主要代码:

notifier 调用 notify

具体起作用的类 是 LogAlarmNotifier RestAlarmNotifier

Aodh evaluator 服务

通过上面代码 进入 AlarmEvaluationService

evaluate_alarms -->_evaluate_assigned_alarms

--> _evaluate_alarm

aodh.evaluator.threshold.ThresholdEvaluator.evaluate 为例子

---> evaluate_rule

--> self._transition_alarm(alarm, *evaluation) --> _refresh

Aodh listener 服务

-->EventAlarmEvaluationService

--> EventAlarmEvaluator 代码

self._evaluate_alarm --> _fire_alarm

最终到 self._refresh: 也就是回到了notifer通知服务

HTTPX 基础教程-新乡seo|网站优化,网站建设_微信公众号:zeropython—昊天博客