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