配置如下:
[root@mi3 etc]# cd /usr/local/nagios/etc
[root@mi3 etc]# ls
cgi.cfg htpasswd.users nagios.cfg objects resource.cfg
[root@mi3 etc]#
[root@mi3 etc]# cd objects/
[root@mi3 objects]# ls
commands.cfg contacts.cfg hosts localhost.cfg printer.cfg switch.cfg templates.cfg timeperiods.cfg windows.cfg
每个文件或目录含义如下表所示:
文件名或目录名 用途
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 主机的一个配置文件模板,默认没有启用此文件
1、修改邮箱地址
[root@mi3 objects]# cat contacts.cfg
define contact{
contact_name nagiosadmin
use generic-contact
alias Nagios Admin
email luochen@mi.com
}
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members nagiosadmin
}
2、cgi.cfg文件使用默认值,此文件用来控制相关cgi脚本,如果想在nagios的web监控界面执行cgi脚本,例如重启nagios进程、关闭nagios通知、停止nagios主机检测等,这时就需要配置cgi.cfg文件了。
3、nagios.cfg文件默认的路径为/usr/local/nagios/etc/nagios.cfg,是nagios的核心配置文件,所有的对象配置文件都必须在这个文件中进行定义才能发挥其作用,这里只需将对象配置文件在Nagios.cfg文件中进行引用即可。
修改如下:
[root@mi3 etc]# vi nagios.cfg
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_dir=/usr/local/nagios/etc/objects/hosts/
nagios_user=nagios
nagios_group=nagios
status_update_interval=10
check_external_commands=1
4、resource.cfg是nagios的变量定义文件,文件内容只有一行:
$USER1$=/usr/local/nagios/libexec
5、模版templates.cfg配置使用默认值
6、timeperiods.cfg文件使用默认值,此文件只要用于定义监控的时间段
7、commands.cfg文件此文件默认是存在的,无需修改即可使用,当然如果有新的命令需要加入时,在此文件进行添加即可。
添加如下:
# 'check_nrpe' command definition
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
8、localhost.cfg文件本地监控
第一个命令定义:
通过check_ping脚本确保监测主机和被监测主机的连通性,如果网络丢包率到达20%则产生warning警告,到达60%则产生critical警告:
define service{
use local-service
host_name localhost
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
第二个命令定义:
监测远程主机根分区磁盘状况,如果根分区可用空间低于20%会产生Warning警告,如果可用空间低于10%则产生Critical警告:
define service{
use local-service
host_name localhost
service_description Root Partition
check_command check_local_disk!20%!10%!/
}
第三个命令定义:
监测远程主机当前的登录用户数量,如果登录数量大于20用户则产生warning警告,如果大于50则产生critical警告:
define service{
use local-service
host_name localhost
service_description Current Users
check_command check_local_users!20!50
}
第四个命令定义:
监测远程主机当前的进程总数,如果大于700进程则产生warning警告,如果大于800进程则产生critical警告:
define service{
use local-service
host_name localhost
service_description Total Processes
check_command check_local_procs!700!800!RSZDT
}
第五个命令定义:
监测远程主机当前的僵尸进程,如果大于5进程则产生warning警告,如果大于10进程则产生critical警告:
define service{
use local-service
host_name localhost
service_description zombie Processes
check_command check_local_procs!5!10!Z
}
第六个命令定义:
监测远程主机当前的本地负载量:
define service{
use local-service
host_name localhost
service_description Current Load
check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
}
第七个命令定义:
监测远程主机swap文件系统使用量,如果swap可用空间低于20%则产生warning警告,低于10%则产生critical警告:
define service{
use local-service
host_name localhost
service_description Swap Usage
check_command check_local_swap!20!10
}
第八个命令定义:
监测SSH连接可用性,但消息通知功能默认被关闭,因为并不是所有用户都有权限SSH。
define service{
use local-service
host_name localhost
service_description SSH
check_command check_ssh
notifications_enabled 0
}
9、远程linux主机的的监控
监控端添加如下:
[root@mi3 hosts]# pwd
/usr/local/nagios/etc/objects/hosts
[root@mi3 hosts]# ls
mi1.cfg mi2.cfg mi4.cfg mi5.cfg mi6.cfg mi7.cfg
[root@mi3 hosts]# cat mi1.cfg
define host{
use linux-server
host_name mi1
alias mi1-server
address 172.16.10.11
}
define service{
use generic-service
host_name mi1
service_description 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 mi1
service_description Root Partition
check_command check_local_disk!20%!10%!/
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description Current Users
check_command check_local_users!20!50
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description Total Processes
check_command check_local_procs!600!800!RSZDT
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description zombie Processes
check_command check_local_procs!5!10!Z
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description Current Load
check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description Swap Usage
check_command check_local_swap!20!10
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description SSH
check_command check_ssh
notifications_enabled 0
}
被监控端配置:
[root@mi1 ~]# vi /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,172.16.10.13
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda6
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c %10
10、监控端执行:[root@mi3 hosts]# service nagios restart
[root@mi3 etc]# cd /usr/local/nagios/etc
[root@mi3 etc]# ls
cgi.cfg htpasswd.users nagios.cfg objects resource.cfg
[root@mi3 etc]#
[root@mi3 etc]# cd objects/
[root@mi3 objects]# ls
commands.cfg contacts.cfg hosts localhost.cfg printer.cfg switch.cfg templates.cfg timeperiods.cfg windows.cfg
每个文件或目录含义如下表所示:
文件名或目录名 用途
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 主机的一个配置文件模板,默认没有启用此文件
1、修改邮箱地址
[root@mi3 objects]# cat contacts.cfg
define contact{
contact_name nagiosadmin
use generic-contact
alias Nagios Admin
email luochen@mi.com
}
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members nagiosadmin
}
2、cgi.cfg文件使用默认值,此文件用来控制相关cgi脚本,如果想在nagios的web监控界面执行cgi脚本,例如重启nagios进程、关闭nagios通知、停止nagios主机检测等,这时就需要配置cgi.cfg文件了。
3、nagios.cfg文件默认的路径为/usr/local/nagios/etc/nagios.cfg,是nagios的核心配置文件,所有的对象配置文件都必须在这个文件中进行定义才能发挥其作用,这里只需将对象配置文件在Nagios.cfg文件中进行引用即可。
修改如下:
[root@mi3 etc]# vi nagios.cfg
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_dir=/usr/local/nagios/etc/objects/hosts/
nagios_user=nagios
nagios_group=nagios
status_update_interval=10
check_external_commands=1
4、resource.cfg是nagios的变量定义文件,文件内容只有一行:
$USER1$=/usr/local/nagios/libexec
5、模版templates.cfg配置使用默认值
6、timeperiods.cfg文件使用默认值,此文件只要用于定义监控的时间段
7、commands.cfg文件此文件默认是存在的,无需修改即可使用,当然如果有新的命令需要加入时,在此文件进行添加即可。
添加如下:
# 'check_nrpe' command definition
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
8、localhost.cfg文件本地监控
第一个命令定义:
通过check_ping脚本确保监测主机和被监测主机的连通性,如果网络丢包率到达20%则产生warning警告,到达60%则产生critical警告:
define service{
use local-service
host_name localhost
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
第二个命令定义:
监测远程主机根分区磁盘状况,如果根分区可用空间低于20%会产生Warning警告,如果可用空间低于10%则产生Critical警告:
define service{
use local-service
host_name localhost
service_description Root Partition
check_command check_local_disk!20%!10%!/
}
第三个命令定义:
监测远程主机当前的登录用户数量,如果登录数量大于20用户则产生warning警告,如果大于50则产生critical警告:
define service{
use local-service
host_name localhost
service_description Current Users
check_command check_local_users!20!50
}
第四个命令定义:
监测远程主机当前的进程总数,如果大于700进程则产生warning警告,如果大于800进程则产生critical警告:
define service{
use local-service
host_name localhost
service_description Total Processes
check_command check_local_procs!700!800!RSZDT
}
第五个命令定义:
监测远程主机当前的僵尸进程,如果大于5进程则产生warning警告,如果大于10进程则产生critical警告:
define service{
use local-service
host_name localhost
service_description zombie Processes
check_command check_local_procs!5!10!Z
}
第六个命令定义:
监测远程主机当前的本地负载量:
define service{
use local-service
host_name localhost
service_description Current Load
check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
}
第七个命令定义:
监测远程主机swap文件系统使用量,如果swap可用空间低于20%则产生warning警告,低于10%则产生critical警告:
define service{
use local-service
host_name localhost
service_description Swap Usage
check_command check_local_swap!20!10
}
第八个命令定义:
监测SSH连接可用性,但消息通知功能默认被关闭,因为并不是所有用户都有权限SSH。
define service{
use local-service
host_name localhost
service_description SSH
check_command check_ssh
notifications_enabled 0
}
9、远程linux主机的的监控
监控端添加如下:
[root@mi3 hosts]# pwd
/usr/local/nagios/etc/objects/hosts
[root@mi3 hosts]# ls
mi1.cfg mi2.cfg mi4.cfg mi5.cfg mi6.cfg mi7.cfg
[root@mi3 hosts]# cat mi1.cfg
define host{
use linux-server
host_name mi1
alias mi1-server
address 172.16.10.11
}
define service{
use generic-service
host_name mi1
service_description 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 mi1
service_description Root Partition
check_command check_local_disk!20%!10%!/
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description Current Users
check_command check_local_users!20!50
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description Total Processes
check_command check_local_procs!600!800!RSZDT
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description zombie Processes
check_command check_local_procs!5!10!Z
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description Current Load
check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description Swap Usage
check_command check_local_swap!20!10
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description SSH
check_command check_ssh
notifications_enabled 0
}
被监控端配置:
[root@mi1 ~]# vi /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,172.16.10.13
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda6
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c %10
10、监控端执行:[root@mi3 hosts]# service nagios restart
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29819001/viewspace-1321533/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29819001/viewspace-1321533/