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

Nagios+pnp4nagios+rrdtool 安装配置nagios被监控端NRPE配置(二)

[复制链接]

尚未签到

发表于 2015-9-8 08:59:15 | 显示全部楼层 |阅读模式
NRPE监控插件基础

  NRPE总共由两部分组成:
(1).check_nrpe插件,运行在监控主机上。
(2).NRPE daemon,运行在远程的linux主机上(通常就是被监控机)
整个的监控过程如下:
当Nagios需要监控某个远程linux主机的服务或者资源情况时:
1).nagios会运行check_nrpe插件,我们要在nagios配置文件中告诉它要检查什么.
2).check_nrpe插件会通过SSL连接到远程的NRPEdaemon.
3).NRPE daemon会运行相应的nagios插件来执行检查本地资源或服务.
4).NRPE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理.
注意:NRPE daemon需要nagios插件安装在远程被监控linux主机上,否则,daemon不能做任何的监控.

Nagios被监控端安装
   

  Step1
安装nagios-plugin
  
  useradd -s /sbin/nologin nagios
  
  mkdir /usr/local/nagios
  
  chown -R  nagios.nagios  /usr/local/nagios
  
  tar -zxvf nagios-plugins-1.4.13.tar.gz
  
  cd nagios-plugins-1.4.13
  
  ./configure  --prefix=/usr/local/nagios
  make  && make install
  
  这一步完成后会在/usr/local/nagios/下生成两个目录libexec和share
  
  Step2
  改变主目录权限
  chown  -R  nagios.nagios  /usr/local/nagios
  
  Step3
    安装客户端的nrpe  
  tar -zxvf nrpe-2.12.tar.gz
  cd  nrpe-2.12
  
  ./configure
  
make all  
  
make install-plugin
  
make install-daemon
  
make install-daemon-config
  
  Step4
  
  配置nrpe信息
vi/usr/local/nagios/etc/nrpe.cfg
将allowed_hosts=127.0.0.1
修改成你的nagios服务器的ip
  
  
  Step5
  
  启动nrpe
  /usr/local/nagios/bin/nrpe -c/usr/local/nagios/etc/nrpe.cfg -d
  
  验证nrpe
  netstat -an|grep 5666   察看是否在5666端口上监听
  
  测试连通性
  /usr/local/nagios/libexec/check_nrpe -Hlocalhost
  察看是否能返回nrpv版本号,返回则正常!
  
  Step6
  
  vi /usr/local/nagios/etc/nrpe.cfg
可以看到里面监控对象
# The following examples use hardcoded command arguments...
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p/dev/hda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -sZ
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
  我们为了监控swap
在nrpe.cfg中添加
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
注意:添加监控新项目所用的命令都在客户端的nrpe.cfg中添加
  添加之后再次启动nrpe
  先杀掉后台进程,然后kill-9 进程号
  
  /usr/local/nagios/bin/nrpe  -c  /usr/local/nagios/etc/nrpe.cfg –d
  
  安装服务端nrpe
  setp1
  tar -zxvf nagios-nrpe_2.8.1.orig.tar.gz
cd nagios-nrpe_2.8.1
./configure --with-nagios-user=nagios --with-nagios-group=nagios
  make all
  make install-plugin
然后我们测试下连通性
/usr/local/nagios/libexec/check_nrpe -H 被监控端ip
如果返回nrpe版本号,那么正常!
如果返回拒绝连接!那么telnet ip 5666看是否正常
  
  step2
配置nrpe添加支持:
  由于nrpe外构组件,所以必须在nagios服务器端得commands.cfg中定义 [iyunv@localhost etc]# vi /usr/local/nagios/etc/objects/commands.cfg
最下面添加
#check nrpe
define command{
         command_name check_nrpe
         command_line $USER1$/check_nrpe -H$HOSTADDRESS$ -c $ARG1$
         }
  step3
  配置要监控的linux主机和服务,这里我们集中到了一起 以甜豆为例
[iyunv@localhost etc]# vi /usr/local/nagios/etc/nagios.cfg

中间添加
cfg_file=/usr/local/nagios/etc/objects/servers/td.cfg
配置文件的名字可以自己定义
=================================================
  新建td.cfg
