工作原理图: Nagios系统状态方面,适合多服务器上面的多服务监控,重点并不在图形化的监控。 Nagios都是通过插件实现的,通常由一个主程序(nagios)、一个插件程序(nagios-plugins) 四个可选的附件(NRPE、NSCA工作客户端,NSclient 工作服务器和客户端、NDOUtils 工作服务端) NRPE:用来监控linux/unix主机上执行脚本插件以实现对这些主机资源的监控 NSCA:让被监控的linux/unix主机主动将监控信息发送给nagios服务器 NSClient++:用来监控windows主机时安装在windows主机上的组件(NSClient++ plugin) NDOUtils:将nagios的配置信息和事件产生的数据存入数据库,以实现这些数据的快速检索和处理 Nagios 源代码程序和插件 监控主机下载: wget http://nchc.dl.sourceforge.net/p ... nagios-3.4.4.tar.gz
wget http://nchc.dl.sourceforge.net/p ... ugins-1.4.16.tar.gz
wget http://sourceforge.net/projects/ ... 14/nrpe-2.14.tar.gz被监控 Linux 主机下载:
wget http://nchc.dl.sourceforge.net/p ... ugins-1.4.16.tar.gz
wget http://sourceforge.net/projects/ ... 14/nrpe-2.14.tar.gz
被监控 Windows 主机下载:
http://nsclient.org/nscp/downloads
http://files.nsclient.org/0.3.x/NSClient%2B%2B-0.3.9-Win32.zip
http://files.nsclient.org/0.3.x/NSClient%2B%2B-0.3.9-x64.zip
一、安装LAMP环境及组件
yum install -y httpd httpd-devel mysql mysql-server mysql-devel php php-devel php-mysql php-pdo php-mbstring php-snmp net-snmp-* perl-DBD-MySQL ruby ruby-develglibc glibc-common gd gd-devel openssl openssl-devel
service httpd start
service mysqld start
二、安装nagios
groupadd nagios
useradd -g nagios -M nagios
tar zxvf nagios-3.4.1.tar.gz
cd nagios
./configure --prefix=/usr/local/nagios --with-nagios-group=nagios --with-nagios-user=nagios
make all
make install #用于安装主要的程序、CGI及HTML文件
make install-init #用于生成init启动脚本
make install-config #用于安装示例配置文件
make install-commandmode #用于设置相应的目录权限
make install-webconf #用于安装Apache配置文件
chown nagios:nagios -R /usr/local/nagios/
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg #验证nagios配置文件
Service nagios start
创建nagiosweb登陆web页面用户和密码:
htpasswd -c /usr/local/nagios/etc/htpasswd.users test
New password: 123456
修改nagios默认登陆web页面用户
vi /usr/local/nagios/etc/objects/contacts.cfg
contact_name nagiosadmin #把nagiosadmin修改为test
访问nagios页面:http://ip/nagios
三、安装nagios-plugins插件
tar zxvf nagios-plugins-1.4.16.tar.gz
cd nagios-plugins-1.4.16
./configure --prefix=/usr/local/nagios s--with-nagios-user=nagios --with-nagios-group=nagios
make && make install
四、nagios监控端安装nrpe
1、tar zxvf nrpe-2.13.tar.gz
cd nrpe-2.13
./configure
make all
make install-plugin
2、编辑 commands.cfg 文件定义 nrpe 对nagios使用
vi /usr/local/nagios/etc/objects/commands.cfg
末尾添加:
# 'check_nrpe ' command definition
define command{
command_name check_nrpe #定义命令名称为check_nrpe,在services.cfg中要使用这个名称.
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
} #这是定义实际运行的插件程序,-c后面带的$ARG1$参数是传给nrpe daemon执行的检测命令
3、配置加载监控对象文件:
vi /usr/local/nagios/etc/nagios.cfg
在 cfg_file=/usr/local/nagios/etc/objects/localhost.cfg 下添加:
cfg_file=/usr/local/nagios/etc/objects/linux.cfg
4、设置要监控的内容:
vi /usr/local/nagios/etc/objects/linux.cfg
define host{
use linux-server
host_name squid.test.com
alias squid.test.com
address 192.168.0.202
}
define service{
use generic-service
host_name squid.test.com
service_description check-swap
check_command check_nrpe!check_swap
}
define service{
use generic-service
host_name squid.test.com
service_description check-disk
check_command check_nrpe!check_disk
}
define service{
use generic-service
host_name squid.test.com
service_description check-ssh
check_command check_nrpe!check_ssh
}
define service{
use generic-service
host_name squid.test.com
service_description check-http
check_command check_nrpe!check_http
}
保存退出
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
service nagios restart
五、Linux被监控端安装nagios-plugin和nrpe
useradd nagios
1、安装nagios插件:
tar -zxvf nagios-plugins-1.4.14.tar.gz
cd nagios-plugins-1.4.14
./configure --prefix=/usr/local/nagios
make
make install
2、安装nrpe
tar -zxvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure --prefix=/usr/local/nagios
make all
make install-plugin
make install-daemon
make install-daemon-config
make install-xinetd #nrpe安装为xinetd服务 3、配置nrpe
vi /etc/xinetd.d/nrpe only_from = 127.0.0.1,192.168.0.204 #添加监控主机地址 vi /usr/local/nagios/etc/nrpe.cfg allowed_hosts=127.0.0.1,192.168.0.204 #允许监控主机对其监控 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d #启动nrpe netstat -tuplna | grep 5666 #查看是否启动 /usr/local/nagios/libexec/check_nrpe -H 192.168.0.203 #在监控端检测被监控端信息,显示版本则成功。 ps -elf |grep nrpe #查看nrpe是否启动 登陆web页面即可看到被监控主机信息! nagios-web界面提示:
It appears as though you do not have permission to view information for any of the services you requested... 解决:vi /usr/local/nagios/etc/cgi.cfg use_authentication=0 #默认1,设置为0 service nagios restart
六、nagios监控端配置
1、配置加载监控对象文件
vi /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/windows.cfg #去掉注释
2、编辑 commands.cfg 文件定义check_nt对nagios使用(默认已经定义,不需要再配置)
3、设置要监控的内容(默认配置)
vi /usr/local/nagios/etc/objects/windows.cfg
define host{
use windows-server
host_name winserver
alias My Windows Server
address 192.168.0.202
}
define hostgroup{
hostgroup_name windows-servers
alias Windows Servers
}
define service{
use generic-service
host_name winserver
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
define service{
use generic-service
host_name winserver
service_description Uptime
check_command check_nt!UPTIME
}
define service{
use generic-service
host_name winserver
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}
define service{
use generic-service
host_name winserver
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}
define service{
use generic-service
host_name winserver
service_description C: Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}
define service{
use generic-service
host_name winserver
service_description W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}
define service{
use generic-service
host_name winserver
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
}
七、Windows被监控端配置
NSClient++与 Nagios 服务器通信,主要使用 Nagios 服务器的 check_nt 插件
1、将NSClient++-0.3.9-Win32解压到C盘下NSClient++下
2、打开cmd切换到C盘NSClient++下,安装:"NSClient++.exe" /install,再"NSClient++.exe" SysTray
3、运行services.msc->右击属性NSClientpp->登陆->打钩允许服务与桌面交互
4、配置NSClient
打开nsc.ini去掉注释:CheckWMI.dll、RemoteConfiguration.dll和port=12489
allowed_hosts=127.0.0.1/32,192.168.0.204 #添加监控主机ip
5、启动NSClient++,进入NSClient++目录下,输入NSClient++ /start
6、监控端验证:/usr/local/nagios/libexec/check_nrpe -H 192.168.0.200
打开nagios web页面即可看到windows监控信息!
|