q666123 发表于 2019-1-14 11:23:55

7.2 nagios的使用及插件调用

nagios的使用及插件调用
  一监控本机服务和系统状况
  1修改联系人配置文件contacts.cfg
  这里使用系统自带的sendmail进行收邮件测试,所以需要创建lisi用户
nagios的使用及插件调用" />
  2修改主机配置文件host.cfg
  设置监控地址为本机地址
nagios的使用及插件调用" />
  3修改服务配置文件
  这里列举常用系统状态的几项监测项目,可根据需要自行添加;首先要在command.cfg文件中有定义好的命令(要有对应的插件)
nagios的使用及插件调用" />
nagios的使用及插件调用" />
nagios的使用及插件调用" />
  4校验nagios配置文件的正确性并重启服务
nagios的使用及插件调用" />
nagios的使用及插件调用" />
  5客户端登陆查看监控信息
nagios的使用及插件调用" />
  二监控远程主机服务和系统状态
  监控远程主机服务的配置,不同的服务略有不同,下面以监控mysql服务和httpd服务为例说明
  ·监控远程服务器的mysql服务
  1在远程主机上安装mysql,启动mysqld服务并设置为开机自动启动
nagios的使用及插件调用" />
nagios的使用及插件调用" />
nagios的使用及插件调用" />
  2在mysql服务器上创建监控检测帐户,开启3306端口
nagios的使用及插件调用" />
nagios的使用及插件调用" />
  3在nagios主机上检测是否可以连接mysql主机上的mysql服务
nagios的使用及插件调用" />
  注:若没有check_mysql插件,是因为没有安装mysql-devel包,将mysql-devel包安装后重新安装一下nagios-plugins就有了
  4添加check_mysql插件的调用
  因为是新安装的插件,commands.cfg配置文件中并没有定义,因此需要添加进去
nagios的使用及插件调用" />
  5添加主机定义
  修改host.cfg文件,直接复制之前的主机定义,修改以下内容即可,主机组添加mysqlhost
nagios的使用及插件调用" />
  6添加服务定义
  针对不同的服务,可定义不同的报警时间和收件人
nagios的使用及插件调用" />
  7检测配置文件并重载服务,然后测试访问
nagios的使用及插件调用" />
nagios的使用及插件调用" />
nagios的使用及插件调用" />
  8查看状态报告邮件
nagios的使用及插件调用" />
  ·监控远程服务器的httpd服务
  继续在mysql服务器上配置
  1安装httpd服务,启动httpd服务并设置为开机自动启动
nagios的使用及插件调用" />
nagios的使用及插件调用" />
nagios的使用及插件调用" />
  2在mysql服务器上开启80端口
nagios的使用及插件调用" />
  3在nagios服务器上查看check_http插件是否存在
  默认已安装
nagios的使用及插件调用" />
  4添加check_http插件的调用
  默认已调用
nagios的使用及插件调用" />
  5添加主机定义
  这里我将httpd服务安装到mysql服务器上,因此直接使用mysql主机即可
  6添加服务定义
  直接修改一下内容即可;注意模板和主机名
nagios的使用及插件调用" />
  7检测配置文件并重载服务,然后访问查看监测信息
nagios的使用及插件调用" />
nagios的使用及插件调用" />
  ·监控远程服务器系统状态
  Nagios通过NRPE插件监控远程主机系统状况(如msyql主机)
  NRPE总共由两部分组成:
  check_nrpe插件:运行在监控主机上 (即nagios主机)
  NRPE daemon:运行在远程的linux主机上(通常就是被监控机)
  整个的监控过程:
  当Nagios需要监控某个远程linux主机的服务或者资源情况时:
  1:nagios运行check_nrpe插件,我们要在nagios配置文件中告诉它要检查什么.
  2:check_nrpe插件会通过SSL连接到远程的NRPE daemon.
  3:NRPE daemon会运行相应的nagios插件来执行检查本地资源或服务.
  4:NRPE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理.
  注意:NRPE daemon需要nagios插件和Nrpe一起安装在远程被监控linux主机上,否则,daemon不能做任何的监控. 别外因为它们间的通信是加密的SSL,所以需要安装SSL
  这个插件需要openssl的支持,没有就直接安装一下(yum install openssl-devel)
  这里仍然对mysql服务器进行监控,在mysql主机上进行如下操作:
  1创建nagios用户
