Nagios 同步插件 - get_all 实现¶
launchpad 蓝图: https://blueprints.launchpad.net/vitrage/+spec/synchronizer-nagios-get-all
此蓝图描述了 Vitrage 同步器的 Nagios 插件及其 get_all Nagios 服务(测试)的实现。
问题描述¶
Nagios 测试结果应通过 Vitrage 同步器添加到 Vitrage 图中。 这需要为 Nagios 编写一个同步器插件。
该插件应支持两种模式
get_all: 查询所有 Nagios 测试的结果,并将相应的事件发送到同步器
notifications: 在 Nagios 测试结果发生变化时通知同步器
此蓝图指的是 get_all 实现。
作为第一阶段,我们将仅支持 Nagios 3。
提议的变更¶
当前的 Nagios 插件将支持 Nagios 3.x。
Nagios 插件将配置为
Nagios URI,例如: http://10.45.1.10/monitoring/nagios/cgi-bin/status.cgi?host=all&limit=0
Nagios 凭据
轮询间隔(秒),默认为 60
每隔轮询间隔秒,Nagios 插件将调用 Nagios URI 以查询 Nagios 服务(测试)的结果。 它将解析返回的 html(Nagios 3.x 没有 REST API),创建 Nagios 事件并将它们发送到 Vitrage 图队列。
备选方案¶
无
数据模型影响¶
Nagios 事件将如下所示
字段 |
描述 |
示例 |
|---|---|---|
resource_name |
Nagios 主机名称 |
|
resource_type |
Nagios 主机类型 |
|
服务 |
Nagios 服务(测试)名称 |
|
status |
服务的状态 |
|
last_check |
上次检查服务的时间 |
2016-01-04 19:17:10 |
duration |
自上次状态更改以来的持续时间 |
1d 2h 55m 48s |
attempt |
尝试次数 |
1/3 |
status_info |
附加信息 |
|
vitrage_entity_type |
信息来源 |
nagios(常量值) |
REST API 影响¶
无
版本影响¶
无
其他最终用户影响¶
无
部署者影响¶
Nagios 插件应配置 Nagios URI、凭据和轮询间隔。
开发者影响¶
无
Horizon 影响¶
无
实现¶
负责人¶
- 主要负责人
ifat-afek
工作项¶
无
依赖项¶
无
测试¶
此蓝图需要单元测试和 Tempest 测试。
文档影响¶
应记录 Nagios 配置
参考资料¶
Nagios 配置: https://github.com/openstack/vitrage/blob/master/doc/source/nagios-config.rst
同步器主蓝图: https://github.com/openstack/vitrage-specs/blob/master/specs/mitaka/vitrage-synchronizer.rst