设为首页 收藏本站
查看: 809|回复: 0

CentOS安装配置nagios(2)

[复制链接]

尚未签到

发表于 2019-1-14 13:55:47 | 显示全部楼层 |阅读模式
     在上一篇中,我们成功安装了nagios监控端,使其能够正常运作,但是还没有配置,因此还发挥不出任何作用。
  这篇我们就开始配置nagios了,让它发挥真正的效用
  

  nagios配置文件在 ~/etc目录下,主要是以下几种。
  

  
文件名类型备注
nagios.cfg主配置文件需要修改
cgi.cfg脚本控制文件可添加用户
commands.cfg命令定义文件命令配置文件,基本不需要改
contacts.cfg用户和用户组定义文件
配置用户和组,需要改
timeperiods.cfg时间定义文件定义时间,不需要修改
templates.cfg主机定义模板文件定义监控主机的类型的模板文件,基本不需改
  1.修改主配置文件

  主要修改如下几项
  check_external_commands=1  #允许web界面修改重启nagios服务
  command_check_interval=10s #命令检查时间间隔
  cfg_file=/usr/local/nagios/etc/objects/101.cfg  #添加要监控主机的配置文件,一个主机对应一个文件。
  cfg_file=/usr/local/nagios/etc/objects/235.cfg         # 我习惯是已最后一个IP为名字命名
  。。。。。。。。。
  2.检查脚本控制文件cgi.cfg
  use_authentication=1  #启用用户验证
  
authorized_for_system_information=nagiosadmin,test
authorized_for_configuration_information=nagiosadmin,test
authorized_for_system_commands=nagiosadmin,test
authorized_for_all_services=nagiosadmin,test
authorized_for_all_hosts=nagiosadmin,test
authorized_for_all_service_commands=nagiosadmin,test
authorized_for_all_host_commands=nagiosadmin,test
  如果要添加更多用户需要在上面的选项都添加,且用户都是由 /usr/local/apache/bin/htpasswd c /usr/local/nagios/etc/htpasswd XXX  生成的(XXX为用户名)。
  

  3.命令配置文件commands.cfg
  定义命令的配置文件,如果没有需要自定义一个特殊的检查的话,可以跳过不修改。
  

  4.contacts.cfg timeperiods.cfg templates.cfg 为三个模板文件,分别是时间,主机,和用户的模板。
  网上很多大神都自己全部重写的配置模板,这些全部弃之不用。其实如果没有什么特殊需要的话,模板里面的情况足够应对大部分需求。在创建具体监控目标时,直接引用模板就可以了,省时省力。
  三个模板的内容大致如下

  contacts.cfg
  define contact{
          contact_name                    nagiosadmin             ; 联系人名称
          use                             generic-contact         ; 所利用的模板                   alias                           Nagios Admin            ; 别名                           email                          test@tssss.com           ; 邮箱地址
  }
  

  define contactgroup{
           contactgroup_name       admins                        ; 组名
           alias                   Nagios Administrators          ; 组的别名
           members                 nagiosadmin                    ; 组的成员
     }
  

  

  在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                   ;定义好的24*7直接引用就能用
          thursday        00:00-24:00
          friday          00:00-24:00
          saturday        00:00-24:00
          }
  
