- 浏览: 198885 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
hao3721:
dsfasd
ehcache 使用 -
nihaokid:
方法是不会存在在对象内存中的,它存在于方法区,建议看看jvm的 ...
Java 深层理解 父类引用指向子类对象 -
vissalan:
有一点没看明白Father f1 = (Father)s;这时 ...
Java 深层理解 父类引用指向子类对象 -
咖啡舞者:
非常感谢这种分享精神.
在BREW中实现自己的GUI(8)-IWEB的封装 -
咖啡舞者:
这是创建的代码。
在设备上调的。
界面在手机和模拟器上显示的差异
四. 使用NRPE监控LINUX上的”本地信息”
本部分主要参考了NRPE的官方手册
本节的目的,对系统为linux的主机dbpi进行如下监控:CPU负载,磁盘容量,登陆用户数,总进程数,僵尸进程数,swap分区使用情况
书接前文,对于像磁盘容量,cpu负载这样的”本地信息”,nagios只能监测自己所在的主机,而对其他的机器则显得有点无能为力.毕竟没得到被控主机的适当权限是不可能得到这些信息的.为了解决这个问题,nagios有这样一个附加组件----NRPE.用它就可以完成对linux类型主机”本地信息”的监控.
NRPE的原理如下图
NRPE总共由两部分组成:
– check_nrpe 插件,位于在监控主机上
– NRPE daemon,运行在远程的linux主机上(通常就是被监控机)
按照上图,整个的监控过程如下:
当nagios需要监控某个远程linux主机的服务或者资源情况时
1.nagios会运行check_nrpe这个插件,告诉它要检查什么.
2.check_nrpe插件会连接到远程的NRPE daemon,所用的方式是SSL
3.NRPE daemon会运行相应的nagios插件来执行检查
4.NRPE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理.
注意:NRPE daemon需要nagios插件安装在远程的linux主机上,否则,daemon不能做任何的监控.
通过NRPE的检测分为两种:
1).直接检测:检测的对象是运行NRPE的那台linux主机的本地资源,原理如下图
2).间接检测:当运行nagios的监控主机无法访问到某台被监控机,但是运行NRPE的机器可以访问到时,NRPE就可以充当一个代理,将监控请求发送到被监控机
必须要说明的是,通常被监控机与监控机在同一网络内,所以这样的情况很少.下面我讲的都是直接检测.所以我们按照图示在监控主机(nagios-server)和被监控主机(dbpi,也就是图中运行NRPE的remote linux host)上安装相应的软件
在被监控主机上
1增加用户
[root@dbpi root]# useradd nagios
设置密码
[root@dbpi root]# passwd nagios
2安装nagios插件
解压缩
tar -zxvf nagios-plugins-1.4.9.tar.gz
cd nagios-plugins-1.4.9
编译安装
./configure
make
make install
这一步完成后会在/usr/local/nagios/下生成两个目录libexec和share
[root@dbpi local]# ls /usr/local/nagios/
libexec share
修改目录权限
[root@dbpi local]# chown nagios.nagios /usr/local/nagios
[root@dbpi local]# chown -R nagios.nagios /usr/local/nagios/libexec
3安装nrpe
解压缩
tar -zxvf nrpe-2.8.1.tar.gz
cd nrpe-2.8.1
编译
./configure
输出如下
*** Configuration summary for nrpe 2.8.1 05-10-2007 ***:
General Options:
-------------------------
NRPE port: 5666
NRPE user: nagios
NRPE group: nagios
Nagios user: nagios
Nagios group: nagios
Review the options above for accuracy. If they look okay,
type 'make all' to compile the NRPE daemon and client.
可以看到NRPE的端口是5666,下一步是make all
|
make all
输出如下
*** Compile finished ***
If the NRPE daemon and client compiled without any errors, you
can continue with the installation or upgrade process.
Read the PDF documentation (NRPE.pdf) for information on the next
steps you should take to complete the installation or upgrade.
|
接下来安装NPRE插件,daemon和示例配置文件
安装check_nrpe这个插件
make install-plugin
之前说过监控机需要安装check_nrpe这个插件,被监控机并不需要,我们在这里安装它是为了测试的目的
安装deamon
make install-daemon
安装配置文件
make install-daemon-config
现在再查看nagios目录就会发现有4个目录了
[root@dbpi nrpe-2.8.1]# ls /usr/local/nagios/
bin etc libexec share
按照安装文档的说明,是将NRPE deamon作为xinetd下的一个服务运行的.在这样的情况下xinetd就必须要先安装好,不过一般系统已经默认装了
4.安装xinetd脚本
[root@dbpi nrpe-2.8.1]# make install-xinetd
输出如下
/usr/bin/install -c -m 644 sample-config/nrpe.xinetd /etc/xinetd.d/nrpe
|
可以看到创建了这个文件/etc/xinetd.d/nrpe
编辑这个脚本
vi /etc/xinetd.d/nrpe
# default: on
# description: NRPE (Nagios Remote Plugin Executor)
service nrpe
{
flags = REUSE
socket_type = stream
port = 5666
wait = no
user = nagios
group = nagios
server = /usr/local/nagios/bin/nrpe
server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd
log_on_failure += USERID
disable = no
only_from = 127.0.0.1在后面增加监控主机的地址0.111,以空格间隔
}
|
改后
only_from = 127.0.0.1 192.168.0.111
编辑/etc/services文件,增加NRPE服务
vi /etc/services
增加如下
# Local services
nrpe 5666/tcp # nrpe
|
重启xinetd服务
[root@dbpi nrpe-2.8.1]# service xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
|
查看NRPE是否已经启动
[root@dbpi nrpe-2.8.1]# netstat -at|grep nrpe
tcp 0 0 *:nrpe *:* LISTEN
[root@dbpi nrpe-2.8.1]# netstat -an|grep 5666
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN
可以看到5666端口已经在监听了
5.测试NRPE是否则正常工作
之前我们在安装了check_nrpe这个插件用于测试,现在就是用的时候.执行
/usr/local/nagios/libexec/check_nrpe -H localhost
会返回当前NRPE的版本
[root@dbpi nrpe-2.8.1]# /usr/local/nagios/libexec/check_nrpe -H localhost
NRPE v2.8.1
|
也就是在本地用check_nrpe连接nrpe daemon是正常的
注:为了后面工作的顺利进行,注意本地防火墙要打开5666能让外部的监控机访问
/usr/local/nagios/libexec/check_nrpe –h查看这个命令的用法
可以看到用法是check_nrpe –H 被监控的主机 -c要执行的监控命令
注意:-c后面接的监控命令必须是nrpe.cfg文件中定义的.也就是NRPE daemon只运行nrpe.cfg中所定义的命令
查看NRPE的监控命令
cd /usr/local/nagios/etc
vi nrpe.cfg
找到下面这段话
# The following examples use hardcoded command arguments...
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -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
|
红色部分是命令名,也就是check_nrpe 的-c参数可以接的内容,等号=后面是实际执行的插件程序(这与commands.cfg中定义命令的形式十分相似,只不过是写在了一行).也就是说check_users就是等号后面/usr/local/nagios/libexec/check_users -w 5 -c 10的简称.
我们可以很容易知道上面这5行定义的命令分别是检测登陆用户数,cpu负载,hda1的容量,僵尸进程,总进程数.各条命令具体的含义见插件用法(执行”插件程序名 –h”)
由于-c后面只能接nrpe.cfg中定义的命令,也就是说现在我们只能用上面定义的这五条命令.我们可以在本机实验一下.执行
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_users
|
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_load
|
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_hda1
|
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_zombie_procs
|
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_total_procs
|
在运行nagios的监控主机上
之前已经将nagios运行起来了,现在要做的事情是:
– 安装check_nrpe插件
– 在commands.cfg中创建check_nrpe的命令定义,因为只有在commands.cfg中定义过的命令才能在services.cfg中使用
– 创建对被监控主机的监控项目
安装check_nrpe插件
[root@server1 yahoon]# tar -zxvf nrpe-2.8.1.tar.gz
[root@server1 yahoon]# cd nrpe-2.8.1
[root@server1 nrpe-2.8.1]# ./configure
[root@server1 nrpe-2.8.1]# make all
[root@server1 nrpe-2.8.1]# make install-plugin
只运行这一步就行了,因为只需要check_nrpe插件
在dbpi上我们刚装好了nrpe,现在我们测试一下监控机使用check_nrpe与被监控机运行的nrpedaemon之间的通信.
[root@server1 nrpe-2.8.1]# /usr/local/nagios/libexec/check_nrpe -H 192.168.0.100
NRPE v2.8.1
|
看到已经正确返回了NRPE的版本信息,说明一切正常.
在commands.cfg中增加对check_nrpe的定义
vi /usr/local/nagios/etc/commands.cfg
在最后面增加如下内容
########################################################################
#
# 2007.9.5 add by yahoon
# NRPE COMMAND
#
########################################################################
# 'check_nrpe ' command definition
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
|
意义如下
command_name check_nrpe
定义命令名称为check_nrpe,在services.cfg中要使用这个名称.
|
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
这是定义实际运行的插件程序.这个命令行的书写要完全按照check_nrpe这个命令的用法.不知道用法的就用check_nrpe –h查看
|
-c后面带的$ARG1$参数是传给nrpe daemon执行的检测命令,之前说过了它必须是nrpe.cfg中所定义的那5条命令中的其中一条.在services.cfg中使用check_nrpe的时候要用!带上这个参数
下面就可以在services.cfg中定义对dbpi主机cpu负载的监控
define service{
host_name dbpi
被监控的主机名,这里注意必须是linux且运行着nrpe,而且必须是hosts.cfg中定义的
service_description check-load
监控项目的名称
check_command check_nrpe!check_load
监控命令是check_nrpe,是在commands.cfg中定义的,带的参数是check_load,是在nrpe.cfg中定义的
max_check_attempts 5
normal_check_interval 3
retry_check_interval 2
check_period 24x7
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
contact_groups sagroup
}
|
像这样将其余四个监控项目加进来.
之前我们说过了,今天还有一个任务是要监控dbpi的swap使用情况.但是很遗憾,在nrpe.cfg中默认没有定义这个监控功能的命令.怎么办?手动在nrpe.cfg中添加,也就是自定义NRPE命令.
现在我们要监控swap分区,如果空闲空间小于20%则为警告状态—warning;如果小于10%则为严重状态—critical.我们可以查得需要使用check_swap插件,完整的命令行应该是下面这样.
/usr/local/nagios/libexec/check_swap -w 20% -c 10%
在被监控机上增加check_swap命令的定义
vi /usr/local/nagios/etc/nrpe.cfg
增加下面这一行
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
|
我们知道check_swap现在就可以作为check_nrpe的-c的参数使用了
修改了配置文件,当然要重启.但是
如果你是以独立的daemon运行的nrpe,那么需要手动重启.
如果你是在xinetd或者inetd下面运行的,则不需要.
由于我们是xinetd下运行的,所以不需要重启服务
在监控机上增加这个监控项目
define service{
host_name dbpi
service_description check-swap
check_command check_nrpe!check_swap
max_check_attempts 5
normal_check_interval 3
retry_check_interval 2
check_period 24x7
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
contact_groups sagroup
}
|
所有的配置文件已经修改好了,现在重启nagios.杀掉nagios进程,然后再重启.等上一会你就可以看到下面这个画面了
转下章
发表评论
-
Nagios安装使用(五)----监控windows系统的”本地信息”下
2009-09-21 17:28 1478重启nagios服务来生效,等一会就可以查看页面了 ... -
Nagios安装使用(五)----监控windows系统的”本地信息”上
2009-09-21 17:27 2421四.如何监控windows系统的”本地信息” 在nagios ... -
Nagios安装使用(四)----监控LINUX上的”本地信息”
2009-09-21 17:26 1293所有的配置文件已经修 ... -
Nagios安装使用(一)----使用插件监控更多信息
2009-09-21 17:19 2121接第二章 再点Service Detail ... -
Nagios安装使用(二)----基本安装和配置(下)
2009-09-21 17:15 1396注: 本部分参考了官方文档和田逸的文 ... -
Nagios安装使用(二)----基本安装和配置(上)
2009-09-21 17:10 1926二. 基本安装和配置 本部分主要参考官方文档和田逸的文章 ... -
Nagios安装使用(一)----准备
2009-09-21 17:06 1464一. 准备阶段: 1.实验环境 包含3台主机,详细 ... -
Linux Nagios 监控jboos sh
2009-09-21 16:39 1077Nagios 监控jboos的 ... -
Linux Nagios check_http和 check Checker的用法
2009-09-21 16:33 3088Linu ... -
halt,shutdown,reboot,init的差异
2009-09-21 16:26 2033在linux下一些常用的关 ... -
Shell编程基础
2009-07-28 12:13 817为什么要进行shell编程 在Linux系统中,虽然有各种各 ... -
嵌入式系统设计的新发展及其挑战
2009-05-08 15:32 900嵌入式系统设计技术发 ...
相关推荐
本文档主要介绍如何使用Nagios监控Linux和Windows系统,并通过飞信实现报警功能。 #### 二、环境准备与安装步骤 1. **Nagios安装前的环境准备** - **服务器环境**: LAMP或LEMP架构。LAMP指Linux + Apache + MySQL...
- **内部服务**:需要登录到被监控机上才能检查的服务,例如磁盘使用情况等本地信息。 #### 二、Nagios安装与配置流程 **准备阶段**: - **实验环境**:本示例包含三台主机,分别为监控机和两台被监控机。 - **...
### Nagios监控Linux主机——NRPE安装与应用详解 #### NRPE概述及其工作原理 NRPE(Nagios Remote Plugin Executor)是Nagios的一种扩展工具,主要用于远程监控Linux主机的状态,比如CPU负载、内存使用情况、磁盘...
- **定义与背景**:Nagios是一款开源的计算机系统与网络监控工具,主要用于监控Windows、Linux及Unix等操作系统下的主机状态以及网络设备(如路由器、交换机)等。在系统或服务状态发生异常时,Nagios能够通过电子...
Nagios是一款开源的网络监视工具,主要用于监控Linux、Unix以及Windows系统的主机状态,以及网络设备如交换机、路由器等。它能实时监测服务状态,如SMTP、POP3、HTTP等网络服务,主机资源如CPU负载、磁盘使用率,...
2. **被监控机**:通常安装了NRPE(Nagios Remote Plugin Executor)等客户端软件,根据监控机的请求执行本地监控任务,并将结果回传给监控机。 #### 三、Nagios的工作原理 Nagios自身不包含具体的监控或报警功能...
【Nagios监控MySQL的安装配置及报警】 Nagios是一款开源的网络监控系统,用于实时监控网络服务、主机以及应用的状态,及时发现并通知系统管理员关于服务器或网络的异常情况。在本文中,我们将详细介绍如何在Linux...
通过以上步骤,你就可以在本地或远程服务器上成功部署并配置一个基本的Nagios监控系统了。这个过程中,文档中的安装配置手册会提供详细的指导,帮助你解决遇到的问题。记得在每个步骤后都进行测试,确保每个部分都能...
Nagios是一款非常流行的开源系统及网络监控工具,能够高效地监控Windows、Linux以及Unix等操作系统主机的状态,同时还支持路由器、交换机乃至打印机等设备的监控。一旦发现系统或服务出现异常,Nagios能够及时通过...
在CentOS 6.4环境下配置Nagios监控,主要涉及以下几个步骤: 1. **安装依赖软件包**: 在开始安装Nagios之前,首先需要确保系统中已经安装了必要的依赖软件包,如HTTP服务器(Apache)、PHP、GD库等。执行`yum ...
【Linux27-nagios】是指在基于Linux 2.7版本的操作系统上安装和配置Nagios的过程。以下是一个详细的步骤指南: 1. **安装基础环境**:首先确保系统中已经安装了LAMP(Linux、Apache、MySQL、PHP)环境。可以通过`...
#### 四、监控Linux上的“本地信息” - **本地信息**指那些只能在被监控机上访问的信息,如磁盘空间使用情况、文件系统状态等。 - **配置NRPE**: 1. 在被监控机上安装NRPE,并配置它以执行特定的本地监控插件。 2...
1. 安装步骤:在Linux环境下,首先需要编译源代码,通常包括配置、编译和安装三个阶段。通过执行./configure、make和sudo make install命令,即可将插件安装到系统路径。 2. 配置整合:安装完成后,需要在Nagios的...
Nagios通常在Linux系统上运行,常见的如Ubuntu、CentOS等。在安装前,确保系统已经更新到最新版本,并安装了必要的开发工具和库,如gcc、make、wget等。 3. **获取安装文件** 提供的"nagios安装必备文件"可能包含...
Nagios是一个开源网络监控系统,主要运行在Linux或Unix操作系统上。它通过各种插件来检查本地和远程的系统和服务状态,当检测到异常时,会向管理员发送告警通知。Nagios本身不包含服务监控和报警的具体代码,而是...
#### 三、Nagios远程监控Windows服务器的安装与配置 1. **Nagios基本安装**:Nagios的基本安装指的是软件包的安装。这是监控体系的基础,也是所有监控工作的起点。虽然Nagios对系统的要求不高,但如果希望使用Web...
本文档将详细介绍如何在 Red Hat AS 4 Update 4 操作系统上安装和配置 Nagios 监控系统及其相关组件。Nagios 是一个开源的主机和服务监控工具,可以用来监控计算机网络中的主机和服务,并在发生故障时通知管理员。本...