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中定义 [root@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主机和服务,这里我们集中到了一起 以甜豆为例
[root@localhost etc]# vi /usr/local/nagios/etc/nagios.cfg

中间添加
cfg_file=/usr/local/nagios/etc/objects/servers/td.cfg
配置文件的名字可以自己定义
=================================================

新建td.cfg
[root@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出现以下错误提示,

[root@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了

Nagios+pnp4nagios+rrdtool 安装配置nagios被监控端NRPE配置(二)的更多相关文章

  1. Nagios+pnp4nagios+rrdtool 安装配置nagios(一)

    基于的软件版本 Apache-2.0.63  php-5.3.2 nagios-3.2.3  nagios-plugins-1.4.15  rrdtool-1.4.5 nrpe-2.12 pnp4na ...

  2. Nagios+pnp4nagios+rrdtool 安装配置为nagios添加自定义插件(三)

    nagios博大精深,可以以shell.perl等语句为nagios写插件,来满足自己监控的需要.本文写mysql中tps.qps的插件,并把收集到的结果以图形形式展现出来,这样输出的结果就有一定的要 ...

  3. Security基础(六):部署Zabbix监控平台、配置及使用Zabbix监控系统、自定义Zabbix监控项目、实现Zabbix报警功能

    一.部署Zabbix监控平台 目标: 本案例要求部署一台Zabbix监控服务器,一台被监控主机,为进一步执行具体的监控任务做准备: 在监控服务器上安装LAMP环境    修改PHP配置文件,满足Zab ...

  4. Spring学习总结(12)——Druid连接池及监控在spring配置

    Druid连接池及监控在spring配置如下: <bean id="dataSource" class="com.alibaba.druid.pool.DruidD ...

  5. Nagios的基本安装配置

    //////////////////////nagios//////////////////////nagios原理:http://www.linuxidc.com/Linux/2013-11/927 ...

  6. 1. Nagios和 NagiosQL安装及配置

    目录 1. Nagios 和 NagiosQL简介 2. Nagios+NagiosQL搭建环境说明 3. Nagios.Nagios-plugins和NagiosQL的安装 4. 配置NagiosQ ...

  7. CentOS 7.4 下安装部署Nagios监控系统详细攻略(三)

    Nagios是一个流行的电脑系统和网络监控程序,它检测主机和服务,当异常发生和解除时能提醒用户.它是基于GPLv2开发的开源软件,可免费获得及使用. nagios工作原理 nagios的功能是监控服务 ...

  8. nagios监控系统安装及配置

    Nagios通常由一个主程序(Nagios).一个插件程序(Nagios-plugins)和四个可选的ADDON(NRPE.NSCA.NSClient++和NDOUtils)组成.Ngios的监控工作 ...

  9. nagios 配置 check_traffic 流量监控模块(被监控端)

    安装软件包yum -y install net-snmp*chkconfig nrpe onchkconfig snmpd on 使用SCP命令拷贝 check_traffic.sh 到 / usr/ ...

随机推荐

  1. Apriori算法实现

    Apriori算法原理:http://blog.csdn.net/kingzone_2008/article/details/8183768 import java.util.HashMap; imp ...

  2. Mac 终端提示You have not agreed to the Xcode license agreements

    在mac 终端运行命令的时候会被提示没有同意xcode 证书 ,这个时候需要在Terminal中同意license 打开终端输入xcodebuild -license,会看到一大堆的license说明 ...

  3. OCA读书笔记(3) - 使用DBCA创建Oracle数据库

    Objectives: •Create a database by using the Database Configuration Assistant (DBCA) •Generate databa ...

  4. CSS 控制应为Html页面高度导致抖动的问题

    在CSS中添加如下代码: html,body{ overflow-y:scroll;} html,body{ overflow:scroll; min-height:101%;} html{ over ...

  5. Swift - 类扩展(extension)

    Swift语言的类扩展是一个强大的工具,我们可以通过类扩展完成如下事情: 1,给已有的类添加计算属性和计算静态属性 2,定义新的实例方法和类方法 3,提供新的构造器 4,定义下标脚本 5,是一个已有的 ...

  6. 【MySQL案例】HA: GTID_MODE配置不一致

    1.1.1. HA: GTID_MODE配置不一致 [环境描写叙述] msyql5.6.14 [报错信息] 初始状态Master和Slave都开启了enforce-gtid-consistency和g ...

  7. Oracle varchar2最大支持长度(转)

    oerr ora 0650206502, 00000, "PL/SQL: numeric or value error%s"// *Cause: An arithmetic, nu ...

  8. 怎样处理iOS 5与iOS 6的 low-memory

    移动设备终端的内存极为有限,应用程序必须做好low-memory处理工作,才能避免程序因内存使用过大而崩溃. low-memory 处理思路 通常一个应用程序会包含多个view controllers ...

  9. Lua 解释器

    Lua 解释器 警告⚠️:这将是一个又臭又长的系列教程,教程结束的时候,你将拥有一个除了性能差劲.扩展性差.标准库不完善之外,其他方面都和官方相差无几的 Lua 语言解释器.说白了,这个系列的教程实现 ...

  10. 使用国内源解决Qt在线更新慢的问题

    Qt在线安装更新工具默认使用官方的源,国内访问比较慢,可以在setting中增加国内的源来提高更新速度,如下面的源: http://mirrors.ustc.edu.cn/qtproject/onli ...