標籤:nagios 安裝
Nagios是一款開源的電腦系統和網路監視工具,能有效監控Windows、Linux和Unix的主機狀態,交換器路由器等網路設定,印表機等。
主要功能
網路服務監控(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)
主機資源監控(CPU load、disk usage、system logs),也包括Windows主機(使用NSClient++ plugin)
可以指定自己編寫的Plugin通過網路收集資料來監控任何情況(溫度、警告……)
可以通過配置Nagios遠程執行外掛程式遠程執行指令碼
遠程監控支援SSH或SSL加通道方式進行監控
簡單的plugin設計允許使用者很容易的開發自己需要的檢查服務,支援很多開發語言(shell scripts、C++、Perl、ruby、Python、PHP、C#等)
包含很多圖形化資料Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios等)
可並行服務檢查
能夠定義網路主機的層次,允許逐級檢查,就是從父主機開始向下檢查
當服務或主機出現問題時發出通告,可通過email, pager, sms 或任意使用者自訂的plugin進行通知
能夠自訂事件處理機制重新啟用出問題的服務或主機
自動日誌迴圈
支援冗餘監控
包括Web介面可以查看當前網路狀態,通知,問題曆史,記錄檔等
二、Nagios工作原理
Nagios的功能是監控服務和主機,但是他自身並不包括這部分功能,所有的監控、檢測功能都是通過各種外掛程式來完成的。
Nagios提供了許多外掛程式,利用這些外掛程式可以方便的監控很多服務狀態。安裝完成後,在nagios主目錄下的/libexec裡放有nagios內建的可以使用的所有外掛程式,如,check_disk是檢查磁碟空間的外掛程式,check_load是檢查CPU負載的,等等。每一個外掛程式可以通過運行./check_xxx –h 來查看其使用方法和功能。
Nagios可以識別4種狀態返回資訊,即 0(OK)表示狀態正常/綠色、1(WARNING)表示出現警告/黃色、2(CRITICAL)表示出現非常嚴重的錯誤/紅色、3(UNKNOWN)表示未知錯誤/深黃色。Nagios根據外掛程式返回來的值,來判斷監控對象的狀態,並通過web顯示出來,以供管理員及時發現故障。
Nagios 通過NRPE 來遠端管理服務
1. Nagios 執行安裝在它裡面的check_nrpe 外掛程式,並告訴check_nrpe 去檢測哪些服務。
2. 通過SSL,check_nrpe 串連遠端機子上的NRPE daemon
3. NRPE 運行本地的各種外掛程式去檢測本地的服務和狀態(check_disk,..etc)
4. 最後,NRPE 把檢測的結果傳給主機端的check_nrpe,check_nrpe 再把結果送到Nagios狀態隊列中。
5. Nagios 依次讀取隊列中的資訊,再把結果顯示出來。
下面進行安裝
# yum install -y gcc glibc glibc-common gd xinetd openssl-devel
# useradd -s /sbin/nologin nagios
# mkdir /usr/local/nagios
# chown -R nagios.nagios /usr/local/nagios
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.3.tar.gz
# tar zxvf nagios-3.4.3.tar.gz
# ./configure --prefix=/usr/local/nagios
# make all
報下面錯
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/A5/46/wKioL1m6ZVizyXNHAAA4ERPfBLI449.png" title="0.46093984032862.png" alt="wKioL1m6ZVizyXNHAAA4ERPfBLI449.png" />
其實它是要製作目標檔案/include/locations.h,這個是標頭檔,可是這個標頭檔需要broker.o檔案
這個檔案是由perl安裝包提供的,你可以先執行下面命令安裝perl,然後再重新./configure一下,再make all就沒有問題啦
yum install perl -y
# make install
# make install-init
# make install-commandmode
# make install-config
# chkconfig --add nagios
# chkconfig --level 35 nagios on
# chkconfig --list nagios
驗證程式是否被正確安裝
切換目錄到安裝路徑(這裡是/usr/local/nagios),看是否存在etc、bin、sbin、share、var 這五個目錄,如果存在則可以表明程式被正確的安裝到系統了。Nagios 各個目錄用途說明如下:
bin
Nagios 可執行程式所在目錄
etc
Nagios 設定檔所在目錄
sbin
Nagios CGI 檔案所在目錄,也就是執行外部命令所需檔案所在的目錄
share
Nagios網頁檔案所在的目錄
libexec
Nagios 外部外掛程式所在目錄
var
Nagios 記錄檔、lock 等檔案所在的目錄
var/archives
Nagios 日誌自動歸檔目錄
var/rw
用來存放外部命令檔案的目錄
下面安裝Nagios的外掛程式
# wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
# tar xzvf nagios-plugins-2.2.1.tar.gz
# cd nagios-plugins-2.2.1
# ./configure --prefix=/usr/local/nagios
# make && make install
下面安裝apache和php對web介面的支援
# wget http://archive.apache.org/dist/httpd/httpd-2.2.23.tar.gz
# tar zxvf httpd-2.2.23.tar.gz
# cd httpd-2.2.23
# ./configure --prefix=/usr/local/apache2
# make && make install
如果出現以下錯誤
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/06/95/wKiom1m6ZZfwdAsaAAGm5ly6WE8708.png" title="1.png" alt="wKiom1m6ZZfwdAsaAAGm5ly6WE8708.png" />
則在編譯時間入加 --with-included-apr 即可解決。
# wget http://101.96.10.63/jp2.php.net/distributions/php-5.5.38.tar.gz
# tar -xzvf php-5.5.38.tar.gz
# cd php-5.5.38
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs
apxs
是一個為Apache HTTP伺服器編譯和安裝擴充模組的工具,用於編譯一個或多個來源程式或目標代碼檔案為動態共用對象,使之可以用由mod_so
提供的LoadModule
指令在運行時載入到Apache伺服器中。
這個可能會出現下面情況
650) this.width=650;" border="0" src="index_files/ecd7e379-536d-4e33-a198-a99a32250856.png" alt="ecd7e379-536d-4e33-a198-a99a32250856.png" />
這個是說你沒有安裝libxml這個軟體包,我就用yum安裝,發現提示已經安裝了,我覺得有可能是編譯包沒有安裝,果然沒錯,是libxml這個編譯包沒有安裝
# yum install libxml2
# yum install libxml2-devel
然後再回去執行./configure命令就可以啦
# make && make install
# vi /usr/local/apache2/conf/httpd.conf
找到:
User daemon Group daemon
修改為
User nagios Group nagios
然後找到
<IfModule dir_module> DirectoryIndex index.html </IfModule>
修改為
<IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
接著增加如下內容:
AddType application/x-httpd-php .php
實質就是添加可以執行php的檔案類型,比如你再加上一行“AddType application/x-httpd-php .htm”,則.htm檔案也可以執行php程式了
為了安全起見,一般情況下要讓nagios 的web 監控頁面必須經過授權才能訪問,這需要增加驗證配置,即在httpd.conf 檔案最後添加如下資訊:
#setting for nagios ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin" <Directory "/usr/local/nagios/sbin"> AuthType Basic Options ExecCGI AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthUserFile /usr/local/nagios/etc/htpasswd //用於此目錄訪問身分識別驗證的檔案 Require valid-user </Directory> Alias /nagios "/usr/local/nagios/share" <Directory "/usr/local/nagios/share"> AuthType Basic Options None AllowOverride None Order allow,deny Allow from all AuthName "nagios Access" AuthUserFile /usr/local/nagios/etc/htpasswd Require valid-user </Directory>
建立apache目錄驗證檔案
在上面的配置中,指定了目錄驗證檔案htpasswd,下面要建立這個檔案:
# /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd username
這樣就在/usr/local/nagios/etc 目錄下建立了一個htpasswd 驗證檔案,當通過http://192.168.1.108/nagios/ 訪問時就需要輸入使用者名稱和密碼了。
啟動apache 服務
# /usr/local/apache2/bin/apachectl start
來源: http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html
本文出自 “愛周瑜” 部落格,請務必保留此出處http://izhouyu.blog.51cto.com/10318932/1965409
Nagios監控服務的搭建