nagios的使用及插件调用" />
  2编译安装nagios-plugins插件
nagios的使用及插件调用" />
nagios的使用及插件调用" />
  3安装nrpe依赖包xinetd软件包
nagios的使用及插件调用" />
  4编译安装nrpe软件包
nagios的使用及插件调用" />
nagios的使用及插件调用" />
nagios的使用及插件调用" />
nagios的使用及插件调用" />
nagios的使用及插件调用" />
nagios的使用及插件调用" />
  make install-daemon         //安装守护进程
  make install-daemon-config   //安装配置文件
  make install-xinetd         //安装xinetd脚本
  5配置nrpe
  vi /etc/xinetd.d/nrpe 修改如下行
  only_from = 127.0.0.1 192.168.10.100 //在后面增加监控主机(即nagios服务器)的地址192.168.10.100,以空格间隔
nagios的使用及插件调用" />
  6添加nrpe服务
  编辑/etc/services文件,在相应位置增加NRPE服务:mrpe 5666/tcp #nrpe服务监听端口
nagios的使用及插件调用" />
  7定义监控命令
  NRPE daemon只运行nrpe.cfg中所定义的命令;默认已定义常用的,现在手动定义一项
  vi /usr/local/nagios/etc/nrpe.cfg 修改如下行
  将下图中的#注释去掉并进行修改
nagios的使用及插件调用" />
  修改后效果如下图:根分区监测
nagios的使用及插件调用" />
  check_nrpe 的-c参数可以接的内容,等号(=)后面是实际执行的插件程序(只这与commands.cfg中定义命令的形式十分相似,不过是写在了一行).也就是说check_users就是等号后面/usr/local/nagios/libexec/check_users -w 5 -c 10的简称
  8重启xinetd服务(即开启nrpe服务)
nagios的使用及插件调用" />
nagios的使用及插件调用" />
  9开放5666端口
nagios的使用及插件调用" />
  至此客户端配置完成,如需要监测其它系统状态,可自行添加
  10在nagios服务器上编译安装nrpe软件包,并测试连接是否正常
nagios的使用及插件调用" />
nagios的使用及插件调用" />
nagios的使用及插件调用" />
  11定义插件命令
nagios的使用及插件调用" />
  用check_nrpe –h查看用法;-c后面带的$ARG1$参数是传给nrpe daemon执行的检测命令,之前说过了它必须是nrpe.cfg中所定义的命令中的其中一条
  12添加主机定义和服务定义
  主机定义已添加过mysql服务器,因此可以不用重复定义
  添加服务定义
nagios的使用及插件调用" />
nagios的使用及插件调用" />
nagios的使用及插件调用" />
  其中配置项的含义如下
  define service{
  use generic-service //使用的模板
         host_name            mysqlhost //被监控的主机名,这里注意必须是linux且运行着nrpe,而且必须是hosts.cfg中定义的
         service_description   check-disk //监控项目的名称
         check_command         check_nrpe!check_disk   //监控命令是check_nrpe,是在commands.cfg中定义的,带的参数是check_disk,是在nrpe.cfg中定义的
         max_check_attempts      5   //最大检测尝试次数
         normal_check_interval   3   //正常检测间隔时间
         retry_check_interval    2   //重试检测间隔时间
         check_period            24x7   //监控周期设置
         notification_interval   10   //通知间隔
         notification_period   24x7   //通知周期设置
         notification_options    w,u,c,r   //定义什么状态时报警
         contact_groups          sagroup   //报警联系组
         }
  13检测配置文件并重载nagios服务
nagios的使用及插件调用" />
  14登录nagios的web页面,查看监控状态



页: [1]
查看完整版本: 7.2 nagios的使用及插件调用