搭建nagios监控系统
1、软件包准备
成都创新互联公司是一家以重庆网站建设、网页设计、品牌设计、软件运维、seo优化、小程序App开发等移动开发为一体互联网公司。已累计为成都酒楼设计等众行业中小客户提供优质的互联网建站和软件开发服务。
nagios-4.0.8.tar.gz
nagios-plugins-2.0.3.tar.gz
nrpe-2.15.tar.gz
httpd-2.2.23.tar.gz
2、Nagios Server端安装
1)、安装相关依赖包
yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel
2)、安装Nagios
# useradd -s /sbin/nologin nagios
# configure --prefix=/usr/local/nagios
# make all
# make install
# make install-init
# make install-commandmode
# make install-config
# chkconfig nagios on
# chkconfig --list | grep nagios
3)、安装Nagios插件
# tar zxvf nagios-plugins-2.0.3.tar.gz
# cd nagios-plugins-2.0.3
# ./configure --prefix=/usr/local/nagios/
# make && make install
4)、安装配置apache
# tar zxvf httpd-2.2.23.tar.gz
# cd httpd-2.2.23
# ./configure --prefix=/usr/local/apache2
# make && make install
# vim /usr/local/apache2/conf/http.conf
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
User daemon
Group daemon
修改为
User nagios
Group nagios
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DirectoryIndex index.html
修改并增加为
DirectoryIndex index.html index.php
AddType application/x-httpd-php .php
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
增加验证配置,即在httpd.conf 文件最后添加如下信息:
#setting for nagios
ScriptAlias /nagios/cgi-bin "/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
Alias /nagios "/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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
创建上面的目录验证文件htpasswd
# /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd nagios
# vim /usr/local/nagios/etc/cgi.cfg
修改配置文件中所有含有nagiosadmin的内容
nagiosadmin => nagiosadmin,nagios
# scp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
# vim /etc/init.d/httpd
添加以下内容
# chkconfig: 2345 85 15
# description: Apache is a World Wide Web Server
# chkconfig httpd on
# chkconfig --list | grep httpd
5)、安装配置php
# 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
# service httpd start
# service nagios start
6)、安装nrpe
# tar zxvf nrpe-2.15.tar.gz
# cd nrpe-2.15
# ./configure --enable-command-args
# make all
# make install-plugin
# /usr/local/nagios/libexec/check_nrpe -H 10.0.2.203
NRPE v2.15
7)、配置commands.cfg,添加check_nrpe定义
vim /usr/local/nagios/etc/objects/commands.cfg
# 'check_nrpe' command definition
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
8、配置hosts.cfg
vim /usr/local/nagios/etc/objects/hosts.cfg
define host{
use linux-server
host_name node.3
alias node.3
address 10.0.2.203
}
9、配置node.3.cfg(也就是node.3的services.cfg文件,为了便于管理,每台机器的services.cfg文件分开配置,并以主机名命名)
vim /usr/local/nagios/etc/objects/node.3.cfg
define service{
use local-service
host_name node.3
service_description Current Load
check_command check_nrpe!check_load
contact_groups admins
}
define service{
use local-service
host_name node.3
service_description Check Disk disk
check_command check_nrpe!check_disk
contact_groups admins
}
define service{
use local-service
host_name node.3
service_description Total Processes
check_command check_nrpe!check_total_procs
contact_groups admins
}
define service{
use local-service
host_name node.3
service_description Current Users
check_command check_nrpe!check_users
contact_groups admins
}
define service{
use local-service
host_name node.3
service_description Check Zombie Procs
check_command check_nrpe!check_zombie_procs
contact_groups admins
}
10)、配置nagios.cfg
# vim /usr/local/nagios/etc/nagios.cfg
添加以下内容
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/node.3.cfg
11)、检查nagios配置文件,并重启nagios服务
# chown -R nagios.nagios /usr/local/nagios
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
# service nagios restart
3、Nagios Client端的配置安装
1)、安装相关软件包
yum install -y xinetd openssl*
2)、添加用户
useradd nagios
passwd nagios
3)、安装nagios插件
# tar zxvf nagios-plugins-2.0.3.tar.gz
# cd nagios-plugins-2.0.3
# ./configure --prefix=/usr/local/nagios
# make && make install
# chown -R nagios.nagios /usr/local/nagios
4)、安装nrpe
# tar zxvf nrpe-2.15.tar.gz
# cd nrpe-2.15
# ./configure --enable-command-args
# make all
# make install-plugin
# make install-daemon
# make install-daemon-config
# make install-xinetd
# vim /etc/services
在文件最后追加以下内容
nrpe 5666/tcp # nrpe
# vim /etc/xinetd.d/nrpe
添加监控主机IP
only_from = 127.0.0.1 10.0.2.201
# vim /usr/local/nagios/etc/nrpe.cfg
修改
dont_blame_nrpe=1
# service xinetd restart
# lsof -i:5666
# /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
NRPE v2.15
# vim /usr/local/nagios/etc/nrpe.cfg
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
修改
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda
4、添加MySQL和tomcat的监控
1)、添加mysql监控
Nagios Server:
# vim /usr/local/nagios/etc/objects/commands
添加以下内容
# 'check_mysql' command definition
define command{
command_name check_mysql
command_line $USER1$/check_mysql -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$ $ARG3$
}
# vim /etc/ld.so.conf
追加以下内容
/usr/local/mysql/lib/#因为check_mysql会提示找不到libmysqlclient.so.18文件
# /sbin/ldconfig -v
# /usr/local/nagios/libexec/check_mysql -H 10.0.2.203 -u mysql -p 123456
# vim /usr/local/nagios/etc/objects/node.3.cfg
追加以下内容
define service{
use local-service
host_name node.3
service_description Check MySQL
check_command check_nrpe!check_mysql!mysql!123456
contact_groups admins
}
Nagios Client:
# vim /usr/local/nagios/etc/nrpe.cfg
添加以下内容
command[check_mysql]=/usr/local/nagios/libexec/check_mysql -u $ARG1$ -p $ARG2$
# vim /etc/ld.so.conf
追加以下内容
/usr/local/mysql/lib/#因为check_mysql会提示找不到libmysqlclient.so.18文件
# /sbin/ldconfig -v
2)、添加自定义tomcat监控
Nagios Server:
# vim /usr/local/nagios/etc/objects/commands
添加以下内容
# 'check_tomcat' command definition
define command{
command_name check_tomcat
command_line $USER1$/check_tomcat -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
}
# vim /usr/local/nagios/etc/objects/node.3.cfg
追加以下内容
define service{
use local-service
host_name node.3
service_description Check Tomcat
check_command check_nrpe!check_tomcat!tomcat
contact_groups admins
}
# service nagios restart
Nagios Client:
# vim /usr/local/nagios/etc/nrpe.cfg
添加以下内容
command[check_tomcat]=/usr/local/nagios/libexec/check_tomcat $ARG1$
# vim /usr/local/nagios/libexec/check_tomcat
#!/bin/sh
name=`basename $0`
process=`ps aux |grep -w "$1" | grep -vE "grep|$name"|wc -l |tr -d ' '`
if [ $process -ge 1 ]
then
echo "$1 proces running...."
exit 0
else
echo "$1 proces no exist! "
exit 2
fi
5、windows系统的监控
解压NSClient++-0.2.7.zip到C盘根目录
命令行:cmd
>c:\NSClient++-0.2.7
>nsclient++ /install
>nsclient++ SysTray
命令行:services.msc
找到NSClientpp服务,双击打开,点击”登录“标签,在”允许服务与桌面交互“前打勾
编辑c:\NSClient++-0.2.7\NSC.ini
[modules]模块
去掉除CheckWMI.dll和 RemoteConfiguration.dll 以外行的”;“
[Settings]
去掉password行的注释,并设置密码123456,同时需要在Nagios Server端command.cfg配置文件中check_nt命令定义处配置对应的密码
define command{
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s 123456 -v $ARG1$ $ARG2$
}
去掉allowed_hosts行的注释,并将本行修改为allowed_hosts=127.0.0.1/32,10.0.2.201
[NSClient]
去掉port行前面的注释,并设置port=12489
6、配置报警
1)、声音报警
Nagios Server端
上传音乐文件到/usr/local/nagios/share/media文件夹中
# vim /usr/local/nagios/etc/cgi.cfg
取消以下行前的”#“
host_unreachable_sound=hostdown.wav
host_down_sound=hostdown.wav
service_critical_sound=critical.wav
service_warning_sound=warning.wav
service_unknown_sound=warning.wav
normal_sound=noproblem.wav
2)、邮件报警
# yum install -y sendmail*
# service sendmail start
# vim /usr/local/nagios/etc/objects/contacts.cfg
修改
emailnagios@local.com => email*******@qq.com
# service nagios restart
# vim /usr/local/nagios/etc/objects/templates.cfg
修改generic-service中
notification_interval60 => notification_interval5
修改local-service中
max_check_attempts 4 => max_check_attempts 1
normal_check_interval5 => normal_check_interval5
retry_check_interval2 => retry_check_interval1
表示每五分钟发送一次邮件报警,关于nagios报警时间的详细配置,请参考”关于nagios报警时间间隔的配置“一文。
分享文章:搭建nagios监控系统
浏览地址:http://azwzsj.com/article/jhechp.html