[iyunv@localhost etc]# vi /usr/local/nagios/etc/objects/servers/td.cfg

添加
define host{
  use             linux-server,hosts-pnp
  host_name       td-h2
  alias           td
  address         x.x.x.x
  hostgroups      td
  max_check_attempts 10
  }
  
  define host{
  use             linux-server,hosts-pnp
  host_name       td-76
  alias           td
  address         x.x.x.x
  hostgroups      td
  max_check_attempts 10
  }
  
  define host{
  use             linux-server,hosts-pnp
  host_name       td-77
  alias           td
  address        x.x.x.x
  hostgroups      td
  max_check_attempts 10
  }
  
  define host{
  use             linux-server,hosts-pnp
  host_name       td-78
  alias           td
  address         x.x.x.x
  hostgroups      td
  max_check_attempts 10
  }
  --沿着上面格式,依次定义主机
  --定义主机组
  define hostgroup{                                    
  hostgroup_name  td                     
  alias           td            
  members         td-h2,td-76,td-77,td-78
  }                                                   
  
  --定义服务
  define service{
  use                            local-service,services-pnp        ; Name of service template to use
  host_name                       td-h2,td-76,td-77,td-78
  service_description             check_tps
  check_command                   nrpe!check_tps
  }
  
  
  define service{
  use                            local-service,services-pnp        ; Name of service template to use
  host_name                       td-h2,td-76,td-77,td-78
  service_description             check_qps
  check_command                   nrpe!check_qps
  }
  
  
  define service{
  use                            local-service,services-pnp        ; Name of service template to use
  host_name                       td-h2,td-76,td-77,td-78
  service_description             check_connect
  check_command                   nrpe!check_connect
  }
  配置完毕 检测配置文件是否正确
  /usr/local/nagios/bin/nagios-v /usr/local/nagios/etc/nagios.cfg
  正确的话,重新启动nagios  

监控mysql服务安装插件check_mysql_health 插件,在被监控端

  1)、在要监控mysql主机上面建立监控用户,用作mysql监控服务使用。赋权能使用即可,注意安全性

grant select,update,insert,delete on test.* to'my_perfor'@'localhost' identified by 'my_perfor';

  2)、在nagios监控服务器上安装check_mysql_health插件.

tar -zxvf check_mysql_health-2.1.7.tar.gz

cd check_mysql_health-2.1.7

./configure --prefix=/usr/local/nagios--with-nagios-user=nagios --with-nagios-group=nagios --with-perl=/usr/bin/perl

make && make install


安装 perl-DBD-MySQL包,同时yum工具会把需要的包都安装上包含perl-DBI

yum install -y perl-DBD-MySQL   


安装完毕 可以验证一下查看一下索引情况

./check_mysql_health--socket=/usr/local/mysql/tmp/mysql.sock --port 3306 --username my_perfor --passwordmy_perfor --warning 180 --critical 220 --mode threads-connected

check_mysql_health依赖于软件包 注意64位和32位服务器的区别

yum install -y perl-DBD-MySQL  perl-DBI  # check_mysql_health使用需要这二个发安装包 如下在65位服务器上 安装 mysql版本5.0.8   

yum 安装很方便,会安装上依赖的包                       

没有安装软件包运行 check_mysql_health时报以下错误


缺少 perl-dbd-mysql包,报如下错误

CRITICAL - cannot connect to information_schema.install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains:. /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8) at (eval13) line 3.

Perhaps the DBD::mysql perl module hasn't been fully installed,

or perhaps the capitalisation of 'mysql' isn't right.

Available drivers: DBM, ExampleP, File, Gofer, Proxy, Sponge.

at ./check_mysql_health line 1862


在32位服务器上可能会出现如下问题

在运行./check_mysql_health出现以下错误提示,


[iyunv@file]# ./check_mysql_health   
-bash: ./check_mysql_health: yes: badinterpreter: No such file or directory

解决方法

因为check_mysql_health是用perl写的,将check_mysql_health的第一行由原来的#! yes -w修改为#!/usr/bin/perl,这样就OK了

  

  

  

运维网声明 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-110857-1-1.html 上篇帖子: nagios监控dell openmanage服务安装 下篇帖子: nagios笔记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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