风起漂泊 发表于 2019-1-15 08:08:58

nagios监控之(监控配置)

  打开上一章:nagios监控之(运行环境搭建)
  PS: 上一张已经把nagios的基本环境搭建完成,并能成功浏览nagios页面
  现在讲下nagios配置文件
  配置文件 放在nagios/etc下面
  cgi.cfg                   控制CGI访问的配置文件
  nagios.cfg            nagios主配置文件
  resource.cfg         变量定义文件,这个一般不做修改。
  /etc/objects/            这是存放配置文件模板的目录,定义 要监控的对象和相关信息的配置文件
  objects/commands.cfg      定义监控某个功能所使用的命令的配置文件。
  objects/contacts.cfg          定义常用联系人和联系组的配置文件
  objects/localhost.cfg          定义本地主机的配置文件
  objects/templates.cfg          定义主机和服务的一个模板
  objects/timeperiods.cfg       定义监控时间段的配置文件
  还有printer.cfg    switch.cfg    windows.cfg   这几个默认不启动的配置文件,不做介绍了。
  等了解了naigos的配置文件之间的关系,自己就可以随意添加项要监控的内容了。
  配置文件之间的关系
  nagios 这些配置文件 之间存在很多相互引用,因为相互引用这样,使得nagios 的管理更加方便,但是 对于 刚刚接触nagios的朋友来说,反而显得 关系很混乱,但是只要把关系弄清楚,就算是熟练掌握了nagios了
  配置nagios
  (1)templates.cfg文件
  define contact{
  name generic-contact             定义联系人名称
  service_notification_period 24
  #定义出现服务异常时,发送通知的时间段,24在timeperiods.cfg定义的,这24参数也算引用
  host_notification_period 24
  #定义出现主机异常时,发送通知的时间段,24在timeperiods.cfg定义的
  service_notification_options w,u,c,r
  #定义通知可以被发错的情况,w表示警告warn,u表示不明unknown
  #c表示紧急criticle,r表示恢复recover
  host_notification_options d,u,r
  #d:宕机   u:不可到达状态   r:恢复状态
  service_notification_commands notify-service-by-email
  #服务故障时,通过email方式进行通知,notify-service-by-email 在commands.cfg中定义的
  host_notification_commands notify-host-by-email
  #主机故障时,通过email方式进行通知,notify-host-by-email在commands.cfg中定义的
  register 0
}
  define host{
  name generic-host   定义主机模板的名称,不是电脑的主机名,只针对这个define host模板
  notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
failure_prediction_enabled 1
process_perf_data 1   开启数据传输功能,后面将用到
retain_status_information 1
retain_nonstatus_information 1
notification_period 24
register 0
}
  define host{
  name linux-server 定义这个主机模板的名称,每个模板 里面的属性不一样,不要闹混了。
  use generic-host   引用generic-host这个主机的属性,到当前主机当中,use表示引用
  check_period 24   表示检查主机的时间段
  check_interval 5       表示检查主机的时间间隔 这里是5分钟
  retry_interval 1          第一次检查失败时,重试检查间隔 这里是1分钟
  max_check_attempts 10主机出现异常时,会尝试10次检查,再最后判断是否真正的出现异常
  check_command check-host-alive   指定检查主机状态的命令,在commands.cfg中定义的
  notification_period 24    主机故障时,发送通知的时间范围,在timeperiods.cfg中定义的
  notification_interval 120表示异常后,间隔120分钟进行第二次通知,若为0 表示只进行1次通知
  notification_options d,u,r 定义 主机在什么状态下会发送通知d:宕机 u:不可到达 r:恢复状态
  contact_groups admins指定联系人组 这个admin 在contacts.cfg文件中定义的
  register 0
}
  define service{
  name generic-service定义一个服务的名称
  active_checks_enabled1
passive_checks_enabled1
parallelize_check1
obsess_over_service1
check_freshness   0
notifications_enabled1
event_handler_enabled1
flap_detection_enabled1
failure_prediction_enabled 1
process_perf_data1
retain_status_information 1
retain_nonstatus_information 1
is_volatile   0
check_period   24
max_check_attempts3   指定了nagios对服务的最大检查次数
normal_check_interval10设置服务检查时间间隔
retry_check_interval2   重试检查时间间隔,这里是2分钟
contact_groups   admins   指定联系人组
notification_optionsw,u,c,r
notification_interval60
notification_period24
register   0
  }
  define service{
name   local-service
use   generic-service
max_check_attempts 2
normal_check_interval 5
retry_check_interval 1
register0
}

  (2)resource.cfg定义nagios的变量文件文件内容 只用到了一行   
  $USER1$=/usr/local/nagios/libexec
  不用解释相信大家也明白这句意思了。
  (3)commands.cfg
   以chkec_ping 为例:
   define command{
   command_name    check_ping
   command_line      $USER1$/check_ping -H $HOSTADDRESS$ -W $ARG1$ -C $ARG2$ -P 5
   }
   nagios服务运行后 就会检查ping 如果能ping通 代表机器运行正常,仅此而已
   里面有很多命令 ,把自己不需要的注释掉,自定义项添加的 可以根据里面的格式自己编辑
   (4)host.cfg文件,次文件默认不存在,需要自己创建。里面是被监控主机的属性。
  define host{
  use linux-server    引用linux-server的属性到当前主机里
  host_name web    定义被监控的主机名
  aliasyanzhe-web主机别名 nagios浏览器显示的就是主机别名
  address192.168.1.101 被监控的主机IP地址,也可以是域名
  }
  define host{
  use linux-server
  host_name mysql
  aliasyanzhe-mysql
  address192.168.1.102
  }
  define hostgroup{                      定义一个主机组
  hostgroup_name sa-servers         主机组名称
  aliassa servers                            主机组的别名
  membersweb,mysql                  组包括的成员
  }
  (5)services.cfg文件 进行定义了都对主机进行 那些监控服务,用什么命令。
   define service{
  use local-service         引用local-service服务的属性。
  host_name web             监控web主机上的服务web在hosts.cfg中定义的。
  service_description PING   监控服务的内容 。
  check_command check_ping!100.0,20%!500.0,60%指定检查的命令 check_ping在commands.cfg中进行的定义,后跟两个参数 命令与参数之间用!分割开。
  }
  define service{
  uselocal-service
  host_name web
  service_description SSH
  check_commandcheck_ssh
  }
  define service{
  uselocal-service
  host_name web
  service_description SSHD
  check_commandcheck_tcp!22
  }
  define service{
  uselocal-service
  host_name web
  service_description http
  check_commandcheck_http
  }
  #******************************mysql*****************************
  define service{
  uselocal-service
  host_name mysql
  service_description PING
  check_commandcheck_ping!100.0,20%!500.0,60%
  }
  define service{
  uselocal-service
  host_name mysql
  service_description SSH
  check_commandcheck_ssh
  }
  
