安装完成配置文件会存放在/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
|