CentOS下安装Nagios安装

本文介绍了Nagios及其扩展NRPE的安装与配置流程。NRPE作为Nagios客户端,能有效减少资源消耗并提高监控效率。文章详细阐述了监控端与被监控端的设置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载
Nagios: [url]http://www.nagios.org/download[/url]
Nrpe: [url]http://nagios.sourceforge.net/docs/3_0/addons.html#nrpe[/url]

Nagios分为监控端和被监控端,一般来说位于不同的主机上。
[color=darkred][size=x-large][b]一. 基础组件安装[/b][/size][/color]
在被监控端安装:
- Nagios Core
- Nagios Plugins
- Nrpe
将nagios和nrpe以daemon方式启动

在监控端安装
- Nagios Core
- Nagios Plugins
- Nrpe
运行web界面。

安装配置Core,Plugin方法见:
Fedora Quickstart: [url]http://nagios.sourceforge.net/docs/3_0/quickstart-fedora.html[/url]

[color=darkred][size=x-large][b]二. 安装配置nrpe如下[/b][/size][/color]
转: [url]http://blogold.chinaunix.net/u/28387/showart_371655.html[/url]
NRPE是nagios的一个扩展,它被用于被监控的服务器上,向nagios监控平台提供该服务器的一些本地的情况。例如,cpu负载、内存使用、硬盘使用等等。NRPE可以称为nagios的for linux 客户端。

为什么要使用这个客户端呢?在nagios的插件中,有一个名为“check_ssh”的插件,它也可以实现对于远程服务器中local信息的监控。但是,相对NRPE,“check_ssh”占用的系统资源就略多了一点。监控少量的服务时可能不会察觉,但是如果监控对象比较多,那么差距就非常明显了。但是还有一点要说明,虽然NRPE也是使用SSL安全通道,但是“check_ssh”的安全性要高于NRPE,安全性总是和易用性成反比的。 -_-||

首先,需要在nagios监控平台服务器上安装NRPE,安装很简单,到官方网站下载最新的nrpe包,本例中使用的是nrpe-2.8.1.tar.gz。

[color=green][b][size=medium]I. nrpe客户端安装配置[/size][/b][/color]
tar xzf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all
make install-plugin

如果nagios安装在指定目录,那么nrpe在configure时说明prefix
如果安装成功,就可以在/.../nagios/libexec 目录中找到 "check_nrpe"这个插件(客户服务端都要安装)。

[b]1. 在$nagios_install_dir/etc/nagios.cfg中添加一行:[/b]
cfg_file=/usr/local/nagios/etc/objects/my_server.cfg

[b]2. 定义一个可以在监控平台使用的命令[/b]
在$nagios_install_dir/etc/objects/commands.cfg中,其内容如下:

define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }


[b]3.例:监控cpu负载[/b]
在$nagios_install_dir/etc/objects/创建my_server.cfg,内容如下:

define host{
use linux-server ; Name of host template to use
; This host definition will inherit all variables that are defined
; in (or inherited by) the linux-server host template definition.
host_name monitor
alias monitor
address 192.168.2.100
}

define service{
use local-service ; Name of service template to use
host_name monitor ;192.168.2.200
service_description XCPU LOAD
check_command check_nrpe!check_load
notifications_enabled 0
}


[color=green][b][size=medium]II. nrpe服务端安装配置[/size][/b][/color]
[b]1. 安装NRPE:[/b]

tar xzf nrpe-2.12.tar.gz
cd nrpe-2.8.1
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config

安装好了,可以到/usr/local/nagios/下面检查一下,应该生成了4个目录:bin、etc、libexec、share。

[b]2. 配置NRPE:[/b]
我们要配置一下,目的是让NRPE可以以守护进程的形式监听5666端口,为特定地址的nagios平台提供服务。在官方的NRPE文档中,详细说明了如何将NRPE嵌入xinetd服务中,我在这里就不啰嗦了。有些情况,我们的服务器上没有xinetd或者inetd这样的服务,那如何办呢?我在这里介绍一种更加通用的方法。

首先,需要修改/usr/local/nagios/etc/nrpe.cfg。
找到“allowed_hosts=127.0.0.1”将其改为:
allowed_hosts=127.0.0.1,$Nagios监控平台的地址或域名


这个配置的作用是声明合法的nrpe服务对象,没有在这里声明的地址是无法从本机的NRPE获得服务的。“$Nagios监控平台的地址或域名”可以是ip地址,也可以是域名。在我环境中,nagios监控平台没有一个固定的公网ip,所以其他在公网上的服务器如果安装了NRPE的话,就只能通过动态域名来辨别监控平台的地址。

[b]3. 启动NRPE守护进程[/b]
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

此命令生成的日志会在系统的日志(/var/log/message)中。如果没有出错,就基本搞定了。[b]3. 检查NRPE是否启动/b]
在本机上执行
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1


或者在nagios监控平台服务器上:
/usr/local/nagios/libexec/check_nrpe -H $目标主机地址


正常的返回值为被监控服务器上安装的NRPE的版本信息:
NRPE v2.12

如果看到这些,恭喜你,你的NRPE安装成功了。

[b]后 记[/b]

那么,通过NRPE,可以监控到哪些信息呢? 只要在被监控服务器上有的插件(/usr/local/nagios/libexec中的所有插件),都可以使用。也就是说,你想监控什么,只要有对应的插件,就可以实现。

例如,我希望监控一台远程服务器上的cpu负载。在远程主机的插件中有“check_load”,那么,在nrpe.conf中定义一个cpu负载的监控:
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
这个配置就声明了一个命令:“check_load”,也就是上述中红色字check_load的真身所在了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值