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