|
名称
| 角色
| IP地址
| server
(RHEL5)
| 服务器
| Eth0:192.168.1.1
| client
(RHEL5)
| 客户端
| Eth0:192.168.1.2
|
client
windows server2003
| 客户端
| Eth0:192.168.1.3
|
一、Nagios服务器安装过程
1)配置服务器端IP地址
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:0c:29:fe:39:A1
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.1.1
GATEWAY=192.168.1.1
TYPE=Ethernet
2)安装Nagios
1.安装依赖包
[root@UnixHot ~]# rpm -q gcc glibc glibc-common gd gd-devel php-gd openssl-devel
1)创建nagios程序用户、组
[root@UnixHot src]# useradd -m nagios
[root@UnixHot src]#groupadd nagcmd
[root@UnixHot src]# usermod -a -G nagcmd nagios
[root@UnixHot src]#usermod -a -G nagcmd apache
2)保证系统中sendmail服务器要开启
[root@localhost ~]# service sendmail status
sendmail (pid 3090) 正在运行...
B、编译安装Nagios
[root@localhost ~]# cd /aaa/
[root@localhost aaa]# tar xvf nagios-3.2.0.tar.gz
[root@localhost aaa]# cd nagios-3.2.0
[root@localhost nagios-3.2.0]# ./configure --prefix=/usr/local/nagios/ --with-command-group=nagcmd --with-nagios-user=nagios --with-nagios-group=nagios
[root@localhost nagios-3.2.0]# make all ; make install ; make install-init ; make install-commandmode ; make install-config ;make install-webconf
[root@localhost nagios-3.2.0]# chown -R nagios:nagcmd /usr/local/nagios
[root@localhost nagios-3.2.0]# chmod -R 755 /usr/local/nagios
[root@localhost nagios-3.2.0]# chkconfig --add nagios
[root@localhost nagios-3.2.0]# chkconfig nagios on
[root@localhost nagios-3.2.0]# chkconfig --list nagios
nagios 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
C、安装Nagios插件
你可以从http://www.nagios.org官方网站上下载最新的nagios插件
[root@localhost aaa]# tar xvf nagios-plugins-1.4.14.tar.gz
[root@localhost aaa]# cd nagios-plugins-1.4.14
[root@localhost nagios-plugins-1.4.14]# ./configure --prefix=/usr/local/nagios/ ; make ; make install
安装Nagios的汉化包
[root@localhost aaa]# tar xvf nagios-cn-3.2.0.tar.bz2
[root@localhost aaa]# cd nagios-cn-3.2.0
[root@localhost nagios-cn-3.2.0]# ./configure ; make all ; make install
安装LAMP架构
yum install httpd httpd-devel
yum install mysql mysql-server mysql-devel
yum install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml
编辑httpd.conf配置文件,让apache支持php
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
231 User apache
232 Group apache
391 DirectoryIndex index.php index.html index.html.var
992 #setting for nagios
993 ScriptAlias/nagios/cgi-bin "/usr/local/nagios/sbin"
994
995 AuthType Basic
996 Options ExecCGI
997 AllowOverride None
998 Order allow,deny
999 Allow from all
1000 AuthName "nagiosaccess"
1001 AuthUserFile/usr/local/nagios/etc/htpasswd
1002 Require valid-user
1003
1004 Alias /nagios"/usr/local/nagios/share"
1005
1006 AuthType Basic
1007 Options ExecCGI
1008 AllowOverride None
1009 Order allow,deny
1010 Allow from all
1011 AuthName "nagiosaccess"
1012 AuthUserFile/usr/local/nagios/etc/htpasswd
1013 Require valid-user
1014
创建apache目录的验证文件“/usr/local/nagios/etc/htpasswd”
[root@localhost ~]# htpasswd -c /usr/local/nagios/etc/htpasswd benet
New password:
Re-type new password:
Adding password for user benet
定义cgi.cfg 此文件定义benet用户可以从web界面浏览nagios的权限
[root@localhostetc]# cd /usr/local/nagios/etc/
[root@localhostetc]# vi cgi.cfg
107 default_user_name=benet
119 authorized_for_system_information=nagiosadmin,benet
131 authorized_for_configuration_information=nagiosadmin,benet
144 authorized_for_system_commands=benet
157 authorized_for_all_services=nagiosadmin,benet
158 authorized_for_all_hosts=nagiosadmin,benet
171 authorized_for_all_service_commands=nagiosadmin,benet
172 authorized_for_all_host_commands=nagiosadmin,benet
测试nagios.cfg配置的是否正确
[root@localhost ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
重启apache服务器并进行验证nagios登陆情况
[root@localhost ~]# /etc/init.d/httpd restart
停止 httpd: [失败]
启动 httpd: [确定]
[root@localhost ~]# /etc/init.d/nagios restart
Running configuration check...done.
Stopping nagios: No lock file found in/usr/local/nagios/var/nagios.lock
Starting nagios: done.
通过网页 http://ip地址/nagios
至此nagios服务器安装结束,
二、Nagios服务器配置过程
Nagios的配置过程:主机,主机组,服务,服务组,联系人,联系人组,监控时间,监控命令等,配置文件及配置项之间相互关联,彼此引用。
(Nagios配置的核心思想)
最重要的4点:
第一:要定义监控哪些主机、主机组(hosts.cfg),服务,服务组(services.cfg)
第二:要定义这个监控项需要通过什么命令实现(commands.cfg)
第三:要定义监控的时间段(timeperiods.cfg)
最后:要定义主机或服务出现问题时要通知的联系人或联系人组(contacts.cfg)
2)定义nagios.cfg
[root@localhost etc]# vi nagios.cfg
19 log_file=/usr/local/nagios/var/nagios.log #定义日志文件
30 cfg_file=/usr/local/nagios/etc/objects/hosts.cfg #定义主机对象
31 cfg_file=/usr/local/nagios/etc/objects/services.cfg #定义服务对象
32 cfg_file=/usr/local/nagios/etc/objects/commands.cfg #定义命令
33 cfg_file=/usr/local/nagios/etc/objects/contacts.cfg #定义联系人
34 cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg #定义时间截
35 cfg_file=/usr/local/nagios/etc/objects/templates.cfg #定义模版
38 #cfg_file=/usr/local/nagios/etc/objects/localhost.cfg #如果想自己定义本机的监控服务,可以将此行注释掉,在hosts.cfg文件中自行添加要监视的服务
1)定义hosts.cfg文件(监控哪些主机、主机组(hosts.cfg))
[root@localhost ~]# cd /usr/local/nagios/etc/objects
[root@localhost etc]# vi hosts.cfg
define host{
use linux-server #使用templates.cfg 定义的模版
host_name web #主机名
alias benet-web #主机别名
address 192.168.1.1 #nagios服务端ip地址
}
define host{
use linux-server #使用templates.cfg 定义的模版
host_name mysql #nrpe客户端主机名
alias benet-mysql #别名
address 192.168.1.2 #nrpe客户端ip地址
}
define hostgroup{
hostgroup_name sa-servers
alias sa servers
members web,mysql
}
[root@localhost objects]# chmod +x hosts.cfg
2)定义services.cfg(监控哪些服务,服务组(services.cfg))
[root@localhost etc]# vi services.cfg
################- benet web -##########################
define service{
use local-service
host_name web
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
define service{
use local-service
host_name web
service_description SSH
check_command check_ssh
}
define service{
use local-service
host_name web
service_description SSHD
check_command check_tcp!22
}
define service{
use local-service
host_name web
service_description http
check_command check_http
}
#####################- MYSQL -##########################
define service{
use local-service
host_name mysql
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
define service{
use local-service
host_name mysql
service_description SSH
check_command check_ssh
}
define service{
use local-service
host_name mysql
service_description ftp
check_command check_ftp
}
define service{
use local-service
host_name mysql
service_description mysqlport
check_command check_tcp!3306
}
[root@localhost objects]# chmod +x services.cfg
注意:hosts.cfg和services.cfg两个文件默认在/usr/local/nagios/etc并不存在,需要手动创建。
Check_ping!100.0,20%!500.0,60%
命令!告警延时,丢包率!严重告警延时,丢包率。
Check_ssh!22!10
命令!端口!连接超时时间
3)定义contacts.cfg(定义主机或服务出现问题时要通知的联系人或联系人组)
[root@localhost etc]# cd /usr/local/nagios/etc/objects/
[root@localhost objects]# vi contacts.cfg
35 email root@localhost ;
三、Nagios的运行和维护
1)验证nagios主配置文件的语法正确性
[root@localhost etc]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Total Warnings: 0
Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight check
2)启动与停止nagios
[root@localhost etc]# service nagios start
Starting nagios:This account is currently not available.
done.
[root@localhost etc]# service nagios status
nagios (pid 5106) is running...
[root@localhost etc]# service nagios stop
Stopping nagios: .done.
[root@localhost etc]# service nagios restart
Running configuration check...done.
Stopping nagios: No lock file found in /usr/local/nagios//var/nagios.lock
Starting nagios:This account is currently not available.
done.
四、Nagios性能分析图表的实现
1)安装PNP支持包rrdtool工具
[root@localhost aaa]# tar xvf rrdtool-1.4.5.tar.gz
[root@localhost aaa]# cd rrdtool-1.4.5
[root@localhost rrdtool-1.4.5]# ./configure --prefix=/usr/local/rrdtool ;make ; make install
安装rrdtool时候的报错:configure:error:Please fix thelibrary issues listed above and try again
解决办法:yum install cgiliblibart_lgpl-devel pango-devel* cairo-devel* libxml2-devel
如果上面执行后无果,请执行下面操作:
yum -y install zlib libpng freetype libart_lgpllibart_lgpl-devel libxml* pango*
通常编辑安装文件时,出现make无法安装,这其实是configure编译时出现了问题。
问题分析思路:先不要make,步骤分开进行,先configure编译,这样容易发现是哪一步出现的错误,并解决
2)安装PNP
[root@localhost rrdtool-1.4.5]# cd /aaa/
[root@localhost aaa]# tar xvf pnp-0.4.13.tar.gz
[root@localhost aaa]# cd pnp-0.4.13
[root@localhost pnp-0.4.13]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-rrdtool=/usr/local/rrdtool/bin/rrdtool --with-perfdata-dir=/usr/local/nagios/share/perfdata ; make all ; make install ; make install-config ; make install-init
3)配置PNP
A,创建默认配置文件
[root@localhost pnp-0.4.13]# cd /usr/local/nagios/etc/pnp/
[root@localhost pnp]# cp process_perfdata.cfg-sample process_perfdata.cfg(是对处理nagios产生的性能数据的配置文件)
[root@localhost pnp]# cp npcd.cfg-sample npcd.cfg(是对pnp4nagios以NPCD方式运行时的配置文件,npcd也就是一种pnp4nagios怎样处理nagios数据的一个运行方式)
[root@localhost pnp]# cp rra.cfg-sample rra.cfg(是对pnp4nagios使用rrdtool时的相关配置文件)
[root@localhost pnp]# chown -R nagios:nagcmd /usr/local/nagios/etc/pnp/
[root@localhost pnp]# chmod -R 755 /usr/local/nagios/etc/pnp/
必须设置这个权限,不然web界面执行控制命令会出错
chown nagios.nagcmd /usr/local/nagios/var/rw
chmod 777 /usr/local/nagios/var/rw
B,修改process_perfdata.cfg
[root@localhost pnp]# vi /usr/local/nagios/etc/pnp/process_perfdata.cfg
44 LOG_LEVEL = 2
4)修改Nagios主配置文件
A,增加小太阳图标
[root@localhost pnp]# cd /usr/local/nagios/etc/objects
[root@localhost etc]# vi templates.cfg
define host{
name hosts-pnp
register 0
action_url /nagios/pnp/index.php?host=$HOSTNAME$
process_perf_data 1
}
define service{
name services-pnp
register 0
action_url /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$
process_perf_data 1
}
B、修改nagios.cfg
找到如下几行去掉注释
[root@localhost etc]# vim /usr/local/nagios/etc/nagios.cfg
833 process_performance_data=1 #打开收集的数据写入文件功能
845 host_perfdata_command=process-host-perfdata #提取主机数据时的命令
846 service_perfdata_command=process-service-perfdata #提取服务数据时的命令
C、修改commands.cfg
# 'process-host-perfdata' command definition
define command{
command_name process-host-perfdata
command_line /usr/local/nagios/libexec/process_perfdata.pl
}
# 'process-service-perfdata' command definition
define command{
command_name process-service-perfdata
command_line /usr/local/nagios/libexec/process_perfdata.pl
}
下面是pnp的2种模式,只做参考
Pnp默认模式
#'process-host-perfdata' command definition
definecommand{
command_name process-host-perfdata
command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
}
#'process-service-perfdata' command definition
definecommand{
command_name process-service-perfdata
command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl
}
Pnp与npcd批量模式
在nagios.cfg中定义process_performance_data=1
define command{
command_name process-service-perfdata-file
command_line /bin/mv/usr/local/nagios/var/service-perfdata /usr/local/nagios/var/spool/perfdata/service-perfdata.$TIMET$
}
define command{
command_name process-host-perfdata-file
command_line /bin/mv /usr/local/nagios/var/host-perfdata/usr/local/nagios/var/spool/perfdata/host-perfdata.$TIMET$
}
/usr/local/nagios/bin/npcd -d -f/usr/local/nagios/etc/pnp/npcd.cfg启用npcd配置文件
D、修改hosts.cfg文件和services.cfg文件
[root@localhost ~]# vi /usr/local/nagios/etc/objects/hosts.cfg
define host{
use linux-server,hosts-pnp
host_name web
alias benet-web
address 192.168.1.1
}
define host{
use linux-server,hosts-pnp
host_name mysql
alias benet-mysql
address 192.168.1.2
}
define hostgroup{
hostgroup_name sa-servers
alias sa servers
members web,mysql
}
[root@localhost ~]# vi /usr/local/nagios/etc/objects/services.cfg
################- benet web -##########################
define service{
use local-service,services-pnp
host_name web
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
define service{
use local-service,services-pnp
host_name web
service_description SSH
check_command check_ssh
}
测试是否有nagios文件错误
[root@localhost ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
重启服务
[root@localhost ~]# service httpd restart
[root@localhost ~]# service nagios restart
点击小太阳,出现对主机或服务的监控页面
报错一:PHP GD Support found
解决办法:yum install php-gd
每个文件或目录含义如下表所示:
文件名或目录名 | 用途 | cgi.cfg | 控制CGI访问的配置文件 | nagios.cfg | Nagios 主配置文件 | resource.cfg | 变量定义文件,又称为资源文件,在些文件中定义变量,以便由其他配置文件引用,如$USER1$ | objects | objects 是一个目录,在此目录下有很多配置文件模板,用于定义Nagios 对象 | objects/commands.cfg | 命令定义配置文件,其中定义的命令可以被其他配置文件引用 | objects/contacts.cfg | 定义联系人和联系人组的配置文件 | objects/localhost.cfg | 定义监控本地主机的配置文件 | objects/printer.cfg | 定义监控打印机的一个配置文件模板,默认没有启用此文件 | objects/switch.cfg | 定义监控路由器的一个配置文件模板,默认没有启用此文件 | objects/templates.cfg | 定义主机和服务的一个模板配置文件,可以在其他配置文件中引用 | objects/timeperiods.cfg | 定义Nagios 监控时间段的配置文件 | objects/windows.cfg | 监控Windows 主机的一个配置文件模板,默认没有启用此文件
|
五,利用插件扩展Nagios的监控功能
下面我们通过在nagios服务端和客户端安装NRPE插件来搭建一个更加完善的Nagios监控系统。
1)配置nagios客户端(即远端被监控主机192.168.1.2)
A)安装Nagios插件
登陆192.168.1.2客户端
[root@localhost ~]# cd /aaa/
[root@localhost aaa]# useradd -s /sbin/nologin nagios
[root@localhost aaa]# tar zxf nagios-plugins-1.4.14.tar.gz
[root@localhost aaa]# cd nagios-plugins-1.4.14
[root@localhost nagios-plugins-1.4.14]# ./configure ; make ;make install
[root@localhost nagios-plugins-1.4.14]# chown nagios:nagios /usr/local/nagios/
[root@localhost nagios-plugins-1.4.14]# chown -R nagios.nagios /usr/local/nagios/libexec/
B)安装NRPE插件
[root@localhost aaa]# cd /aaa/
[root@localhost aaa]# tar zxf nrpe-2.12.tar.gz
[root@localhost aaa]# cd nrpe-2.12
[root@localhost nrpe-2.12]# ./configure ; make all ; make install-plugin ; make install-daemon ; make install-daemon-config
C)修改NRPE配置文件
[root@localhost nrpe-2.12]# vi /usr/local/nagios/etc/nrpe.cfg
79 allowed_hosts=192.168.1.1 #nagios服务器地址
44 server_address=192.168.233.204 #客户机本机地址
D)启动NRPE
[root@localhost nrpe-2.12]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
[root@localhost nrpe-2.12]# netstat -antl |grep 5666
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN
E)测试NRPE
[root@localhost nrpe-2.12]# /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
NRPE v2.12
如果出现NRPE v2.12表明NRPE已经正常工作
定义让nagios服务器监控我本机上的内容(当前用户数,CPU,内存,硬盘等信息)
[root@localhost libexec]# vi /usr/local/nagios/etc/nrpe.cfg
199 command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
200 command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 - c 30,25,20
201 command[check_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10 % -p /dev/sda1
202 command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
203 command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 1 50 -c 200
重启NRPE
[root@localhost ~]# ps -elf |grep nrpe
5 S nagios 22379 1 0 75 0 - 1243 - 17:59 ? 00:00:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
0 R root 22586 4247 0 78 0 - 1039 - 18:09 pts/0 00:00:00 grep nrpe
[root@localhost ~]# kill -9 22379
[root@localhost ~]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d
2,配置nagios服务器端
登陆nagios服务器端:192.168.1.1
1)安装NRPE插件
[root@localhost etc]# cd /aaa/
[root@localhost aaa]# tar zxf nrpe-2.12.tar.gz
[root@localhost aaa]# cd nrpe-2.12
[root@localhost nrpe-2.12]# ./configure ; make all ; make install-plugin
报错一:checking for SSL headers... configure: error: Cannot find ssl headers
解决办法:yum -y install openssl-devel openssl-perl
2)测试插件能否取得与客户端192.168.1.2的联系
[root@localhost nrpe-2.12]# /usr/local/nagios/libexec/check_nrpe -H 192.168.1.2
NRPE v2.12
出现NRPE v2.12就证明成功联系上客户端
3)定义一个check_nrpe监控命令
[root@localhost nrpe-2.12]# vi /usr/local/nagios/etc/objects/commands.cfg
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
[root@localhost ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
5)添加远程主机监控项
[root@localhost nrpe-2.12]# vi /usr/local/nagios/etc/obejcts/services.cfg
define service{
use local-service
host_name mysql
service_description users
check_command check_nrpe!check_users
}
define service{
use local-service
host_name mysql
service_description load
check_command check_nrpe!check_load
}
define service{
use local-service
host_name mysql
service_description disk
check_command check_nrpe!check_sda1
}
define servicegroup{
servicegroup_name servergroup
alias server-group
members web,PING,web,SSH,web,SSHD,web,http,mysql,users,mysql,load,mysql,disk
}
[root@localhost ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
6)测试并重新启动nagios服务
[root@localhost ~]# service nagios restart
Nagios监控windows
此处以winserver2003服务器为例
1.下载windows端软件包NSClient++-Win32-0.3.5.msi。
2.安装—解压压缩包,双击安装即可,指定naiogs的ip地址,然后一直下一步就行。
3.修改NSCliet++ 的配置文件,默认安装在C盘下,照下图做即可
1)
我的电脑—右键管理—服务和应用程序—启动NSClient++服务
打开cmd执行netstat –an查看监听状态,!防火墙也要打开tcp的12489端口,否则nagios检查此服务的时候会报socket 超时错误.是critical哦!后果很十分严重啊.我就犯了这个错误,所以特别强调一下.
!防火墙也要打开tcp的12489端口,否则nagios检查此服务的时候会报socket 超时错误.是critical哦!后果很十分严重啊.我就犯了这个错误,所以特别强调一下.
Nagios服务器端配置
第一种方法:如果只是定义一台windows主机,那么可以使用templates.cfg里面的windows配置板,此处我只定义一台windows主机,所以我使用模板
1.首先更改nagios.cfg配置文件,让其支持windows.cfg定义对象,找到41行,去掉前面#号
2.查看nagios的命令配置定义对象,看是否有check_nt的定义,如果没有,自行加入(此处commands.cfg文件中已有定义,不用自己编写)
3.定义主机,编辑objects/windows.cfg文件,此文件中,只需更改29行的ip地址即可,改成被监控端windows的(由于此文件中已经写好要监控的东西,所以不用再另行编写,如果想定义此文件中没有的内容,可自动编写)
4.最后检查配置是否正确,
重启nagios服务
在nagios服务端的操作
1)编辑nagios.cfg配置文件,
[root@localhost ~]# vim /usr/local/nagios/etc/nagios.cfg
40 cfg_file=/usr/local/nagios/etc/objects/windows.cfg #去掉此行#号
2)查看Nagios服务器下定义check_nt命令
[root@localhost etc]# vim commands.cfg
define command {
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
}
#如果只是一台windows主机,可以简单的更改以下模板,如果是多台主机,那么就在nagios.cfg中定义cfg.dir,以方便管理3)定义windows.cfg对象
[root@localhost ~]# cd /usr/local/nagios/etc/objects/
[root@localhost objects]# vim windows.cfg
首先定义一个需要监控的主机,本例为监控Winserver2003,命令如下:
define host {
host_name winserver2003
alias My Windows Server
address 192.168.1.3
use windows-server,host-pnp
}
3)监控 windows 主机的 CPU 负载
define service {
host_name winserver2003
service_description cpuload
use generic-service
check_command check_nt!CPULOAD!-l 5,70,80,10,80,90
}
注:#CPU如果到达80%则报警,到达90%则警笛
4)监控 windows 主机的内存使用状况
define service {
host_name winserver2003
service_description Memory Usage
use generic-service
check_command check_nt!MEMUSE!-w 80 -c 90
}
注:内存使用到达80%则warn,到达90%则Critical
5)监控 windows 主机的开机运作时间
define service {
host_name winserver2003
service_description Uptime
use generic-service
check_command check_nt!UPTIME
}
6)检查windows主机是否已经安装了NSClient++,及它的版本号
define service {
host_name winserver2003
service_description NSClient++ Version
use generic-service
check_command check_nt!CLIENTVERSION
}
7)监控 windows 主机的 C:\ 的空间使用量
define service {
host_name winserver2003
service_description C:\ Drive Space
use generic-service
check_command check_nt!USEDDISKSPACE!-l c! -w 80 -c 90
}
8)监控 windows主机的W3SVC设置的动作状况
define service{
host_name winserver2003
use generic-service
service_description W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}
9)监控 windows 主机的 Explorer.exe 进程运作状况,如程序终止,则会发 Critical
define service {
host_name winserver2003
service_description Explorer
use generic-service
check_command check_nt!PROCSTATE! -d SHOWALL -l explorer.exe
}
10)监控 windows 主机的SNMP服务的运作状况,如服务终止,则会发CRITICAL
define service{
use generic-service
host_name winserver2003
service_description SNMP
check_command check_nt!SERVICESTATE!-d SHOWALL -l "SNMP Service"
}
9)监控Windows主机的MySQL服务运行情况,如服务终止,则会发出CRITICAL
define service {
host_name winserver2003
service_description MySQL55
use generic-service
check_command check_nt!SERVICESTATE! -d SHOWALL -l MySQL55
}
最后检查配置是否正确
重启nagios服务
|
|