templates.cfg中模板较多,这里就举几个常用的,其它的大多数选项的大同小异。
  
  define contact{
          name                            generic-contact         ; 模板-联系人
   service_notification_period     24x7                    ; 服务出状况的通知时间段
   host_notification_period        24x7                    ; 主机出状况通知时间段
  service_notification_options    w,u,c,r             ;
   host_notification_options       d,u,r               ; 服务和主机在那些情况下会有所动作(w-警告,u-未知,c-危险,r-恢复,d-当机)
  service_notification_commands   notify-service-by-email ;
          host_notification_commands      notify-host-by-email    ; 服务和主机采取的动作为发送邮件(具体定义在commands中)
  register                        0      因为这个为模板,所以为0
  

  

  
  define host{
   name                            generic-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             24x7            ;
          register                        0               ;
          }
  


  

  define host{
          name                            linux-server    ; 模板-LINUX服务器
  use                             generic-host    ; 借用全局模板
  check_period                    24x7            ; 检查的时间段
  check_interval                  5               ; 检查时间间隔 (分钟)
   retry_interval                  1               ; 重试的检查间隔(分钟)
    max_check_attempts              10              ; 最大检查次数
  check_command                   check-host-alive ; 指定检查命令
  notification_period             24x7            ; 故障时发送的时间范围
  ;
  notification_interval           120             ; 故障没解决再次发出通知的间隔时间
   notification_options            d,u,r           ; 指定状态下才发送
  contact_groups                  admins          ; 发送的组
  register                        0               ;
  还有个windows-server和generic-service等,与上面linux-server大同小异,就不列了。
  

  

  

  上面这些模板在引用是可以省很大力气的,基本可以应对大部分情况。
  

  

  准备工作做了那么多,现在终于突入最后一个阶段。建立对应的服务器监视配置文件
  例如现在有一台IP为192.168.1.121的linux服务器
  在~/etc/object/目录下创建一个文件121.cfg
  然后在其中填入如下内容
  

  

  define host{
  host_name                       121_agent_master   /主机名,起个认得的就行
  use                             linux-server      /引用的模板为linux-server
  address                         192.168.1.121    /主机的地址
  }
  

  define service{
  host_name                       121_agent_master    /引用上面的资料
  name                            121-service        / 服务名,用来引用
  use                             generic-service     / 引用服务模板
  

  }
  

  define service{
  use                             121-service          /  引用上面的配置
  service_description             ping       /显示在nagios上的服务名,最好通俗易懂
  check_command                   check_ping!20000.0,80%!30000.0,100%!10!30
  }    / 第3排就是具体的命令了 ,具体写法可以参照commands.cfg中的说明,这条命令是测试ping的。
  

  define service{
  use                             121-service
  service_description             http 80
  check_command                   check_tcp!80!3!8!20
  }               这组是测试80端口的存活
  

  

  5.部署nrpe
  在被监控机上要安装配置nrpe才能和监控端形成互动,这样监控才能真正的形成。
  

  首先在监控机上。。安装NRPE组件
  tar xzf nrpe-2.8.1.tar.gz
cd nrpe-2.8.1
./configure --prefix=/usr/local/nagios
make all
make install-plugin
  

  然后在配置文件command.cfg中添加如下字段
  define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
  

  这样在添加监控时,就可以使用nrpe这个项目了
  

  

  然后在被监控端上
  

  1)添加用户
  useradd nagios
  2)安装nagios-plugins
   tar zxvf  nagios-plugins-1.4.15.tar.gz
   cd nagios-plugins-1.4.15
  
   ./configure –prefix=/usr/local/nagios
       make &  make install
  chown nagios.nagios /usr/local/nagios/
chown -R nagios.nagios /usr/local/nagios/libexec/
  

  

  
  3) 安装nrpe
    tar zxvf nrpe-2.8.1.tar.gz
     cd nrpe-2.8.1
    ./configure –prefix=/usr/local/nagios
   make all
make install-plugin
make install-daemon
make install-daemon-config
  


  4)修改配置文件/usr/local/nagios/etc/nrpe.cfg
  主要修改以下两项
  server_address=192.168.1.121

  allowed_hosts=127.0.0.1,192.168.1.100  (后面为监控端的IP)
  

  6.启动nrpe服务并检验其配置
  1)以独立守护进程启动nrpe服务
  /usr/local/nagios/bin/nrpe –c /usr/local/nagios/etc/nrpe.cfg –d
  
  2)成功的话可以看到5666端口的监听
  netstat -an |grep "5666"
  

  

  7.启动nagios来监控这台主机
  1)首先检查配置是否有错误,基本上错误都能找的很准确
  

  /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
  

  直到看到以下内容就没问题了

  
Total Warnings: 0
Total Errors:   0
Things look okay - No serious problems were detected during the pre-flight check
  

  2) 后台启动nagios
  

  /usr/local/nagios/bin/nagios   /usr/local/nagios/etc/nagios.cfg  &
  

  3) 打开浏览器 输入 http:192.168.1.100/nagios 就能访问了  用户名是nagiosadmin(具体是在上一篇设置过的)。进入后点击host 即可看到监控的主机  应该有2台 一台为121 一台为localhost
  

  这样简单的nagios监控就完成了。当然nagios的能力不止这些,依靠插件能够监控更多的东西。
  当然 ,是我有空下期再写了。
  

  

  

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-663244-1-1.html 上篇帖子: 搭建nagios监控 下篇帖子: nagios安装配置及飞信报警
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表