1. 程式人生 > >Nagios監控安裝之二

Nagios監控安裝之二

Linux Nagios

監控80端口 3306端口 passwd文件變化
實驗說明 :環境就是一臺主機Linux CentOS release 6.5 (Final) 192.168.0.22 開啟httpd 80端口 3306端口
一,開始安裝前準備:
1,安裝nagios服務端軟件
a,nagios-3.5.1.tar.gz
b,nagios-plugins-1.4.16.tar.gz
c,nrpe-2.12.tar.gz
2,配置環境變量:
[root@Nagios-Server ]# echo ‘export LC_ALL=C‘>>/etc/profile
[root@Nagios-Server ]# tail -1 /etc/profile
export LC_ALL=C
[root@Nagios-Server ]# source /etc/profile
3,關閉防火墻和selinux
[root@Nagios-Server ]# /etc/init.d/iptables stop
[root@Nagios-Server ]# /etc/init.d/iptables status
iptables: Firewall is not running.
[root@Nagios-Server ]# chkconfig iptables off
[root@Nagios-Server ]# chkconfig --list iptables
iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@Nagios-Server]#sed –i ‘s/SELINUX=enforce/SELINUX=disabled/g’ /etc/sysconfig/selinux
4,解決系統時間同步問題
[root@Nagios-Server ~]# yum -y install ntpdate
[root@Nagios-Server ~]# crontab -e
#time sync by tony at 2018-01-29
/5 * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1
二、正式安裝Ngios
需要一個LAMP環境
[root@Nagios-Server ~]# yum -y install gcc glibc glibc-common
[root@Nagios-Server ~]# yum -y install gd gd-devel
[root@Nagios-Server ~]# yum -y install mysql-server
[root@Nagios-Server ~]# yum -y install httpd php php-gd
創建Nagios服務器端需要的用戶及組
[root@Nagios-Server ~]# /usr/sbin/useradd nagios
[root@Nagios-Server ~]# /usr/sbin/useradd apache -M -s /sbin/nologin
[root@Nagios-Server ~]# /usr/sbin/groupadd nagcmd
[root@Nagios-Server ~]# /usr/sbin/usermod -a -G nagcmd nagios
[root@Nagios-Server ~]# /usr/sbin/usermod -a -G nagcmd apache
檢查用戶創建是否成功
[root@Nagios-Server ~]# id -n -G nagios
[root@Nagios-Server ~]# id -n -G apache
[root@Nagios-Server ~]# groups nagios
[root@Nagios-Server ~]# groups apache
啟動服務查看通訊端口
[root@Nagios-Server ~]# /etc/init.d/httpd start
[root@Nagios-Server ~]# lsof -i:80
[root@Nagios-Server ~]# /etc/init.d/mysqld start
[root@Nagios-Server ~]# lsof -i:3306
配置hosts文件解析 :
[root@Nagios-Server ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.22 Nagios-Server
三、安裝Nagios-Server服務端
[root@Nagios-Server ~]# cd /soft/nagios
[root@Nagios-Server nagios]# tar xf nagios-3.5.1.tar.gz
[root@Nagios-Server nagios]# cd nagios
[root@Nagios-Server nagios]# ./configure --with-command-group=nagcmd
[root@Nagios-Server nagios]# make all
[root@Nagios-Server nagios]# make install
[root@Nagios-Server nagios]# make install-init
[root@Nagios-Server nagios]# make install-commandmode
創建NagiosWeb監控界面後,登錄時會需要輸入用戶名及密碼,這裏分別為tony和hwg123
[root@Nagios-Server nagios]# htpasswd -bc /usr/local/nagios/etc/htpasswd.users tony hwg123
[root@Nagios-Server nagios]# cat /usr/local/nagios/etc/htpasswd.users
tony:fr58UrsZgK.Tc
查看一下授權文件
[root@Nagios-Server nagios]# grep AuthUserFile /etc/httpd/conf.d/nagios.conf
重載一下httpd服務
[root@Nagios-Server nagios]# /etc/init.d/httpd reload
修改聯系人郵箱:
[root@Nagios-Server ~]# cd /usr/local/nagios/etc/objects/
[root@Nagios-Server objects]# vim contacts.cfg
修改35行:
email [email protected]
[root@Nagios-Server objects]# /etc/init.d/postfix start
[root@Nagios-Server objects]# lsof -i:25
[root@Nagios-Server objects]# chkconfig postfix on
[root@Nagios-Server objects]# chkconfig --list postfix
在瀏覽器上輸入http://IP/nagios ,然後輸入tony,hwg123
進入web瀏覽器界面配置
安裝Nagios-server服務器端插件包:
[root@Nagios-Server objects]# yum -y install perl-devel openssl-devel
[root@Nagios-Server objects]# cd /soft/nagios/
[root@Nagios-Server nagios]# tar xf nagios-plugins-1.4.16.tar.gz
[root@Nagios-Server nagios]# cd nagios-plugins-1.4.16
[root@Nagios-Server nagios-plugins-1.4.16]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-perl-modules --with-mysql
[root@Nagios-Server nagios-plugins-1.4.16]# make
[root@Nagios-Server nagios-plugins-1.4.16]# make install
[root@Nagios-Server nagios-plugins-1.4.16]# ls /usr/local/nagios/libexec/ |wc -l
安裝NRPE插件:
[root@Nagios-Server ]# cd /soft/nagios/
[root@Nagios-Server ]# tar xf nrpe-2.12.tar.gz
[root@Nagios-Server ]# cd nrpe-2.12
[root@Nagios-Server nrpe-2.12]# ./configure
[root@Nagios-Server nrpe-2.12]# make all
[root@Nagios-Server nrpe-2.12]# make install-plugin
[root@Nagios-Server nrpe-2.12]# make install-daemon
[root@Nagios-Server nrpe-2.12]# make install-daemon-config
[root@Nagios-Server libexec]# ls /usr/local/nagios/libexec/ |wc -l
[root@Nagios-Server libexec]# chkconfig nagios on
[root@Nagios-Server libexec]# chkconfig --list nagios
[root@Nagios-Server libexec]# echo "/etc/init.d/nagios start">>/etc/rc.local
[root@Nagios-Server libexec]# tail -1 /etc/rc.local
[root@Nagios-Server libexec]# /etc/init.d/nagios checkconfig
[root@Nagios-Server libexec]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
[root@Nagios-Server libexec]# /etc/init.d/nagios checkconfig
四、配置服務(我此處就是本機監控自己)
[root@Nagios-Server etc]# vim nagios.cfg +32

cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg

#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
添加cfg_file=/usr/local/nagios/etc/objects/hosts.cfg和cfg_file=/usr/local/nagios/etc/objects/services.cfg
註釋該行cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
[root@centos6 Nagios-Server]# cat /usr/local/nagios/etc/objects/hosts.cfg
define host{
use linux-server
host_name 22-Nagios-Server
alias 22-Nagios
address 192.168.0.22
}

define hostgroup{
hostgroup_name linux-servers
alias Linux Servers
members 22-Nagios-Server
}
[root@centos6 Nagios-Server]# cat /usr/local/nagios/etc/objects/services.cfg
define service{
use generic-service
host_name 22-Nagios-Server
service_description HTTP
check_command check_http
notifications_enabled 0
}

define service{
use generic-service
host_name 22-Nagios-Server
service_description bolg_port_80
check_command check_tcp!80
max_check_attempts 3
normal_check_interval 2
retry_check_interval 1
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options w,u,c,r
contact_groups admins
}

define service{
use generic-service
host_name 22-Nagios-Server
service_description bolg_port_3306
check_command check_tcp!3306
max_check_attempts 3
normal_check_interval 2
retry_check_interval 1
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options w,u,c,r
contact_groups admins
}

define service{
use generic-service
host_name 22-Nagios-Server
service_description Passwd
check_command check_passwd
notifications_enabled 0
}

[root@centos6 Nagios-Server]# cat /usr/local/nagios/etc/objects/ commands.cfg

#‘check_passwd ‘command definintion
define command{
command_name check_passwd
command_line $USER1$/check_passwd -H $HOSTADDRESS$ -c $ARG1$
}
[root@centos6 Nagios-Server]#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
[root@centos6 Nagios-Server]#/etc/init.d/nagios reload

具體操作是這樣先添加主機、再添加服務、然後添加命令;檢查配置最後重載Nagios服務。
備註:可能會出現的故障(有些是關於NRPE錯誤)
1,登錄web界面的時候提示錯誤:
解決:vim /usr/local/nagios/etc/cgi.cfg 把所有關於nagiosadmin改成你自己添加的用戶名,重啟服務即可。
2,command ‘check_Passwd‘ not define
解決:到 /usr/local/nagios/etc/objects/ commands.cfg 把它定義好就可以了。
3,Connction refurse host
解決:先cd /usr/local/nagios/libexec 下,使用 ./check_nrpe -H 192.168.0.150 -c check_ping 或者./check_nrpe -H 127.0.0.1 -c check_ping
如果還是提示Connction refurse host;接下來查看NRPE有沒有啟動:netstat -lntup |grep nrpe 如果沒有啟動執行
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d 然後再執行./check_nrpe -H 192.168.0.150 -c check_ping
4,NRPE command ‘check_disk‘ not define
解決:先ps -ef |grep nrpe
pkill nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
ps -ef |grep nrpe
然後再獲取./check_nrpe -H 192.168.0.150 -c check_disk
5,CHECK_NRPE: Error - Could not complete SSL handshake.
解決:vi /usr/local/nagios/etc/nrpe.cfg +79
allowed_hosts=127.0.0.1,192.168.0.22
ps -ef |grep nrpe
pkill nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
ps -ef |grep nrpe
6,NRPE: Unable to read output
解決:./check_nrpe -H 192.168.0.150 -c check_emm 如果還提示NRPE: Unable to read output然後
直接到裏面/usr/local/nagios/libexec/check_memory.pl -w 6% -c 3% 如果提示Permission denied
說明 /usr/local/nagios/libexec/check_memory.pl -w 6% -c 3% 沒有執行的權限
chmod +x /usr/local/nagios/libexec/check_memory.pl -w 6% -c 3%

Nagios監控安裝之二