nagios结合npre监控linux主机

一、前言

NRPE是Nagios的一个扩展插件,可以让Nagios在远程的监控主机本地触发执行相应的检测命令,从而获取远端被监控主机的本地性能的相关参数。

NRPE插件的组成分为两部分:安装在监控主机上的check_nrpe插件和运行在远程被监控主机上的nrpe daemon进程。

NRPE工作流程图

其工作流程大致为:

1、nagios监控主机会运行本地的check_nrpe插件来连接到远端被监控主机上的nrpe daemon,并告知它需要对哪些资源或服务进行检测。

2、远程被监控主机的NRPE daemon会运行本地的各种nagios插件来完成对本地指定服务和资源的监测。

3、NRPE daemon将检查的结果返回给nagios监控主机的check_nrpe插件,然后该插件将结果送到nagios状态队列中等待显示。

nagios的安装可参考官方说明:https://support.nagios.com/kb/article/nagios-core-installing-nagios-core-from-source-96.html#CentOS

二、在远程主机安装配置Nagios-plugins和NRPE daemon

1、添加nagios用户


[root@localhost ~]# useradd -s /sbin/nologin nagios

2、安装nagios-plugins插件


[root@localhost ~]# yum -y install gcc gcc-c++ make openssl openssl-devel

[root@localhost ~]# cd /usr/local/src/        #事先下载相应的插件包

[root@localhost src]# tar zxf nagios-plugins-2.2.1.tar.gz

[root@localhost src]# cd nagios-plugins-2.2.1

[root@localhost nagios-plugins-2.2.1]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios

[root@localhost nagios-plugins-2.2.1]# make && make install

3、配置安装NRPE


[root@localhost nagios-plugins-2.2.1]# cd ..

[root@localhost src]# tar zxf nrpe-3.2.1.tar.gz 

[root@localhost src]# cd nrpe-3.2.1

[root@localhost nrpe-3.2.1]# ./configure --with-nrpe-user=nagios --with-nrpe-group=nagios --with-nagios-user=nagios --with-nagios-group=nagios --enable-command-args --enable-ssl

[root@localhost nrpe-3.2.1]# make all

[root@localhost nrpe-3.2.1]# make install-plugin

[root@localhost nrpe-3.2.1]# make install-daemon

[root@localhost nrpe-3.2.1]# make install-config

[root@localhost nrpe-3.2.1]# vim /usr/local/nagios/etc/nrpe.cfg

[root@localhost nrpe-3.2.1]# grep ^[a-Z] /usr/local/nagios/etc/nrpe.cfg

log_facility=daemon

debug=0

pid_file=/usr/local/nagios/var/nrpe.pid

server_port=5666        #配置nagios的监听端口

nrpe_user=nagios

nrpe_group=nagios

allowed_hosts=10.10.10.8        #允许nagios监控主机访问

dont_blame_nrpe=0

allow_bash_command_substitution=0

command_timeout=60

connection_timeout=300

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

command[check_load]=/usr/local/nagios/libexec/check_load -r -w .15,.10,.05 -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 -s Z

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

4、启动NRPE


#以守护进程的方式启动NRPE

[root@localhost nrpe-3.2.1]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

[root@localhost nrpe-3.2.1]# netstat -tunlp | grep nrpe

tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 1525/nrpe           

tcp 0 0 :::5666 :::* LISTEN 1525/nrpe       

另外也可以自行编写脚本启动NRPE,如:


[root@localhost nrpe-3.2.1]# vim /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

[root@localhost nrpe-3.2.1]# vim /etc/init.d/nrped

[root@localhost nrpe-3.2.1]# chmod +x /etc/init.d/nrped

[root@localhost nrpe-3.2.1]# chkconfig --add nrped

[root@localhost nrpe-3.2.1]# chkconfig nrped on

[root@localhost nrpe-3.2.1]# service nrped start

[root@localhost nrpe-3.2.1]# netstat -tunlp | grep nrpe

tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 25859/nrpe          

tcp 0 0 :::5666 :::* LISTEN 25859/nrpe

三、在监控端安装NRPE

1、安装NRPE


[root@localhost src]# tar zxf nrpe-3.2.1.tar.gz 

[root@localhost src]# cd nrpe-3.2.1

[root@localhost nrpe-3.2.1]# ./configure --with-nrpe-user=nagios --with-nrpe-group=nagios --with-nagios-user=nagios --with-nagios-group=nagios --enable-command-args --enable-ssl

[root@localhost nrpe-3.2.1]# make all

[root@localhost nrpe-3.2.1]# make install-plugin

#安装完成后,会在Nagios安装目录的libexec下生成check_nrpe的插件

[root@localhost nrpe-3.2.1]# ll /usr/local/nagios/libexec/check_nrpe 

-rwxrwxr-x. 1 nagios nagios 132392 Jul 20 03:38 /usr/local/nagios/libexec/check_nrpe

#能通过check_nrpe查看远程主机的NRPE版本则说明安装正常

[root@localhost nrpe-3.2.1]# /usr/local/nagios/libexec/check_nrpe -H 10.10.10.11

NRPE v3.2.1

2、定义NRPE监控命令


[root@localhost nrpe-3.2.1]# cd /usr/local/nagios/etc/objects/

[root@localhost objects]# vim commands.cfg

#增加下述命令道文件末尾

define command{

        command_name check_nrpe

        command_line $USER1$/check_nrpe -H "$HOSTADDRESS$" -c "$ARG1$"

}

3、定义监控主机及监控服务


[root@localhost objects]# vim newlinux.cfg

define host{        #定义远程主机

    use linux-server   

    host_name newlinux

    alias Linux Server     

    address 10.10.10.11    

    }

define service{        #定义远程主机监控的资源服务

    use generic-service

    host_name newlinux

    service_description CHECK USER

    check_command check_nrpe!check_users

    }

define service{

    use generic-service

    host_name newlinux

    service_description Load

    check_command check_nrpe!check_load

    }

define service{

    use generic-service

    host_name newlinux

    service_description SDA1

    check_command check_nrpe!check_hda1

    }

define service{

    use generic-service

    host_name newlinux

    service_description Zombie

    check_command check_nrpe!check_zombie_procs

    }

define service{

    use generic-service

    host_name newlinux

    service_description Total procs

    check_command check_nrpe!check_total_procs

    }

此处定义的NRPE监控的资源服务是根据被监控主机的NRPE配置文件中内置的监控命令来编写的,如:


[root@localhost nrpe-3.2.1]# vim /usr/local/nagios/etc/nrpe.cfg 

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

command[check_load]=/usr/local/nagios/libexec/check_load -r -w .15,.10,.05 -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 -s Z

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

3、调用监控主机配置文件


#在nagios监控主机中的配置文件中添加下述配置,此配置可添加多行

[root@localhost objects]# vim /usr/local/nagios/etc/nagios.cfg

cfg_file=/usr/local/nagios/etc/objects/newlinux.cfg

4、检查配置文件


[root@localhost objects]# service nagios configtest

5、重启nagios服务


root@localhost objects]# service nagios restart

此时登录http://IP/nagios/ 访问nagios web管理界面应该能正常查看到监控的Linux主机。

监控状态
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容