• Nagios学习笔记四:基于NRPE监控远程Linux主机


    1、NRPE简介

    Nagios监控远程主机的方法有多种,其方式包括SNMP、NRPE、SSH和NCSA等。这里介绍其通过NRPE监控远程Linux主机的方式。

    NRPE(Nagios Remote Plugin Executor)是用于在远端服务器上运行检测命令的守护进程,它用于让Nagios监控端基于安装的方式触发远端主机上的检测命令,并将检测结果输出至监控端。而其执行的开销远低于基于SSH的检测方式,而且检测过程并不需要远程主机上的系统帐号等信息,其安全性也高于SSH的检测方式。

    2、安装配置被监控端

    1)先添加nagios用户

    # useradd -s /sbin/nologin nagios

    2)NRPE依赖于nagios-plugins,因此,需要先安装

    # tar zxf nagios-plugins-1.4.15.tar.gz

    # cd nagios-plugins-1.4.15

    # ./configure --with-nagios-user=nagios --with-nagios-group=nagios

    # make all

    # make instal

    3)安装NRPE

    # tar -zxvf nrpe-2.12.tar.gz

    # cd nrpe-2.12.tar.gz

    # ./configure --with-nrpe-user=nagios

         --with-nrpe-group=nagios

         --with-nagios-user=nagios

         --with-nagios-group=nagios

         --enable-command-args

         --enable-ssl

    # make all

    # make install-plugin

    # make install-daemon

    # make install-daemon-config

    4)配置NRPE

    # vim /usr/local/nagios/etc/nrpe.conf

    log_facility=daemon

    pid_file=/var/run/nrpe.pid

    server_address=172.16.100.11

    server_port=5666

    nrpe_user=nagios

    nrpe_group=nagios

    allowed_hosts=172.16.100.1  #允许哪些nagios服务端查询

    command_timeout=60

    connection_timeout=300

    debug=0                      #是否打开日志,0表示不打开,1表示打开,日志在message中

    dont_blame_nrpe=1           #是否允许传递参数,1表示运行,0表示不允许

    上述配置指令可以做到见名知义,因此,配置过程中根据实际需要进行修改即可。其中,需要特定说明的是allowed_hosts指令用于定义本机所允许的监控端的IP地址。

    5)启动NRPE

    # /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d

    为了便于NRPE服务的启动,可以将如下内容定义为/etc/init.d/nrped脚本:

    #!/bin/bash

    # chkconfig: 2345 88 12

    # description: NRPE DAEMON

    NRPE=/usr/local/nagios/bin/nrpe

    NRPECONF=/usr/local/nagios/etc/nrpe.cfg

    case "$1" in

    start)

    echo -n "Starting NRPE daemon..."

    $NRPE -c $NRPECONF -d

    echo " done."

    ;;

    stop)

    echo -n "Stopping NRPE daemon..."

    pkill -u nagios nrpe

    echo " done."

    ;;

    restart)

    $0 stop

    sleep 2

    $0 start

    ;;

    *)

    echo "Usage: $0 start|stop|restart"

    ;;

    esac

    exit 0

    或者,也可以在/etc/xinetd.d目录中创建nrpe文件,使其成为一个基于非独立守护进程的服务,文件内容如下:

    service nrpe

    {

    flags = REUSE

    socket_type = stream

    wait = no

    user = nagios

    group = nagios

    server = /usr/local/nagios/bin/nrpe

    server_args = -c /etc/nagios/nrpe.cfg -i

    log_on_failure += USERID

    disable = no

    }

    此种情况下启动NRPE进程需要通过重启xinetd来实现。

    6)配置允许远程主机监控的对象

    在被监控端,可以通过NRPE监控的服务或资源需要通过nrpe.conf文件使用命令进行定义,定义命令的语法格式为:command[<command_name>]=<command_to_execute>。比如:

    当nrpe收到命令后其实是调用插件提供的命令,把结果在返回给nrpe,所以nagios服务端发送的命令为定义的命令

    command[check_rootdisk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /

    command[check_swap]=/usr/local/nagios/libexec/check_disk -w 40% -c 20%

    command[check_sensors]=/usr/local/nagios/libexec/check_sensors

    command[check_users]=/usr/local/nagios/libexec/check_users -w 10 -c 20

    command[check_load]=/usr/local/nagios/libexec/check_load -w 10,8,5 -c 20,18,15

    command[check_zombies]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z

    command[check_all_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200

    command[check_all_procs]=/usr/local/nagios/libexec/check_procs -w $ARG1$ -c $ARG2$

    修改为可以传递参数的方式

  • 相关阅读:
    深圳和上海
    肖舸的“畅销门”和“卓越门”
    一件小事引发的辞职——团队里的Y君
    同洲、宇龙手机源代码之争
    《过得去》
    评肖舸之《0bug一书给谁带来了奶酪?》
    《观止》点滴
    webgame 地图加载(论坛摘录)
    分块加载(转)
    45度游戏的另类深度排序(copyPixels)
  • 原文地址:https://www.cnblogs.com/djoker/p/5986990.html
Copyright © 2020-2023  润新知