最近一段時間,一直在學習有關nagios監控系統的相關知識。
有關nagios監控系統,你可以在百度或者google搜尋下,那文章是一堆一堆的。讓人看起來很簡單。但是在實際的搭建過程中,卻不是那麼回事。下面就把自己在搭建過程的步驟及注意的事項記錄下來。
在安裝nagios前,有些軟體與套件需要首先安裝。具體如下:
php、apache、net-snmp、gcc、perl-cpan
其中apache是nagios打開必須要使用的。因為nagios監控主要是通過插件來實作的,而插件有包括snmp方式、nrpe方式。在接下來的幾篇文章,都是圍繞snmp方式來進行監測。是以需要安裝net-snmp相關元件。
而snmp方式監測都是通過check_snmp_mem.pl等perl檔案來實作的,是以在安裝snmp相關的插件時,需要perl-cpan的支援。是以需要安裝perl-cpan。
首先,我們來安裝相關的軟體及套件。我們可以通過yum方式安裝,也可以通過編譯方式來。因為牽涉的軟體及套件比較多,各個軟體集套件的依賴比較麻煩,是以建議使用yum方式來安裝。
本次實驗os:centos 6.6 mini 32bit
nagios版本是中文版:nagios-cn
本次相關的軟體可以到這個位址下載下傳:
http://pan.baidu.com/s/1jgzftiq

nagios的運作是在nagios使用者下進行的,是以在此之前我們要建立nagios。如下:
useradd nagios
id nagios
下面我們來使用yum方式安裝,如下圖:
yum -y install php httpd net-snmp gcc perl-cpan
安裝完畢後,我們把nagios的相關軟體包上傳到linux伺服器上。
具體如何上傳,這個我就在此作介紹了。你可以通過ftp、ssh等等都可以,就看你自己喜歡的方式了。
上傳完畢後,我們來進行解壓。我現在把相關的軟體包都放在/home/ilanni目錄下,如下圖:
tar -xf nagios-cn-3.2.0.tar.bz2
tar -xf nagios-plugins-2.0.1.tar.gz
tar -xf nagios-snmp-plugins.1.1.1.tgz
解壓完畢後,我們來進入nagios-cn-3.2.0目錄,如下圖:
開始編譯nagios,如下圖:
./configure –prefix=/usr/local/nagios
/usr/local/nagios表示nagios的安裝路徑
編譯完畢,如下圖:
可以看到需要建立使用者nagios,系統中如果沒有的話。我們現在可以建立使用者,如下圖:
nagios使用者建立完畢後,我們還繼續nagios編譯後的工作。
繼續執行make all ,如下圖:
make all完畢後,如下圖:
我們隻需要按照上邊的指令執行即可,如下圖:
make install安裝nagios的相關程式檔案。
make install-init安裝nagios啟動的初始化腳本。
make install-commandmode 安裝nagios的指令檔案。
make install-config安裝nagios的配置檔案。
make install-webconf安裝nagios的web配置檔案。
注意:如果apache是使用源碼安裝的話,我們在執行make install-webconf會報錯。我們隻需要把sample-config/httpd.conf複制到/usr/local/apache2/conf/下,并重命名為nagios.conf即可。在這apache是安裝到/usr/local/apache2下。如下:
cp sample-config/httpd.conf /usr/local/apache2/conf/nagios.conf
ll /usr/local/apache2/conf/
以上操作之後,我們還需要在/usr/local/apache/conf/httpd.conf 檔案中添加 include conf/nagios.conf。如下:
注意:include第一個字母大寫意。
以上是nagios的安裝步驟,下面進行nagios插件的安裝。
進入nagios的插件目錄,如下圖:
[root@ilanni nagios-cn-3.2.0]# cd ../nagios-plugins-2.0.1
[root@ilanni nagios-plugins-2.0.1]# pwd
/home/ilanni/nagios-plugins-2.0.1
[root@ilanni nagios-plugins-2.0.1]# ll
編譯插件
./configure –prefix=/usr/local/nagios/
編譯完畢,沒有報錯就可以進行安裝。
make
make install
nagios與nagios插件基本安裝完畢,我們可以檢視下。
插件截圖:
如果你仔細看的話,會發現這個插件時沒有有關snmp的。如下圖:
下面我們就安裝snmp的插件。切換到nagios_plugins目錄,如下圖:
執行install.sh進行安裝,如下圖:
接下來一路回車即可。
安裝完畢如下圖示:
現在snmp的插件已經安裝完畢,我們來檢視下:
檢視指令是否可以使用:
通過上圖可以看到,snmp插件已經可以正常使用。
下面我們把nagios加入到系統的服務中,如下:
chkconfig –add nagios
chkconfig nagios on
chkconfig –list nagios
在開始啟動nagios之前,我們還要為nagios配置登入的使用者名和密碼。
有關nagios登入的使用者名和密碼,我們可以檢視nagios.conf檔案,如下:
cat nagios.conf |grep -v ^#|grep -v ^$
通過上圖,我們可以很明顯看出nagios使用者存放在/usr/local/nagios/etc/htpasswd.users檔案中。
但是如果此時檢視htpasswd.users檔案會發現該檔案是不存在的。
為什麼回是這樣呢?
這個是因為nagios安裝完畢後,需要使用apache的htpasswd工具建立nagios登入的使用者。如下:
/usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
通過上圖,我們可以很明顯的看出,htpasswd在建立nagios登入使用者的同時,也設定了該使用者的密碼。
注意:nagios預設的使用者名是nagiosadmin。我們可以通過檢視/usr/local/nagios/etc/cgi.conf檔案得知。如下:
cat cgi.cfg |grep -v ^#|grep -v ^$
現在我們再來檢視htpasswd.users檔案,内容如下:
cat /usr/local/nagios/etc/htpasswd.users
nagios使用者建立完畢後,我們來啟動nagios并登入,如下:
/etc/init.d/nagios start
ps aux |grep nagios
以上安裝的是nagios中文版,nagios最新版的安裝和這個步驟基本一直。
這個是nagios4.1版本的界面。
nagios4.1的下載下傳位址如下:
<a href="http://www.nagios.org/download/core/thanks/?t=1426844202">http://www.nagios.org/download/core/thanks/?t=1426844202</a>