接觸Nagios 也有一段時間了,個人感覺Nagios 相對來說配置起來還是比較簡單的,而且警示功能很強大,圖形化也做的還不錯。特別是結合了NagioSQL 這個外掛程式之後,直接就是通過一個web端管理Nagios的配置,使其變得更加的簡單,快捷。
由於之前也寫過相關安裝配置的文章,這裡就不在累述,只是作為一個匯總,為有需要的朋友提供一個清晰的目錄結構:
1)Nagios 介紹
2)Nagios 所需LAMP 環境搭建
3)Nagios 伺服器基本安裝配置
4)Nagios 監控用戶端外部資訊(連接埠,服務,ping等)
5)Nagios 監控用戶端內部資訊(cpu,記憶體,磁碟空間使用方式等)
6)配置Pnp4Nagios 進行圖表分析
7)Nagios 實現郵件、簡訊警示
8)配置Nagios Web管理端-- NagioSQL
9)Nagios 監控Windows 2003 伺服器
10)Nagios 監控路由器、交換器
11)Nagios 監控mysql 主從同步
12)互動式添加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 即可
附上通過指令碼安裝後的:
650) this.width=650;" title="QQ20130717100732.jpg" src="http://www.bkjia.com/uploads/allimg/131227/1I4136419-0.jpg" />
650) this.width=650;" style="float:none" title="QQ20130717100540.jpg" src="http://www.bkjia.com/uploads/allimg/131227/1I4133T1-1.jpg" />
另外有幾個點需要注意:
(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 指令碼,一方面可以方便自己的學習工作,一方面對自己的技術也是一種鍛煉。如果大家有其他實用的指令碼,也可以分享出來,共同學習哦~
今天看了一句話,挺感動的:未來的你,肯定會感謝現在努力的你!
正如前陣子看的中國合伙人中,孟曉駿在那本英漢詞典中夾的書籤:有天你會讓我嫉妒的!
寫給未來的自己~加油吧~