OpenStack 监控 - 整合Nagios 调研总结

1. nagios是什么?
nagios 企业级开源监控系统,通过强大的插件和附件功能,对于host,service,network,alert提供丰富的监控功能。
以下为nagios的主要功能点:
a 监控网络服务(SMTP,POP3,HTTP,NNTP,PING)
b 监控host资源(PS Load,Disk useage,CPU,MEM)
c 支持插件设计,轻松开发实现服务check
d 支持addon,网络拓扑,notification,alert(需要额外编码工作),log。
f 提供web界面


2. nagios能做什么?
a 监控host service network
b 数据持久化,用来做历史数据
c 远程监控
d 强大的plugin和addon
e 做email,sms的notification
f 部分插件能实现alert
g 做excel或者pdf的report
h nagios core支持python接口
i 提供REST 接口,备注:ruby实现,具有代码维护难度
j 前台的addon支持: maps diagrams gui
k 部署方便
l 在vm资源方面暂时未找到优良的plugin。


3. nagios怎么做?
a 监控host service network
  HOST:CPU MEM DISK NET
  Service: 通过监控ps,port,http实现监控
  network: DHCP,DNS,Route
b 数据持久化,用来做历史数据
  NDOUtils:实现与mysql的对接,doc提供tables的schema
c 远程监控
  NRPE:为监控远程host的addon
d 强大的plugin和addon
  http://exchange.nagios.org/directory/ 插件和addon的聚集地
e 做email,sms的notification
f 部分插件能实现alert
g 做excel或者pdf的report
h nagios core支持python接口
i 提供REST 接口,备注:ruby实现,具有代码维护难度
j 前台的addon支持: maps diagrams gui
k 部署方便
  在controller中部署nagios core(主监控进程)、plugin(libexec目录下),NDOUtils(存放历史数据)
  在computer中部署nrpe(远程监控进程)、plugin(libexec目录下)
l 在vm资源方面暂时未找到优良的plugin。
具体请参看:
http://library.nagios.com/library/products/nagioscore/manuals
[备注] nagios的官方文档,很给力,介绍很详细。


4. openstack监控的内容包括哪些?
Piotr Siwczak的高层次的监控需求分析:http://www.mirantis.com/blog/openstack-monitoring/
主要包括以下三个方面:
Cloud hardware and services:
主要包括openstack环境中host,network等硬件设备的监控和重要的service 进程监控,由以上分析可知,nagios完全可以胜任。
User’s cloud ecosystem:
主要包括监控用户资源的使用情况,quota为上限,已创建的vm,vm的状态等,建议使用openstack原生的api实现。
Performance of cloud resources:
host硬件性能监控,nagios可以实现,但主要还是当前的性能展示。


5. 已完成的工作总结:
a 完成nagios的安装部署测试。
b 梳理完成nagios有价值的plugin和addon


6. 待完成工作包括:
a plugin 和addon 的参数和数据结果
b nagiso的python接口。
c 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
  缺点: 代码量相对较高。

相关推荐