安装完成配置文件会存放在/usr/local/nagios/etc下
cgi.cfg #CGI 配置文件
htpasswd.users #Apache 验证密码文件
nagios.cfg #Nagios 主配置文件
objects #监控对象定义文件目录
resource.cfg #Nagios 资源配置文件
主配置文件的一系列设置,会影响Nagios 守护进程,而且CGIs 程序组模块也此文件,在主配置文件里,也用来指定主机、主机组、服务、服务组、命令、通知人、通知人组等配置文件的位置
打开主配置文件 vim 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/localhost.cf 定义监控的对象
##############################################################################
l看下定义时间的配置文件 vim /usr/local/nagios/etc/objects/timeperiods.cfg
define timeperiod{
timeperiod_name 24x7
alias 24 Hours A Day, 7 Days A Week
sunday 00:00-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}
意思是定义24x7不间歇监控,也是默认的,其他的都不用看,生产环境监控都是7x24小时
##############################################################################
l再看定义监控对象的文件 vim /usr/local/nagios/etc/objects/localhost.cf
可以以下的的格式添加进去来定义被监控的主机和服务
监控主机:
define host {
host_name localhost ------>主机的名字
address 192.168.18.50被监控主机的IP地址
check_command check-host-alive监控使用的命令,在commands.cfg定义
notification_options d,u,r宕机,未知,恢复”进行通知
check_interval 1每一分钟检查一次
max_check_attempts 2失败2次报警
contact_groups admins报警要通知的组
notification_interval 10 每次通知的间隔,10分钟
notification_period 24x7通知的时间区间,随时
}
监控服务:
define service{
host_name localhost -------->服务的名字,必须和上面主机一致
service_description apache描述
check_period 24x7监控时间
normal_check_interval 2正常状态2分钟监控一次
retry_check_interval 1非正常状态1分钟监控一次
max_check_attempts 5 出现5次报错,发送通知
notification_period 24x7通知的时间区间,随时
notification_options w,u,c,r ---------->什么状态报警
check_command check_http使用的插件
}
注意:定义监控服务,必须先定义好监控这台主机,然后再在下面添加服务,且名字必须与这台主机的名字相对应
##############################################################################
l再看定义命令的文件vim /usr/local/nagios/etc/objects/commands.cfg
看里面其中一个例子
define command{
command_name check-host-alive
command_line $USER1$/check_ping -H $HOSTADDRESS$ -w3000.0,80% -c 5000.0,100% -p 5
}
意思是:当使用名字为check-host-alive的命令时,其实执行的是command_line定义的命令
详细解释这条命令:
$USER1$/check_ping-H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5
$USER1$:这是nagios的一个变量,等于/usr/local/nagios/libexec
check_ping:是一个插件,可以check_ping –help来看插件的参数
-H :后面填写是主机的名字或者IP
-w :警告
-c :严重错误
-p :发送几个包
这整句的意思是:给指定主机发送5个Ping包,如果延迟时间超过3秒或者丢包率超过80%为警告,如果5秒以上延迟或者丢包率为100%为严重错误
官方下载的所有插件都可—help来查看详细信息和用法,模式都和这个例子大同小异
##############################################################################
l接下来看定义联系人的文件 vim /usr/local/nagios/etc/objects/contacts.cfg
里面包含定义组和联系人
添加联系人:
define contact {
contact_name xiaocui ----------------->联系人的名字
alias xiaocui --------------------->别名
host_notification_period 24x7 --------->接收主机报警的时间
host_notification_options d,u,r ---------->接收主机什么状态的报警
service_notification_period 24x7 ------------>接收服务报警的时间
service_notification_options w,u,c,r -------->接收服务什么状态的报警
service_notification_commands notify-service-by-email ---->服务报警会发送mail
host_notification_commands notify-host-by-email ------>主机报警会发送mail
email root@163.com ------------------------->联系人邮箱
}
添加组:
define contactgroup{
contactgroup_name admins (定义组的名字)
members nagiosadmin,xiaocui (定义组里的成员)
}
##############################################################################
设定好配置文件重启或者/etc/init.d/nagiosreload(重新加载一下)
检查配置文件是否存在错误命令:
/usr/local/nagios/bin/nagios-v /usr/local/nagios/etc/nagios.cfg
通过以上的配置和官方的插件,就可以架构一个简单的监控系统
注:监控的信息可以在nagios的日志里查看,日志的路径在/usr/local/nagios/var/nagios.log
转载于:https://blog.51cto.com/cuimk/1224385