define service{
  uselocal-service
  host_name mysql
  service_description ftp
  check_commandcheck_ftp
  }
  define service{
  uselocal-service
  host_name mysql
  service_description mysqlport
  check_commandcheck_tcp!3306
  }
  (6)contacts.cfg 文件 定义联系人和联系组的,出现故障后,通过email或者短信发送给谁。
  define contact{
  contact_name sasystem   定义联系人的名称
  usegeneric-contact       引用generic-contact的属性
  aliassa-system                联系人别名
  email13406351516@139.com    用139邮箱 手机也可以收到短信,但比直接用短信通知慢一些
  }
  
define contactgroup{
  contactgroup_name admins             定义联系人组名称
  alias   system administrator group    联系人组的描述
  members   sasystem                               就是上面定义的联系人。
}
  (7)timeperiods.cfg文件   定义监控时间段。
  define timeperiod{
      timeperiod_name 24
      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
      }
这里来设置时间段的控制 其他的设置不用修改
  (8)cgi.cfg文件 添加 admin的权限
  default_user_name=admin
  authorized_for_system_information=nagiosadmin,admin
  authorized_for_configuration_information=nagiosadmin,admin
  authorized_for_system_commands=admin
  authorized_fro_all_services=nagiosadmin,admin
  authorized_fro_all_hosts=nagiosadmin,admin
  authorized_fro_all_service_commands=nagiosadmin,admin
  authorized_fro_all_host_commands=nagiosadmin,admin
  (9)nagios.cfg文件
  添加hosts.cfg 和 services.cfg 的 指引路径
  cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
  cfg_file=/usr/local/nagios/etc/objects/services.cfg
  注释localhost.cfg的指引路径 #cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
  修改:
  command_check_interval=2
  *******************nagios的配置已经完成了*******************
  这几个配置文件之间的关系,刚刚接触可能感觉比较混乱,熟悉了就简单了。
  打开下一章:nagios监控之(运行和维护)



页: [1]
查看完整版本: nagios监控之(监控配置)