接觸Nagios 也有一段時間了,個人感覺Nagios 相對來說配置起來還是比較簡單的,而且報警功能很強大,圖形化也做的還不錯。特別是結合了NagioSQL 這個插件之後,直接就是通過一個web端管理Nagios的配置,使其變得更加的簡單,快捷。
由於之前也寫過相關安裝配置的文章,這裏就不在累述,只是作爲一個彙總,爲有需要的朋友提供一個清晰的目錄結構:
(1)Nagios 介紹
(4)Nagios 監控客戶端外部信息(端口,服務,ping等)
(5)Nagios 監控客戶端內部信息(cpu,內存,磁盤空間使用情況等)
(10)Nagios 監控路由器、交換機
以上其實都是之前寫過的文章,不過沒有很好的彙總起來,現在有時間就彙總一下,方便有需要的朋友快速查閱。根據多人反饋,安裝上面的過程一步步下來是可以達到最終效果的,但這並不代表說其他人按照上面的步驟來就一定能順利,可能環境不同,包的版本不同也可能造成其他新的問題。爲了避免因爲包版本問題導致實驗報錯,這裏我也順便提供一下,本實驗所使用到的所有軟件包:
點擊下載:http://down.51cto.com/data/699395
如果實驗過程還有其他問題的話,歡迎大家提出來交流交流。
另外,由於最近經常需要重複性的配置搭建類似的環境,於是抽空把配置過程寫成了shell 腳本,其中包括LNMP ,LAMP 還有Nagios 的腳本。這裏我也附上下載地址:
LAMP : http://down.51cto.com/data/874195
LNMP : http://down.51cto.com/data/872036
下面的腳本,是我根據上述博文將安裝配置過程寫成shell 腳本。
需要注意的是:
(1) 需要實現下載好相關軟件包
(2) 將腳本與軟件包放置在同一目錄下
(3) 事先配置好yum
(4) 實驗是在關閉iptables和SELinux的情況下進行的
(5) 該腳本運行環境是:CentOS 6.3 最小化安裝
這裏再提一下,本腳本我在這邊虛擬機測試過沒問題了,但是由於時間精力有限,也沒有在其他環境下測試過,不知道跑起來怎麼樣,如果能看到的朋友,可以參照我上述的博文,根據需要自行修改。
Nagios腳本下載:
http://down.51cto.com/data/874218
裏面包括:
auto_nagios_server.sh (安裝和基本配置)
monioutside_info.sh (監控客戶端外部信息)
moniinside_infoc.sh (監控客戶端內部信息。注意:只有這個腳本是在客戶端上運行的!!!)
moniinside_infos.sh (監控客戶端內部信息)
pnp.sh (搭建繪圖工具)
腳本執行步驟按從上到下進行。配置過程中,需要手動輸入需要監控的主機名和IP。
注意:經過這幾天測試,發現有點腳本在其他環境下運行可能有點小問題,這裏提一下:
1、在rhel6.4上運行的時候由於yum 沒辦法裝上freetype.h 導致編譯php的時候會報錯
解決辦法:去掉php 編譯 中的--with-freetype-dir 這個參數即可
2、在客戶端安裝nrpe 的時候,客戶端可能沒裝上ssl包而導致編譯安裝nrpe的時候報以下錯誤:
configure: error: cannot find ssl headers
解決辦法:在moniinside.infoc.sh 腳本上加上yum -y install openssl-devel 即可
附上通過腳本安裝後的截圖:
另外有幾個點需要注意:
(1) 如果跑完腳本,過程中沒有報錯,但是Nagios頁面卻沒有顯示,嘗試手動執行重啓apache
(2) 需要確保系統中有字體文件,可以通過下面的命令查看:
[root@localhost nagios]# ls /usr/share/fonts/
simsun_0.ttc simsun.ttc
這裏的simsun 就是宋體,沒有字體的話,請自行上傳到/usr/share/fonts 目錄下,注意名字不要出現中文的。沒有字體的話,通過RRDTOOLS 繪圖會報錯,提示:找不到可用的字體!
(3)如果點擊小太陽查看圖表仍然顯示安裝頁面,可能需要手動做以下操作:
[root@server ~]# mv /usr/local/pnp4nagios/share/install.php
/usr/local/pnp4nagios/share/install.php.bak
編輯nagios.cfg,開啓數據接收功能
[root@server ~]# vim /usr/local/nagios/etc/nagios.cfg
process_performance_data=1
enable_environment_macros=1
service_perfdata_command=process-service-perfdata
host_perfdata_command=process-host-perfdata
總結:近期寫了很多一鍵安裝部署xx的腳本,雖然這個過程有點艱難,但是我卻很享受,因爲我覺得寫這麼一個自動安裝的腳本思路上並不難,難的是裏面需要大量的文本處理,這對複習sed, awk,grep 這些文本處理工具真的有很大的幫助,通過這幾個腳本的鍛鍊後,覺得對這幾個工具的使用又更加熟練了。
有時間,有想法,就多寫寫shell 腳本,一方面可以方便自己的學習工作,一方面對自己的技術也是一種鍛鍊。如果大家有其他實用的腳本,也可以分享出來,共同學習哦~
今天看了一句話,挺感動的:未來的你,肯定會感謝現在努力的你!
正如前陣子看的中國合夥人中,孟曉駿在那本英漢詞典中夾的書籤:有天你會讓我嫉妒的!
寫給未來的自己~加油吧~