1. Nagios是什么?
Nagios 企业级开源监控系统,通过强大的插件和附件功能,对于host,service,network,alert提供丰富的监控功能。
以下为Nagios的主要功能点:
- 监控网络服务(SMTP,POP3,HTTP,NNTP,PING)
- 监控host资源(PS Load,Disk useage,CPU,MEM)
- 支持插件设计,轻松开发实现服务check
- 支持addon,网络拓扑,notification,alert(需要额外编码工作),log。
- 提供web界面
2. Nagios能做什么?
- 监控host service network
- 数据持久化,用来做历史数据
- 远程监控
- 强大的plugin和addon
- 做email,sms的notification
- 部分插件能实现alert
- 做excel或者pdf的report
- Nagios core支持python接口
- 提供REST 接口,备注:ruby实现,具有代码维护难度
- 前台的addon支持: maps diagrams gui
- 部署方便
- 在vm资源方面暂时未找到优良的plugin
3. Nagios怎么做?
1、监控host service network
- HOST:CPU MEM DISK NET
- Service: 通过监控ps,port,http实现监控
- network: DHCP,DNS,Route
2、数据持久化,用来做历史数据
NDOUtils:实现与mysql的对接,doc提供tables的schema
3、远程监控
- NRPE:为监控远程host的addon
- 强大的plugin和addon(http://exchange.Nagios.org/directory/ 插件和addon的聚集地)
- 做email,sms的notification
- 部分插件能实现alert
- 做excel或者pdf的report
- Nagios core支持python接口
- 提供REST 接口,备注:ruby实现,具有代码维护难度
- 前台的addon支持: maps diagrams gui
- 部署方便(在controller中部署Nagios core(主监控进程)、plugin(libexec目录下),NDOUtils(存放历史数据);在computer中部署nrpe(远程监控进程)、plugin(libexec目录下)
- 在vm资源方面暂时未找到优良的plugin。具体请参看:[备注] Nagios的官方文档,很给力,介绍很详细。
4. openstack监控的内容包括哪些?
Piotr Siwczak的高层次的监控需求分析,主要包括以下三个方面:
A、Cloud hardware and services:
主要包括openstack环境中host,network等硬件设备的监控和重要的service 进程监控,由以上分析可知,Nagios完全可以胜任。
B、User’s cloud ecosystem:
主要包括监控用户资源的使用情况,quota为上限,已创建的vm,vm的状态等,建议使用openstack原生的api实现。
C、Performance of cloud resources:
host硬件性能监控,Nagios可以实现,但主要还是当前的性能展示。
5. 已完成的工作总结:
- 完成Nagios的安装部署测试。
- 梳理完成Nagios有价值的plugin和addon
6. 待完成工作包括:
- plugin 和addon 的参数和数据结果
- nagiso的python接口。
- Nagios的wsgi API接口。
7. 整合思路建议?
a horizon中直接调用Nagios的python接口处理conf,调用plugin cmd。
优点: 实现简单,不依赖三方的wsgi addon。
缺点: horizon和Nagios 耦合性高,horizon需要和Nagios一起部署。
b 使用Nagios的wsgi addon
优点: 部署成功后,直接使用,代码量最少。
缺点: API 以来addon,同时ruby实现,不利于api扩展。
c 扩展nova-api
优点: API灵活,Nagios已扩展模块的形式加入监控,horizon直接使用原生态的API
缺点: 代码量相对较高。