OpenStack監(jiān)控:整合Nagios調(diào)研總結(jié)
1. Nagios是什么?
Nagios 企業(yè)級(jí)開源監(jiān)控系統(tǒng),通過強(qiáng)大的插件和附件功能,對(duì)于host,service,network,alert提供豐富的監(jiān)控功能。
以下為Nagios的主要功能點(diǎn):
- 監(jiān)控網(wǎng)絡(luò)服務(wù)(SMTP,POP3,HTTP,NNTP,PING)
- 監(jiān)控host資源(PS Load,Disk useage,CPU,MEM)
- 支持插件設(shè)計(jì),輕松開發(fā)實(shí)現(xiàn)服務(wù)check
- 支持addon,網(wǎng)絡(luò)拓?fù)洌琻otification,alert(需要額外編碼工作),log。
- 提供web界面
2. Nagios能做什么?
- 監(jiān)控host service network
- 數(shù)據(jù)持久化,用來做歷史數(shù)據(jù)
- 遠(yuǎn)程監(jiān)控
- 強(qiáng)大的plugin和addon
- 做email,sms的notification
- 部分插件能實(shí)現(xiàn)alert
- 做excel或者pdf的report
- Nagios core支持python接口
- 提供REST 接口,備注:ruby實(shí)現(xiàn),具有代碼維護(hù)難度
- 前臺(tái)的addon支持: maps diagrams gui
- 部署方便
- 在vm資源方面暫時(shí)未找到優(yōu)良的plugin
3. Nagios怎么做?
1、監(jiān)控host service network
- HOST:CPU MEM DISK NET
- Service: 通過監(jiān)控ps,port,http實(shí)現(xiàn)監(jiān)控
- network: DHCP,DNS,Route
2、數(shù)據(jù)持久化,用來做歷史數(shù)據(jù)
NDOUtils:實(shí)現(xiàn)與mysql的對(duì)接,doc提供tables的schema
3、遠(yuǎn)程監(jiān)控
- NRPE:為監(jiān)控遠(yuǎn)程host的addon
- 強(qiáng)大的plugin和addon(http://exchange.Nagios.org/directory/ 插件和addon的聚集地)
- 做email,sms的notification
- 部分插件能實(shí)現(xiàn)alert
- 做excel或者pdf的report
- Nagios core支持python接口
- 提供REST 接口,備注:ruby實(shí)現(xiàn),具有代碼維護(hù)難度
- 前臺(tái)的addon支持: maps diagrams gui
- 部署方便(在controller中部署Nagios core(主監(jiān)控進(jìn)程)、plugin(libexec目錄下),NDOUtils(存放歷史數(shù)據(jù));在computer中部署nrpe(遠(yuǎn)程監(jiān)控進(jìn)程)、plugin(libexec目錄下)
- 在vm資源方面暫時(shí)未找到優(yōu)良的plugin。具體請(qǐng)參看:[備注] Nagios的官方文檔,很給力,介紹很詳細(xì)。
4. openstack監(jiān)控的內(nèi)容包括哪些?
Piotr Siwczak的高層次的監(jiān)控需求分析,主要包括以下三個(gè)方面:
A、Cloud hardware and services:
主要包括openstack環(huán)境中host,network等硬件設(shè)備的監(jiān)控和重要的service 進(jìn)程監(jiān)控,由以上分析可知,Nagios完全可以勝任。
B、User’s cloud ecosystem:
主要包括監(jiān)控用戶資源的使用情況,quota為上限,已創(chuàng)建的vm,vm的狀態(tài)等,建議使用openstack原生的api實(shí)現(xiàn)。
C、Performance of cloud resources:
host硬件性能監(jiān)控,Nagios可以實(shí)現(xiàn),但主要還是當(dāng)前的性能展示。
5. 已完成的工作總結(jié):
- 完成Nagios的安裝部署測(cè)試。
- 梳理完成Nagios有價(jià)值的plugin和addon
6. 待完成工作包括:
- plugin 和addon 的參數(shù)和數(shù)據(jù)結(jié)果
- nagiso的python接口。
- Nagios的wsgi API接口。
7. 整合思路建議?
a horizon中直接調(diào)用Nagios的python接口處理conf,調(diào)用plugin cmd。
優(yōu)點(diǎn): 實(shí)現(xiàn)簡(jiǎn)單,不依賴三方的wsgi addon。
缺點(diǎn): horizon和Nagios 耦合性高,horizon需要和Nagios一起部署。
b 使用Nagios的wsgi addon
優(yōu)點(diǎn): 部署成功后,直接使用,代碼量最少。
缺點(diǎn): API 以來addon,同時(shí)ruby實(shí)現(xiàn),不利于api擴(kuò)展。
c 擴(kuò)展nova-api
優(yōu)點(diǎn): API靈活,Nagios已擴(kuò)展模塊的形式加入監(jiān)控,horizon直接使用原生態(tài)的API
缺點(diǎn): 代碼量相對(duì)較高。