Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等。[1]
Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。[1]
Nagios 可以监控的功能有:
1、监控网络服务(SMTP、POP3、HTTP、NNTP、PING等);
2、监控主机资源(处理器负荷、磁盘利用率等);
3、简单地插件设计使得用户可以方便地扩展自己服务的检测方法;
4、并行服务检查机制;
5、具备定义网络分层结构的能力,用"parent"主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态;
6、当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式);
7、可以定义一些处理程序,使之能够在服务或者主机发生故障时起到预防作用;
8、自动的日志滚动功能;
10、可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等;[1]
Nagios所需要的运行条件是机器必须可以运行Linux(或是Unix变种)并且有C语言编译器。
你必须正确地配置TCP/IP协议栈以使大多数的服务检测可以通过网络得以进行。你需要但并非必须正确地配置Nagios里的CGIs程序,而一旦你要使用CGI程序时,你必须要安装以下这些软件...一个WEB服务(最好是Apache)
搭建环境
centos-6.5(x64)
软件包
nagios-3.4.1.tar.gz
nagios-plugins-1.4.16.tar.gz
nrpe-2.13.tar.gz
软件安装
yum install -y wget* httpd* php make* net-snmp* gcc* glibc* gd* xinetd* openssl* openssh*
useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
tar zxvf nagios-3.4.1.tar.gz
tar zxvf nagios-plugins-1.4.15.tar.gz
cd nagios
./configure --with-command-group=nagcmd
make all
make install
make install-init
make install-config
make install-commandmode
make install-webconf
cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
/etc/init.d/nagios start
htpasswd –c /usr/local/nagios/etc/htpasswd.users nagios
cd nagios-plugins-1.4.15
./configure --with-user=nagios --with-group=nagios
make
make install
chkconfig --add nagios
chkconfig --level 35 nagios on
tar zxvf nrpe-2.13.tar.gz
cd nrpe-2.13
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config
make install-xinetd
service xinetd restart
vim /etc/xinetd.d/nrpe
only_from = 127.0.0.1 服务端ip
vim/usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,服务端ip
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
netstat -tuplna | grep 5666
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 20863/nrpe
验证成功 用户名 nagios 密码 nagiosadmin (自行设置)
出现这个画面,nagios服务器端就装好了
linux客户端安装
useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
yum install xinetd* openssl* openssh* -y
tar zxvf nagios-plugins-1.4.15.tar.gz
cd nagios-plugins-1.4.15
./configure --with-user=nagios--with-group=nagcmd
make
make install
chown -R nagios:nagios /usr/local/nagios
chown -R nagios:nagios/usr/local/nagios/libexec/
tar zxvf nrpe-2.13.tar.gz
cd nrpe-2.13
./configure
make all
make install-plugin
make install-daemon
make install-deemon-config
make install-xinetd
vim /etc/xinetd.d/nrpe
only_from = 127.0.0.1 服务端ip
vim/usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,服务端ip
service xinetd restart
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
netstat -tuplna | grep 5666
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 20863/nrpe
/usr/local/nagios/libexec/check_nrpe -H 服务端ip 服务端检查客户端nrpe插件版本
NRPE v2.13
/usr/local/nagios/libexec/check_nrpe -H 客户端ip 客户端检查服务端nrpe插件版本
NRPE v2.13
pkill nrpe;
service xinetd restart
/usr/local/nagios/bin/nrpe -c/usr/local/nagios/etc/nrpe.cfg -d
服务端添加主机
vim/usr/local/nagios/etc/objects/commands.cfg
# 'check_nrpe' command definition
definecommand{
command_name check_nrpe
command_line $USER1$/check_nrpe-H $HOSTADDRESS$ -c $ARG1$
} 最后一行添加默认配置文件默认没有此配置
vim /usr/local/nagios/etc/nagios.cfg
#cfg_dir=/usr/local/nagios/etc/servers 去掉#
mkdir -p /usr/local/nagios/etc/servers
cd /usr/local/nagios/etc/servers
touch 10.58.130.172.cfg
define host{
use linux-server
host_name 10.58.130.172
alias 10.58.130.172
address 10.58.130.172
}
define service{
use generic-service
host_name 10.58.130.172
service_description check_ping
check_command check_ping!100.0,20%!200.0,50%
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name 10.58.130.172
service_description check_ftp
check_command check_ftp!21
max_check_attempts 5
normal_check_interval 1
}
defineservice{
use generic-service
host_name 10.58.130.172
service_description check_ssh
check_command check_ssh
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name 10.58.130.172
service_description check_http
check_command check_http
max_check_attempts 5
normal_check_interval 1
}
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Total Warnings: 0
Total Errors: 0 看到提示就是配置没有错误
service nagios restart (service nagios reload)
Running configuration check...done.
Stopping nagios: done.
Starting nagios: done
本文转自 mailfile 51CTO博客,原文链接:http://blog.51cto.com/mailfile/1199498,如需转载请自行联系原作者