jxdiscuz 发表于 2019-1-14 13:50:57

Nagios的配置详解

  安装完成配置文件会存放在/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_interval1               ------>每一分钟检查一次
  max_check_attempts      2      ------>失败2次报警
  contact_groupsadmins      ------>报警要通知的组
  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_namexiaocui ----------------->联系人的名字
        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
        emailroot@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
  




页: [1]
查看完整版本: Nagios的配置详解