nagios 3.2安裝詳解(一)
Nagios 安裝詳解
對于運維人員來說,獲悉服務器狀況的信息非常重要,針對監控服務,比較好的有cacti和nagios,cacti使用更簡單一些,cacti主要是用來采集信息,CPU、MEM、流量等信息更詳細,nagios主要用來是報警功能,他配置比cacti麻煩一些,信息沒有cacti采集的完全,但是有cacti不具備的報警功能,nagios會有一個報警的機制,當觸發了這個報警機制時,會發送郵件或者短消息;如果能做到二者的結合,無疑是最好的選擇; 這篇文章主要是介紹如何安裝nagios監控平臺、添加被監控主機(Linux和Windows),可以滿足日常之中的報警功能,后續會將cacti的更詳細安裝發表出來,以及nagios和cacti的結合
先去基本需要安裝的包
nagios-3.2.1.tar.gz
nrpe-2.12.tar.gz
httpd-2.2.21.tar.bz2
nagios-plugins-1.4.14.tar.gz
第一步:安裝apache
解壓 tar jxvf httpd-2.2.21.tar.bz2
編譯安裝apache,將一些需要的參數加上,需要cgi的支持
./configure --prefix=/usr/local/apache --enable-so --enable-track-vars --enable-rewrite --with-zlib --enable-mods-shard=most --enable-cgi --enable-cgid --with-suexec-caller=apache
確認無error信息后
make && make install
Ok,安裝好后先不用啟動,等下還需要修改http.conf的文件
第二步:安裝nagios
因為nagios的安裝很簡單,主要是nagios的插件太多,安裝nagios的插件和配置比較麻煩,需要細心一點
1.先建立nagios的用戶名和密碼
useradd nagios
創建一個組,用于從web接口執行nagios的外部命令,將nagios和apache用戶加入到組中
usermod -G nagcmd nagios
usermod -G nagcmd apache
2.安裝nagios
解壓tar zxvf nagios-3.2.1.tar.gz
編譯安裝
./configure --prefix=/usr/local/nagios --with-command-group=nagcmd --with-httpd-conf=/usr/local/apache/conf
make all
make install
make install-init
make install-commandmode
make install-config
make install-webconf
Ok,到nagios目錄下,ls一下
bin etc libexec sbin share var
說明nagios安裝ok
到apache conf下,會看到多出了nagios.conf配置文件,這個文件是將apache與nagios結合的文件,將其追加到http文件中
cat nagios.conf >> httpd.conf
AuthUserFile /usr/local/nagios/etc/htpasswd.users 這個是登錄到nagios需要驗證的用戶名和密碼
[root@nagios-server conf]# /usr/local/apache/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users test
New password:
Re-type new password:
Adding password for user test
添加用戶test用戶,web訪問時會用到的
更改屬主,屬組
chown -R apache:apache /usr/local/apache/
chown -R nagios:nagcmd /usr/local/nagios/
3.安裝nagios-plugin
tar zxvf nagios-plugins-1.4.14.tar.gz
編譯安裝,這個是nagios的一個插件程序
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
make && make install
之后到nagios目錄下多了一個 libexec,這個目錄下面是nagios插件程序
先啟動apache和nagios
/usr/local/apache/bin/apachectl -k start
啟動nagios之前,先檢查使用有Warnings和errors
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
結果:
Total Warnings: 0
Total Errors: 0
Ok,將nagios啟動,然后使用web訪問下,看是否可以看到主界面
[root@nagios-server conf]# service nagios start
Starting nagios: done.
Ok,
Web訪問nagios,方法:http://IP/nagios
這里需要輸入剛新加的test用戶
如果發現這樣的error
或者是顯示出了php的源代碼文件,
這是因為缺少來php程序的支持,安裝php以及修改http的配置文件
Ok,還需要修改http的配置文件,因為nagios下游cgi的文件和php的文件,從nagios3.0以后都是需要php的支持,不然的話,nagios的訪問都是源代碼:
解決辦法:
安裝php 程序包
解壓包:
tar zxvf php-5.3.6.tar.gz
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-libxml-dir --with-png-dir --with-jpeg-dir --with-zlib --with-freetype-dir --with-gd-dir --enable-mbstring=all
Make
Make test
TEST 6175/8798 [ext/standard/tests/file/005_variation.phpt]
Make install
這時如果你的libtool不一致的話,會出現error
/usr/local/apache/modules/libphp5.so": 沒有那個文件或目錄
解決辦法:
將系統目前的libtool卸載掉
[root@nagios-server build]# rpm -qa | grep libtool
libtool-ltdl-2.2.6-15.5.el6.x86_64
libtool-2.2.6-15.5.el6.x86_64
之后
rpm -e libtool-2.2.6-15.5.el6.x86_64 --nodeps
將apache安裝目錄下build下的libtool復制到php編譯安裝目錄(解壓后的目錄)下
cp -rf libtool /home/software/php-5.3.6
再make clean
重新執行./configuree make make install
成功后,修改apache的配置文件:
User apache
Group apache
DirectoryIndex index.php index.html
AddType application/x-httpd-php .php .phtml
AddHandler cgi-script .cgi
之后重啟apache
/usr/local/apache/bin/apachectl -k restart
再重新訪問下網頁
發現OK 了,nagios和apache的結合沒有問題了,剩下的就是nagios的插件和監控設置了
第三步:配置nagios監控主機的配置文件
1.修改nagios配置文件
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg (這個是默認針對nagios監控主機的配置,沒添加一臺主機,都要在這個文件中配置)
cfg_dir=/usr/local/nagios/etc/servers (被監控主機的監控配置文件目錄)
剩下的switch、routers、printer現在又沒有用到
修改這兩個就好
2.修改聯系人配置文件 contacts.cfg
define contact{
contact_name test ;
alias admin ;
service_notification_period 24x7 ;
host_notification_period 24x7 ;
service_notification_options w,u,c,r ;
host_notification_options d,u,r ;
service_notification_commands notify-service-by-email ;
host_notification_commands notify-host-by-email ;
email frank@51coolbar.com ;
}
如果多個人的話,copy一下,將email更改下即可
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members test
}
這個是組,members可以添加多個,","(逗號)隔開
3.修改localhost文件
define host{
host_name 192.168.20.221
alias local-service
address 192.168.20.221
contact_groups admins
max_check_attempts 5
notification_interval 200
notification_options d,u,r
}
剩下的保持不變,l
4.修改時間,保持默認的即可
define timeperiod{
timeperiod_name 24x7
alias 24 Hours A Day, 7 Days A Week
sunday 00:00-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}
5.修改command
添加一行,其他的保持不變
#check nrpe
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
Ok了,更改這些會把nagios平臺基本都搭建起來了,使用
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
檢查nagios那一個配置文件是否有error或者warning信息
Total Warnings: 0
Total Errors: 0
如果有警告或者error信息,需要去排除,確認無誤后,將nagios啟動
service nagios start
Starting nagios: done.
第四步:安裝NRPE
因為我要為nagios server安裝nrpe,就不需要安裝nagios-plugin了,如果在是被監控端上安裝nrpe,需要先添加nagios用戶名,和安裝nagios-plugin
./configure --prefix=/usr/local/nagios/
make all
make install-plugin
make install-daemon
make install-daemon-config
去編輯nrpe的配置文件
allowed_hosts=127.0.0.1 這個是nagios server的IP
command[check_users]=/usr/local/nagios/libexec/check_users -w 3 -c 6
command[check_load]=/usr/local/nagios/libexec/check_load -w 9,7,6 -c 20,15,10
command[check_disk]=/usr/local/nagios/libexec/check_disk -w20 % -c 15% -p / -u GB
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 1 -c 3 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_ping]=/usr/local/nagios/libexec/check_ping -w 100,20% -c 200,50%
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
測試本機nrpe是否ok
[root@server221 etc]# /usr/local/nagios/libexec/check_nrpe -H localhost
NRPE v2.12
將nrpe啟動
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
檢查是否啟動ok
[root@server221 etc]# netstat -anpt | grep nrpe
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 8049/nrpe
現在,通過web就可以看到nagios server 監控的信息