三、實驗環境
Host Name | OS | IP | Software |
Nagios-Server | CentOS release 5.8 (Final) | 192.168.128.132 | Apache、Php、Nagios、nagios-plugins、nagios-cn |
Nagios-Linux | CentOS release 5.8 (Final) | 192.168.128.133 | nagios-plugins、nrpe |
Nagios-Windows | Windows XP | 192.168.120.47 | NSClient++ |
Server 安裝了nagios軟件,對監控的數據做處理,並且提供web界面查看和管理。當然也可以對本機自身的信息進行監控。
Client 安裝了NRPE等客戶端,根據監控機的請求執行監控,然後將結果回傳給監控機。
防火牆已關閉/iptables: Firewall is not running.
SELINUX=disabled
四、實驗目標
五、Nagios服務端安裝
5.1 基礎支持套件:gcc glibc glibc-common gd gd-devel xinetd openssl-devel
配置好本地yum源,掛載ISO鏡像文件
# yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel
5.2 創建nagiosadmin用戶和用戶組
# useradd -s /sbin/nologin nagiosadmin
# mkdir /usr/local/nagios
# chown -R nagiosadmin:nagiosadmin /usr/local/nagios
查看nagios 目錄的權限
# ll -d /usr/local/nagios/
5.3 編譯安裝Nagios
# wget http://nchc.dl.sourceforge.net/project/nagios/nagios-3.x/nagios-3.4.3/nagios-3.4.3.tar.gz
# tar zxvf nagios-3.4.3.tar.gz
# cd nagios
# ./configure --prefix=/usr/local/nagios
# make all
# make install #命令對主程序,cgi及html進行安裝
# make install-init #命令在/etc/rc.d/init.d/目錄中安裝啓動腳本
# make install-commandmode #命令來安裝和配置外部命令對Nagios主路徑操作的權限。(這裏所謂的外部命令主要是指Apache服務通過CGI來對Nagios的進行的操作。用戶將通過Web以執行CGI程序腳本的方式來對Nagios的檢測結果進行讀取和調用。)
# make install-config #命令在/usr/local/nagios/etc/下安裝nagios配置文件示例模版
# chkconfig --add nagios
# chkconfig --level 35 nagios on
# chkconfig --list nagios
5.4 驗證程序是否被正確安裝
切換目錄到安裝路徑(這裏是/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 | 用來存放外部命令文件的目錄 |
# cd /usr/local/nagios/
# tree -L 1
.
|-- bin
|-- etc
|-- include
|-- libexec
|-- sbin
|-- share
`-- var
5.5 安裝Nagios 插件,下載地址(https://nagios-plugins.org/download/)
# wget https://nagios-plugins.org/download/nagios-plugins-1.4.16.tar.gz
# tar zxvf nagios-plugins-1.4.16.tar.gz
# cd nagios-plugins-1.4.16
# ./configure --prefix=/usr/local/nagios
# make && make install
5.6 安裝nagios漢化包(nagios-cn-3.2.3.tar.bz2) (選裝)
# tar -jxvf nagios-cn-3.2.3.tar.bz2
# cd nagios-cn-3.2.3
# ./configure
# make && make install
5.7 安裝與配置Apache和Php
Apache 和Php 不是安裝nagios 所必須的,但是nagios提供了web監控界面,通過web監控界面可以清晰的看到被監控主機、資源的運行狀態,因此,安裝一個web服務是很必要的。
需要注意的是,nagios在nagios3.1.x版本以後,配置web監控界面時需要php的支持。這裏我們下載的nagios版本爲nagios-3.4.3,因此在編譯安裝完成apache後,還需要編譯php模塊,這裏選取的php版本爲php5.4.10。
a. 安裝Apache(編譯時入加 --with-included-apr 即可解決。----此處如果安裝系統時系統相關庫程序都安裝了,一般不需要;)
# 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
b. 安裝Php
# wget http://cn2.php.net/distributions/php-5.4.10.tar.gz
# tar zxvf php-5.4.10.tar.gz
# cd php-5.4.10
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs
# make && make install
c. 配置apache
找到apache 的配置文件/usr/local/apache2/conf/httpd.conf
找到: User daemon 改爲:User nagiosadmin
Group daemon Group nagiosadmin
<IfModule dir_module>
DirectoryIndex index.html index.php #添加index.php
</IfModule>
AddType application/x-httpd-php .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>
d. 創建apache目錄驗證文件
在上面的配置中,指定了目錄驗證文件htpasswd,下面要創建這個文件:
# /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd david
這樣就在/usr/local/nagios/etc 目錄下創建了一個htpasswd 驗證文件,當通過http://ip/nagios/ 訪問時就需要輸入用戶名和密碼了。(此處需要對/usr/local/nagios/etc/cgi.cfg中後添加用戶david類似:“
authorized_for_all_host_commands=nagiosadmin,david” ,解決權限問題)
e. 查看認證文件的內容
# cat /usr/local/nagios/etc/htpasswd
f. 啓動apache 服務
# /usr/local/apache2/bin/apachectl start
到這裏nagios 的安裝也就基本完成了,你可以通過web來訪問了http://192.168.128.132/nagios(輸入剛創建的帳號david)