运维运维
分类:
2010-04-25 21:21:15
一. 服务器环境
服务器数量多,服务器分散在各地.
二. 几款开源监控软件分析
功能 软件 |
自动发现 |
报警 |
agnet |
snmp |
Web控制 |
分布式监控 |
数据存储方式 |
自定义监控脚本 |
图形 |
故障处理 |
IPMI |
cacti |
Y |
Y |
N |
Y |
Y |
Y |
sql |
Y |
Y |
N |
N |
Hyperic |
Y |
Y |
Y |
Y |
Y |
N |
sql |
Y |
Y |
N |
N |
|
Y |
Y |
N |
Y |
Y |
Y |
sql |
N |
Y |
N |
N |
|
Y |
Y |
Y |
Y |
Y |
Y |
sql |
Y |
Y |
N |
Y |
|
Y |
Y |
N |
Y |
Y |
Y |
sql |
N |
Y |
N |
N |
Nagios |
N |
Y |
Y |
Y |
N |
Y |
file |
Y |
N |
Y |
Y |
三. 监控软件分析
1. Nagios
优点:(1)报警功能强大
(2)自定义监控脚本方便
(3)支持故障处理
(4)支持分布式部署
缺点:(1)无监控状态图形记录
(2)配置复杂
(3)客户端需要配置nrpe或nsca
2. Cacti
优点:(1)图形支持比较好
(2)web页面配置
(3)被监控服务器只需要启snmp协义即可
(4)支持分布式
缺点:(1)报警功能太烂
(2)自定义的监控脚本也需用通过snmp协议去调用
(3)不支持故障处理
(4)不支持IPMI
3. Zenoss
优点:(1)图形支持比较好
(2)web页面配置
(3)被监控服务器只需要启snmp协义即可
(4)支持分布式
缺点:(1)报警功能太烂
(2)自定义的监控脚本也需用通过snmp协议去调用
(3)对IE支持不是很好,用IE访问时经常会把zenoss服务搞死,需要用firefox
(4)不支持故障处理
(5)不支持IPMI
4. Hyperic
优点:(1)图形支持比较好
(2)web页面配置
缺点:(1)不支持IPMI
5. Zabbix
优点:(1)图形支持比较好
(2)web页面配置
(3)支持分布式
(4)报警功能强大
(5)自定义监控脚本方便
(6)支持IPMI
缺点:(1)配置复杂
(2)不支持故障处理
6. OpenNMS
优点:(1)图形支持比较好
(2)web页面配置
(3)被监控服务器只需要启snmp协义即可
(4)支持分布式
缺点:(1)自定义的监控脚本也需用通过snmp协议去调用
(2)不支持故障处理
(3)不支持IPMI
总结:
由于服务器个数多,机房分散,所以最好用分布式的监控,具统计像cacti和zenoss这样的基于snmp的监控软件,支持分布式部署,但是分布式部署后的监控服务器的个数依然没有多多少,而且这些软件的故障报警机制太差了,nagios的故障报警做的相当不错,因为zenoss对IE支持不是很好,所以用nagios可以和cacti结合,不用cacti对被监控做服务器信息收集,而是用nagios收集到的数据写入数据库,cacti去读。Nagios支持分布式部署是通过nsca来完成的,但是nsca是在被监控服务器执行脚本将数据发回nagios服务器,如果该主机down了就不能执行监控脚本,nagios服务器并不知道该主机down机,不会做报警,所以不推荐用nsca做分布式部署,可以在每个机房创建一个nrpe服务器,这样来避免这个问题。另外nagios配置是比较复杂,虽然他比较复杂,但是他给用户自己留的空间比较大。还有就是不知道监控服务器多了后cacti是否会有瓶颈,所以在做nagios和cacti整合时推荐也为nagios增加pnp或nagiosgrapher插件,虽然画出来的图不怎么样,但做一个备用。
另外从功能的分析上我觉得不错可以查看以上的列表。还有一个优点就是zabbix本身支持IPMI,这样如果用IPMI监控服务器硬件健康状态比较方便。Hyperic不支持IPMI如果将来用IPMI做硬件监控,是一个比较烦麻的事。
所以推荐使用zabbix或cacti+nagios的方式来做监控系统。Zabbix还要要进一步的了解。
四. 服务器硬件监控
1. IPMI
优点:独立于操作系统,可以重启服务器。
缺点:客户端需要独立配置ipmi
2. 用各服务器厂商工具去监控
缺点:不可以重启服务器,另外监控软件是基于操作系统的,可能监控到服务器有问题但重启一下服务器就会好的问题。
总结:
因为ipmi是独立于操作系统的,推荐使用ipmi做系统的监控。