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$

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

时间: 2024-08-28 01:58:59

Nagios学习笔记四:基于NRPE监控远程Linux主机的相关文章

Nagios基于NRPE 监控远程Linux主机

1 安装环境: 监控段IP: 192.168.4.34 主机名:nagios.com 操作系统:CentOS release 6.8 (Final) 软件:nagios-4.2.0,nagios-plugins-2.1.2,nrpe-2.15 被监控端IP:192.168.4.111 主机名:client.com操作系统:CentOS release 6.8 (Final)软件:nagios-plugins-2.1.2,nrpe-2.15 2 NRPE简介 2.1 NRPE 功能介绍 NRPE是

Cacti基于SNMP服务添加监控远程Linux主机

Cacti安装完成,默认仅仅可以对本机自身监控,要实现对远程客户端Linux.Windows主机的监控,需要在远程客户端主机安装SNMP服务,通过SNMP捕获数据,Cacti服务端使用RRDtool来生成图表信息实现对远程客户端主机的监控. 下面通过实验完成Cacti添加远程Linux.Windows主机监控服务. 一.添加监控Linux主机 Cacti服务端:192.168.1.251(CentOS 6.7) Cacti客户端:192.168.1.21 (CentOS 6.5) Step1:客

Nagios监控windows(基于check_nt),check_nrpe监控远程Linux

一.工作原理 Nagios服务器的/usr/local/nagios/libexec/下面使用check_nt工具与客户端程序通讯,客户端程序NSCP使用命令来获取本地客户端的信息并返回给check_nt. check_nt只是NSCP其中一项服务,Nagios还可以通过check命令(如check_http检查WEB服务).check_nrpe.NSCA.WMI来监控windows客户端. NSClient与nrpe最大的区别 被监控机上安装有nrpe,并且还有插件,最终的监控是由这些插件来进

Caliburn.Micro学习笔记(四)----IHandle&lt;T&gt;实现多语言功能

Caliburn.Micro学习笔记(四)----IHandle<T>实现多语言功能 说一下IHandle<T>实现多语言功能 因为Caliburn.Micro是基于MvvM的UI与codebehind分离, binding可以是双向的所以我们想动态的实现多语言切换很是方便今天我做一个小demo给大家提供一个思路 先看一下效果 点击英文  变成英文状态点chinese就会变成中文                          源码的下载地址在文章的最下边 多语言用的是资源文件建

蛋哥的学习笔记之-基于Unity的Shader编程:X-1 音乐水波特效

蛋哥的学习笔记之-基于Unity的Shader编程:X-1 音乐水波特效 热度 13728 2015-7-11 23:34 |个人分类:蛋哥的学习笔记之-基于Unity的Shader编程| 音乐, Unity, Shader, 水波, Shader, Shader, Shader, Shader 一.要干些啥: 很久很久没有写文档了,前段时间做了个个人很喜欢的,自认为比较原创的小特效,所以写个文档纪念下(本人特别喜欢音乐) 思路其实很简单,首先用顶点着色器实现一般的水波特效,然后解析音频数据(我

代码管理工具 --- git的学习笔记四《重新整理git(1)》

1.创建版本库 mkdir  创建目录 cd  地址,到该地址下 pwd 显示当前目录 1.创建目录 $ mkdir startGit $ cd startGit $ pwd 显示当前目录 或者cd到桌面,然后再创建目录 2.初始化版本库 $ git init 初始化仓库 提示信息:Initialized empty Git repository in /Users/xingzai/Desktop/startGit/.git/ 建立一个空的git仓库在/Users/xingzai/Desktop

Linux学习笔记四:Linux的文件搜索命令

1.文件搜索命令  which 语法:which [命令名称] 范例:$which ls  列出ls命令所在目录 [[email protected] ~]$ which ls alias ls='ls --color=auto' /bin/ls 另外一个命令:whereis [名称名称],也可以列出命令所在目录. [[email protected] ~]$ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/ma

小猪的数据结构学习笔记(四)

小猪的数据结构学习笔记(四) 线性表之静态链表 --转载请注明出处:coder-pig 本章引言: 在二,三中中我们分别学习了顺序表中的线性表与单链表,线性表有点类似于 我们前面所学的数组,而单链表使用的最多的是指针,这里问个简单的问题, 如果是在以前没有指针的话,前辈先人们怎么实现单链表呢?大家思考下! 没有指针,那么用什么来代替呢?前辈先人们非常机智,想出了使用下标+游标的方式 来实现单链表的效果!也就是今天要讲的--静态链表! 当然你也可以直接跳过本章,因为有了单链表就没有必要用静态链表了

Swift学习笔记四:数组和字典

最近一个月都在专心做unity3d的斗地主游戏,从早到晚,最后总算是搞出来了,其中的心酸只有自己知道.最近才有功夫闲下来,还是学习学习之前的老本行--asp.net,现在用.net做项目流行MVC,而不是之前的三层,既然技术在更新,只能不断学习,以适应新的技术潮流! 创建MVC工程 1.打开Visual studio2012,新建MVC4工程 2.选择工程属性,创建MVC工程 3.生成工程的目录 App_Start:启动文件的配置信息,包括很重要的RouteConfig路由注册信息 Conten