經過兩週的研究與測試,把Check_Mk摸得40%程度,在這裏簡單的總結一下並分享給大家,可能還存在問題,請大家多多指點。。
Check_mk 安裝
第 1 章 check_mk的介紹
Check_MK是一款通用的Nagios/Icinga數據採集插件,主要由三個子項目組成。它採用了新的方法從操作系統和網絡組件中收集數據和淘汰老式的NRPE、check_by_ssh、NSClient和check_snmp。其優點能夠自動檢測主機上的監控項目,並且在監控端的CPU使用率也顯著減少。其遵循CPL v2,是開源的免費軟件
第 2 章 工作原理
l Nagios每一次對所監控的主機每進行一次檢查的時間間隔觸發一個活動檢查。這種主動檢查將會觸發check_mk插件。
l check_mk通過TCP連接到目標主機。目標主機上的check_mk_agent檢索有關該主機的所有相關數據, 並將其以ASCII文本形式返回給服務器端(這樣的模式類似於zabbix哈~)。
l check_mk提取performanca數據直接返回給rrd。
l check_mk提取相關數據,比較所設置的warning/critical閥值,然後返回這臺主機通過Nagios的被動的服務檢查的檢查結果。
l 由於check_mk的圖比較炫而且其監控主機也比較方便,類似cacti一樣可以直接在web頁面進行添加,個人覺得很不錯,先上一些我配置完成的check_mk監控的圖。
第3章 開始安裝check_mk
Nagios你安裝了嗎?
既然check_mk是nagios的插件,那Nagios肯定是要裝的,在這裏就不多說Nagios的安裝了。
如果看到這時你的nagios還沒裝的話,請停下來,先去準備nagios環境吧,點擊跳轉 nagios安裝教程 (David_Tang這哥們寫的老詳細了)。
好了,相信你現在已經有一個nagios在運行了,那麼接下來我們開始安裝check_mk。
1,準備環境
由於 check_mk 是由 python 語言編寫的,所以必須要準備 python 的環境,並且 python的版本最低也得 2.3 但是 check_mk 又不兼容 python3,所以請確定你的 python 版本,我建議安裝 2.6.6 版本以上,原因後續會知道;
另外 check_mk 需要作爲非獨立守護進程運行,所以請安裝超級守護進程 xinetd。
還有,安裝 pnp4nagios、rrdtool(如果前面nagios 已經安裝過了就不用安裝了)
2,下載並安裝 check_mk
cd /tmp/ wget http://mathias-kettner.com/download/check_mk-1.2.4p5.tar.gz tar zxvfp check_mk-1.2.4p5.tar.gz cd check_mk-1.2.4 ./setup.sh
上面我配置的不是默認路徑,所以你會看到很多路徑都是/usr/local/
其實默認路徑不是這樣的,在這裏我介意大家用默認路徑
其實上面的操作,一路回車遇到yes敲yes,遇到no就敲no就行了
另外告訴一個小祕密:
其實在你執行腳本setup.sh 時,它會讀取/root/.check_mk_setup.conf 它是個隱藏的文件,
如果你覺得你的路徑沒選好,想要重新選擇,那麼請刪除 /root/.check_mk_setup.conf或直接修改裏面的路徑,然後你就可以重新執行setup.sh了
一切就緒後,重啓http和Nagios ,登錄http://ip地址/check_mk 即可訪問。
常見報錯:
問題1:
解決方法:
關閉SELinux即可
SELinux(安全增強型Linux)安裝後將默認使用強制模式。這會在你嘗試聯入Nagios的CGI時導致一個"內部服務錯誤"消息。
如果是SELinux處於強制安全模式時需要做
getenforce令SELinux處於容許模式
setenforce 0
如果要永久性更變它,需要更改/etc/selinux/config裏的設置並重啓系統。
不關閉SELinux或是永久性變更它的方法是讓CGI模塊在SELinux下指定強制目標模式:
chcon -R -t httpd_sys_content_t/usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t/usr/local/nagios/share/
問題2:
訪問網頁時報錯:
(以下錯誤只有谷歌瀏覽器才能顯示出來,IE貌似沒有這麼詳細的報錯,只是提示無法訪問)原因是缺少python模塊。
解決方法:(或者這樣解決:yum install mod_python)
#wgethttp://archive.apache.org/dist/httpd/modpython/mod_python-3.3.1.tgz
#tar zxvf mod_python-3.3.1.gz
#cd mod_python-3.3.1
#./configure--with-apxs=/usr/local/apache/bin/apxs --with-python=/usr/bin/python
#make
apxs:Error: Command failedwith rc=65536
make[1]: *** [mod_python.so]Error 1
make[1]: Leaving directory`/root/ndo/src/mod_python-3.3.1/src'
make: *** [do_dso] Error 2
原因是 Apache 的版本還太高 mod_python 未支持
#vim src/connobject.c
把!(b == APR_BRIGADE_SENTINEL(b)|| 改爲!(b == APR_BRIGADE_SENTINEL(bb) ||
#make clean
#make
#make install
在httpd.conf中增加
LoadModule python_modulemodules/mod_python.so
重啓apache,重新訪問正常
問題3:
登錄後出現以下情況:
原因及解決方法:權限問題,根據提示慢慢修改吧,以我個人經驗,如果出現以上大量的權限問題錯誤的話,建議重新配置安裝,因爲你安裝時破壞了它的一些結構性的東西,即使你一個一個去把權限搞定了,再以後的配置過程中依然會出現一些頭疼的錯誤,如果你的python學的很一般的話,就按默認路徑安裝!除非你想給自己找麻煩。
問題4:
登錄頁面後,缺少東西
不正常的圖,也是普通用戶登錄後的視圖 正常的圖,超級管理員登錄後的視圖
原因是訪問的用戶不是超級用戶,也就說沒權限。這個和你創建nagios web登錄用戶名有直接關係。
解決方法:
修改配置文件:multisite.mk
默認路徑:/etc/check_mk/etc/check_mk
將紅色框內的nagiosadmin改爲nagios web登錄用戶名即可,因爲nagios默認的web登錄用戶名爲nagiosadmin,所以這裏一定要改!總之,這裏這個用戶名一定要和nagios 的web用戶名一致。
問題5:
執行setup.sh 時報錯:
通過讀取安裝日誌:livestatus.log 得知是編譯安裝時報錯,錯誤截圖暫未截取
解決方法: 安裝 gcc-* libgcc-* 即可
問題6:
最常見的問題:
check_mk發不出報警郵件,其中常見的一個原因是python版本低 Python 2.6.6 可以發 而2.6.5的卻發不出來。
關於發不出報警郵件的詳細解決方法我已經放在網上了,後期再詳細往這裏寫吧
請參考http://www.cnyunwei.com/thread-22737-1-1.html