zoukankan      html  css  js  c++  java
  • Nagios的安装配置与应用之五监控远程Linux服务器

    本文出自 “曹坏水” 博客,请务必保留此出处http://cao2012.blog.51cto.com/366908/1132113 

    NRPE是Nagios的一个功能扩展,它可在远程Linux和UNIX主机上执行插件程序。通过在远程服务器上安装NRPE构件及Nagios插件程序来向Nagios监控平台提供该服务器的一些本地情况,如CPU负载、内存使用、硬盘使用等。这里将Nagios监控平台称为Nagios服务器端,而将远程被监控的服务器称为Nagios客户端。

    下图为NRPE构件监控远程主机本地信息的运行原理:

    NRPE总共由两部分组成:

    --check_nrpe插件,位于监控主机上

    --NRPE daemon,运行在远程被监控的Linux主机上

    当监控远程Linux/UNIX主机服务或资源时,流程如下:

    1、nagios会运行check_nrpe这个插件,并且会告诉它需要检查什么;

    2、check_nrpe插件会连接到远程的NRPE daemon,所用的方式是SSL;

    3、NRPE daemon会运行相应的nagios插件来执行检查动作;

    4、NPRE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理。

    注意:NRPE daemon需要nagios插件安装在远程的Linux主机上,否则daemon不能做任何的监控。

    通过NRPE的检测分为两种:

    1)直接检测:检测的对象是运行NRPE的那台Linux主机的本地资源,原理如下:

    直接使用NRPE插件监控远程Linux/UNIX主机的本地或者私有资源。例如:CPU负载,内存使用,SWAP空间使用,硬盘等运行状况。

    2)间接检测:当运行Nagios的监控主机无法访问到某台被监控主机,但是运行NRPE的机器可以访问得到的时候,运行NRPE的主机就充当一个中间代理,将监控请求发送到被监控对象上。

    其实这种情况一般出现在监控主机与被监控主机不在同一段网络内。日常企业里一般不非出现这样情况,所以下面我所做的都是直接检测。

    Nagios监控客户端的安装

    添加用户名

    [root@testdb ~]# useradd -s /sbin/nolgin nagios

    安装Nagios的插件nagios-plugin

    [root@Nagios ~]# tar -zxvf nagios-plugins-1.4.16.tar.gz

    [root@testdb ~]# cd nagios-plugins-1.4.16

    [root@testdb nagios-plugins-1.4.16]# ./configure

    注意:如果你 RedHat AS4 版本的服务器要添加--enable-redhat-pthread-workaround 选项。

    [root@testdb nagios-plugins-1.4.16]# make && make install
     
    安装NRPE
    [root@testdb ~]# tar zxvf nrpe-2.13.tar.gz 
    [root@testdb ~]# cd nrpe-2.13
    [root@testdb nrpe-2.13]# ./configure
    输出下图的结果:

    可以从上图中看出NRPE的端口是5666

    下一步是make all,输出如下图截图所示:

    安装check_nrpe插件

    [root@testdb nrpe-2.13]# make install-plugin

    其实被监控机不需要安装这个插件,这里我只是为测试!
    安装deamon
    [root@testdb nrpe-2.13]#make install-daemon
    安装配置文件
    [root@testdb nrpe-2.13]#make install-daemon-config
    将NRPE deamon作为xinetd下的一个服务运行,在这个情况下xinetd就必须先安装好,一般系统都会默认安装了。
    安装xinetd脚本
    [root@testdb nrpe-2.13]#make install-xinetd
    配置NRPE
    [root@testdb ~]#vi /etc/xinetd.d/nrpe

    #注意:在only_from添加Nagios监控服务器的IP地址。修改后如上图所示!

    添加服务端口

    [root@testdb ~]#vi /etc/services

    #在文件末尾添加

    nrpe 5666/tcp

    重启服务并验证安装

    [root@testdb ~]#/etc/init.d/xinetd restart

    [root@testdb ~]# netstat -at|grep nrpe

    tcp        0      0 *:nrpe                      *:*                         LISTEN      

    [root@testdb ~]# netstat -an|grep 5666

    tcp        0      0 0.0.0.0:5666                0.0.0.0:*                   LISTEN      

    修改权限
    [root@testdb ~]# chown -R nagios:nagios /usr/local/nagios/
    测试NRPE是否正常工作
    前面安装了check_nrpe这个插件用于测试,现在就是用的时候,执行
    /usr/local/nagios/libexec/check_nrpe -H localhost,如下图所示:

    也就是在本地用check_nrpe连接nrpe daemon是正常的。

    /usr/local/nagios/libexec/check_nrpe –h查看这个命令的用法
    可以看到用法是check_nrpe –H 被监控的主机 -c要执行的监控命令
    注意:-c后面接的监控命令必须是nrpe.cfg文件中定义的.也就是NRPE daemon只运行nrpe.cfg中所定义的命令。
     
    修改Nagios客户端NRPE的配置文件,如下图所示:

    由于-c后面只能接nrpe.cfg中定义的命令,也就是说现在我们只能用上面定义的这五条命令.我们可以在本机实验一下.如下图所示:

    Nagios服务器的部署

    安装NRPE

    [root@Nagios ~]# cd /usr/local/src/

    [root@Nagios src]# tar zxvf nrpe-2.13.tar.gz 

    [root@Nagios src]# cd nrpe-2.13

    [root@Nagios nrpe-2.13]# ./configure && make all

    [root@Nagios nrpe-2.13]# make install-plugin

    [root@Nagios nrpe-2.13]# make install-daemon

    [root@Nagios nrpe-2.13]# make install-daemon-config

    [root@Nagios nrpe-2.13]# make install-xinetd

    配置NRPE

    [root@Nagios ~]# vi /etc/xinetd.d/nrpe 如下图示:

    #注意:在only_from添加要监控的主机IP地址,中间以空格隔开。
     
    添加服务端口 
     
    [root@Nagios ~]# vi /etc/services
    #在文件末尾添加,如果不添加端口,nrpe 将不能正常运行
    nrpe 5666/tcp #nrpe
    [root@Nagios~]# /etc/init.d/xinetd restart
    [root@Nagios ~]# netstat -na | grep 5666
    tcp 0 0 0.0.0.0:5666 0.0.0.0:*
     
    修改命令定义文件
     
    由于命令定义文件里默认没有 check_nrpe 命令,所以需要先定义后使用。
    [root@Nagios ~]# vim /usr/local/nagios/etc/objects/commands.cfg
    #nrpe set 在文件末尾添加下面命令定义
    define command{
    command_name check_nrpe
    command_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
    }
     
    修改Nagios服务器hosts.cfg和services.cfg文件,如下图所示:
    hosts.cfg

    services.cfg:

    登陆验证配置

    查看配置文件是否正确

    [root@Nagios ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

    重新加载配置文件

    [root@Nagios ~]# /etc/init.d/nagios reload

    用 浏览器登陆验证,如下图所示:

    #这篇文章是根据Nagios官方文档和网上一些资料撰写的!附件已上传。

  • 相关阅读:
    SQL Server 快速大数据排序方法
    RGB颜色名称与色值对应表
    Visual Studio 2017 Android 调试无法连接到虚拟机
    sqlite 使用 cte 及 递归的实现示例
    C# 判断文件编码
    SQL点点滴滴_SQL分页查询
    SQL点点滴滴_判断字段或者字符中是否包含有特殊字符
    SQL点点滴滴_公用表表达式(CTE)递归的生成帮助数据
    【Oracle】Update方法
    SQL点点滴滴_DELETE小计
  • 原文地址:https://www.cnblogs.com/reynold-lei/p/3143514.html
Copyright © 2011-2022 走看看