Nagios監(jiān)控Linux與Windows主機(jī)
nagios監(jiān)控linux與windows主機(jī)
經(jīng)過一段時(shí)間的整理,結(jié)合個(gè)人在linux與windows服務(wù)器上的測試,寫出這篇blog,希望更多地人關(guān)注nagios,雖然cacti也具有這樣的功能但缺泛像nagios的警報(bào)功能。Naigos的安裝:
一、 所需軟件
nagios-2.9.tar.gz
nagios-plugins-1.4.7.tar.gz
imagepak-base.tar.gz
nsclient_201.zip
二、 安裝
1、nagios安裝
- tar –xvzf nagios-2.9.tar.gz
- mkdir /usr/local/nagios
- useradd nagios –d /usr/local/nagios
- chmod 755 /usr/local/nagios
- cd nagios-2.9
- ./configure –prefix=/usr/local/nagios –with-gd-lib=/usr/local/lib
- –with-gd-inc=/usr/local/include
- make all
- make install
- make install-init ##This installs the init script in /usr/local/etc/rc.d
- make install-commandmode
- make install-config ##將初始的配置文件安裝到/usr/local/nagios/etc
注:在make install-init 這一步的時(shí)候可能會進(jìn)行不下去,這時(shí)只要加個(gè)root組即可。
2、nagios-plugins的安裝
- tar –xvzf nagios-plugins-1.4.7.tar.gz
- mkdir /usr/local/nagios-plugins
- cd nagios-plugins-1.4.7
- ./configure –prefix=/usr/local/nagios-plugins
- make all
- make install
安裝完成以后在/usr/local/nagios-plugins會產(chǎn)生一個(gè)libexec的目錄,將該目錄全部移動到/usr/local/nagios目錄下
- mv /usr/local/nagios-plugins/libexec /usr/local/nagios
3、imagepak-base的安裝
tar –xvzf imagepak-base.tar.gz
解壓以后是base目錄
- cp –R base /usr/local/nagios/share/images/logos
4、安裝過程全部結(jié)束
#p#
三、Nagios的設(shè)定:
(1)、配置apache
在apache的配置文件httpd.conf中追加
- ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/
- AllowOverride AuthConfig
- Options ExecCGI
- Order allow,deny
- Allow from all
- Alias /nagios/ /usr/local/nagios/share/
- Options None
- AllowOverride AuthConfig
- Order allow,deny
- Allow from all
(2)、設(shè)置訪問權(quán)限
1、在/usr/local/nagios/share目錄下
- vi .htaccess
- AuthName “Nagios Access”
- AuthType Basic
- AuthUserFile /usr/local/nagios/etc/.htpasswd
- require valid-user
2、在/usr/local/nagios/sbin目錄下
- vi .htpasswd
- AuthName “Nagios Access”
- AuthType Basic
- AuthUserFile /usr/local/nagios/etc/.htpasswd
- require valid-user
3、/usr/local/apache/bin/htpasswd –c /usr/local/nagios/etc/.htpasswd nagios
這個(gè)apache目錄根據(jù)安裝目錄的不同而不同,主要所以用.htpasswd這個(gè)命令生成用戶名和密碼
#p#
四、配置nagios
1、在/usr/local/nagios/etc下是nagios的配置模板文件.cfg-sample,把.cfg-sample文件全部拷貝成.cfg
例如:cp nagios.cfg-sample nagios.cfg
mkdir /usr/local/nagios/etc/sample
cp *.cfg-sample !$
全部拷貝完成即可.
1、修改cgi.cfg
vi /etc/cgi.cfg
修改use_authentication=1為use_authentication=0,即不用驗(yàn)證.不然有一些頁面不會顯示。
2、然后檢查配置文件是否出錯
/usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg
出現(xiàn)Total Warnings: 0
Total Errors: 0
為正常
出錯的話,就是.cfg文件有問題
3、啟動后臺進(jìn)程
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
/usr/local/etc/rc.d/nagios start
4、(如果有些頁面看不到的話.可以在cgi.cfg文件中把帶有authorized的選項(xiàng)前的#號去掉即可)這些配置完以后,基本的nagios配置完成。
#p#
五、安裝監(jiān)控linux類服務(wù)器的nrpe
nrpe 安裝與使用
?。ㄒ唬┻h(yuǎn)程主機(jī)的配置(192.168.0.206 linux)
1、安裝openssl
- #./config –prefix=/usr/local/nagios/openssl
- #make
- #make install
2、安裝nrpe與配置
- #./configure –enable-ssl –with-ssl-lib=/usr/local/nagios/openssl/lib
- –with-kerberos-inc=/usr/local/nagios/openssl/include –enable-command-args
- #make all
- #mkdir /usr/local/nagios/etc
- #mkdir /usr/local/nagios/bin
- #mkdir /usr/local/nagios/libexec
- #chown -R nagios:nagios /usr/local/nagios
- #cp nrpe.cfg /usr/local/nagios/etc
- #cp src/nrpe /usr/local/nagios/bin
- #cp src/check_nrpe /usr/local/nagios/libexec
- #vi /usr/local/nagios/etc/nrpe.cfg
改成你允許的IP
allowed_hosts=127.0.0.1,192.168.0.207(207是nagios服務(wù)器)
改成你準(zhǔn)備監(jiān)視的服務(wù)
- command[check_disk]=/usr/local/nagios/libexec/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
檢查磁盤,當(dāng) / 剩余$ARG1$%報(bào)警(淺黃色),剩余$ARG2$%“出錯”(紅色)-p 后為指定分區(qū)
3、啟動nrpe,端口為5666
- /usr/local/nagios/bin/nrpe -c /etc/nrpe.cfg -d
4、安裝監(jiān)測的模塊
nagios-plugins的安裝
- tar –xvzf nagios-plugins-1.4.7.tar.gz
- mkdir /usr/local/nagios-plugins
- cd nagios-plugins-1.4.7
- ./configure –prefix=/usr/local/nagios-plugins
- make all
- make install
安裝完成以后在/usr/local/nagios-plugins會產(chǎn)生一個(gè)libexec的目錄,將該目錄全部移動到/usr/local/nagios目錄下
- mv /usr/local/nagios-plugins/libexec /usr/local/nagios
?。ǘ┓?wù)器上的配置
1、安裝openssl
- #./config –prefix=/usr/local/nagios/openssl
- #make
- #make install
2、安裝nrpe(主要是使用check_nrpe模塊)
- #./configure –enable-ssl –with-ssl-lib=/usr/local/nagios/openssl/lib
- –with-kerberos-inc=/usr/local/nagios/openssl/include –enable-command-args
- #make all
- #cp src/check_nrpe /usr/local/nagios/libexec
3、nagios文件的配置
vi commands.cfg
定義check_nrpe命令
- # ‘check_nrpe’ command definition
- define command{
- command_name check_nrpe
- command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
- }
4、重啟nagios服務(wù)
/etc/rc.d/init.d/nagios restart (linux)
在 Nagios主機(jī)上192.168.0.207:
[root@207 etc]#vi /usr/local/nagios/etc/commads.cfg
加入以代碼:
- define command{
- command_name check_ping
- command_line $USER1$/check_ping -H $HOSTADDRESS$ -p $ARG1$ $ARG2$
- }
- [root@db4 etc]#cfg=”cfg_file=/usr/local/nagios/etc/lgweb.cfg”
- [root@db4
- [email=root@db4][/email]
- etc]#echo “$cfg” >> /usr/local/nagios/etc/nagios.cfg
- [root@db4 etc]#/etc/init.d/nagios start
#p#
六、安裝監(jiān)控windows NT服務(wù)器的nsclient
1、客戶端192.168.0.201配置
下載nsclient包
nsclient_201.zip
解壓包到c:\nsclient
打開cmd命令行提示符輸入:
c:
cd c:\nsclient
pNSClient.exe /install
net start nsclient
安裝完成
2、服務(wù)端192.168.0.207配置
- #cd /usr/local/nagios/etc
- #vi 201web.cfg(具體內(nèi)容見配置文件)
- #vi commands.cfg(添加相應(yīng)的命令,見配置文件)
- #echo “cfg=/usr/local/nagios/etc/201web.cfg” >> /usr/local/nagios/etc/nagios.cfg
- #/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg(若無錯誤就可進(jìn)行下步)
- #service nagios start
訪問nagios監(jiān)控的web界面:
http://192.168.0.207/nagios/index.html
故障排除:
問:將use_authentication=1設(shè)為1時(shí)會出現(xiàn)如下錯誤:
It appears as though you do not have permission to view information for any of the hosts you requested…
答:方法一,只需將/usr/local/nagios/etc/cgi.cfg中的以下幾個(gè)參數(shù)前的注釋去掉:
- default_user_name=nagios
- authorized_for_system_information=nagiosadmin,nagios
- authorized_for_configuration_information=nagiosadmin,nagios
- authorized_for_system_commands=nagiosadmin,nagios
- authorized_for_all_services=nagiosadmin,nagios
- authorized_for_all_hosts=nagiosadmin,nagios
- authorized_for_all_service_commands=nagiosadmin,nagios
- authorized_for_all_host_commands=nagiosadmin,nagios
#p#
關(guān)于監(jiān)控linux主機(jī)mysql相關(guān)注意點(diǎn):
1、server(nagios服務(wù)端192.168.0.132)
#/usr/local/nagios/libexec/check_mysql -H 192.168.0.207 -u root -p xukixu
此時(shí)可能會出現(xiàn)錯誤:Host ‘192.168.0.132′ is not allowed to connect to this MySQL server
因此只要在客戶端做個(gè)mysql授權(quán)用戶訪問即可
2、client(客戶端192.168.0.207)
- #mysql -uroot -pxukixu
- mysql>grant all privileges on *.* to
- root@192.168.0.132
- identified by ‘xukixu’;
- mysql>flush privileges;
- mysql>quit;