zoukankan      html  css  js  c++  java
  • 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$

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

  • 相关阅读:
    让IT工作者过劳的13个坏习惯zz
    WPF Radio button的解决方案
    程序退出的各种方法,如何关闭多线程。
    文本框输入自动切换输入法问题
    在外部js文件中读取带母版页的子页当中控件的值
    Showwindow/FindWindow/PostMessage 转
    vb读取字节中的某一位
    C# 禁止windows程序重复运行的两种基本方法
    C# DllImport的用法(转)
    sqlserver存储过程中sql语句连接及datetime字段的处理
  • 原文地址:https://www.cnblogs.com/djoker/p/5986990.html
Copyright © 2011-2022 走看看