如何使用 Nagios 3.0 监控远程 Linux 主机
在之前 Nagios 3.0 Jumpstart guide 中,我解释了 Nagios 3.0 在 Red Hat Server 上的概述、安装和配置。在接下来的三章中,我将解释如何监控远程 Linux 主机以及在远程主机上运行的各种服务。
一、概述
二、在远程主机上安装 Nagios 插件和 NRPE 的 6 个步骤。
- 下载 Nagios 插件和 NRPE 附加组件
- 创建 nagios 帐户
- 安装 Nagios 插件
- 安装 NRPE
- 设置 NRPE 作为守护进程运行
- 修改/usr/local/nagios/etc/nrpe.cfg
三、4 Nagios监控服务器上配置步骤监控远程主机:
- 下载 NRPE 插件
- 安装 check_nrpe
- 为远程主机创建主机和服务定义
- 重启nagios服务
一、概述:
.
当 Nagios(安装在 nagios-servers 上)监视远程 Linux 主机上的服务(例如磁盘空间使用情况)时,将在非常高的级别上执行以下三个步骤。
- Nagios 将在 nagios-server 上执行 check_nrpe 命令,并使用 check_disk 命令请求它监视远程主机上的磁盘使用情况。
- nagios-server 上的 check_nrpe 将联系远程主机上的 NRPE 守护进程并请求它在远程主机上执行 check_disk。
- check_disk 命令的结果将由 NRPE 守护进程返回到 nagios-server 上的 check_nrpe。
以下流程总结了上面的解释:
Nagios Server (check_nrpe) —–> 远程主机(NRPE deamon) —–> check_disk
Nagios Server (check_nrpe) <—– 远程主机(NRPE deamon)<—– check_disk(返回磁盘空间使用情况)
二、在远程主机上安装 Nagios Plugins 和 NRPE 的 7 个步骤
.
1. 下载 Nagios Plugins 和 NRPE Add-on
从Nagios.org下载以下文件并移至 /home/downloads:
- nagios-plugins-1.4.11.tar.gz
- nrpe-2.12.tar.gz
2.创建nagios账户
[remotehost]# useradd nagios
[remotehost]# passwd nagios
3.安装nagios插件
[remotehost]# cd /home/downloads
[remotehost]# tar xvfz nagios-plugins-1.4.11.tar.gz
[remotehost]# cd nagios-plugins-1.4.11
[remotehost]# export LDFLAGS=-ldl
[remotehost]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-redhat-pthread-workaround
[remotehost]# make
[remotehost]# make install
[remotehost]# chown nagios.nagios /usr/local/nagios
[remotehost]# chown -R nagios.nagios /usr/local/nagios/libexec/
注意:在 Red Hat 上,对我来说 ./configure 命令与消息一起挂起:“正在检查 redhat spopen 问题...”。将 --enable-redhat-pthread-workaround 添加到 ./configure 命令作为上述问题的解决方法。
4.安装NRPE
[remotehost]# cd /home/downloads
[remotehost]# tar xvfz nrpe-2.12.tar.gz
[remotehost]# cd nrpe-2.12
[remotehost]# ./configure
[remotehost]# make all
[remotehost]# make install-plugin
[remotehost]# make install-daemon
[remotehost]# make install-daemon-config
[remotehost]# make install-xinetd
5. 设置 NRPE 作为守护进程运行(即作为 xinetd 的一部分):
- 修改 /etc/xinetd.d/nrpe 将 Nagios 监控服务器的 ip-address 添加到 only_from 指令。注意127.0.0.1和nagios监控服务器ip-address后面有一个空格(本例中nagios监控服务器ip-address为:192.168.1.2)
only_from = 127.0.0.1 192.168.1.2
- 修改 /etc/services 并在文件末尾添加以下内容。
nrpe 5666/tcp # NRPE
- 启动服务
[remotehost]#service xinetd restart
- 验证 NRPE 是否正在监听
[remotehost]# netstat -at | grep nrpe
tcp 0 0 *:nrpe *:* LISTEN
- 验证以确保 NRPE 正常运行
[remotehost]# /usr/local/nagios/libexec/check_nrpe -H localhost
NRPE v2.12
6.修改/usr/local/nagios/etc/nrpe.cfg
位于远程主机上的 nrpe.cfg 文件包含检查远程主机上的服务所需的命令。默认情况下,nrpe.cfg 带有一些标准检查命令作为示例。check_users 和 check_load 作为示例如下所示。
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
在所有检查命令中,“-w”代表“警告”,“-c”代表“关键”。例如,在下面的 check_disk 命令中,如果可用磁盘空间减少 20%,nagios 将发送警告消息。如果它达到 10% 或更少,nagios 将发送关键信息。根据您的环境更改下面“-c”和“-w”参数的值。
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
注意:您可以在远程主机的命令行上执行 nrpe.cfg 中显示的任何命令,并亲自查看结果。例如,当我在命令行上执行 check_disk 命令时,它显示以下内容:
[remotehost]#/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
DISK CRITICAL - free space: / 6420 MB (10% inode=98%);| /=55032MB;51792;58266;0;64741
在上面的例子中,由于 /dev/hda1 上的可用磁盘空间只有 10% ,它正在显示 CRITICAL 消息,该消息将返回到 nagios 服务器。
三、Nagios监控服务器上4个配置步骤监控远程主机:
.
1. 下载 NRPE 插件
从Nagios.org下载 nrpe-2.12.tar.gz并移动到 /home/downloads:
2.在nagios监控服务器上安装check_nrpe
[nagios-server]# tar xvfz nrpe-2.12.tar.gz
[nagios-server]# cd nrpe-2.1.2
[nagios-server]# ./configure
[nagios-server]# make all
[nagios-server]# make install-plugin
./configure will give a configuration summary as shown below:
*** Configuration summary for nrpe 2.12 05-31-2008 ***:
General Options:
————————-
NRPE port: 5666
NRPE user: nagios
NRPE group: nagios
Nagios user: nagios
Nagios group: nagios
注意:我在执行 ./configure 时收到“检查 SSL 标头...配置:错误:找不到 ssl 标头”错误消息。如下所示安装 openssl-devel 并再次运行 ./configure 以解决问题。
[nagios-server]# rpm -ivh openssl-devel-0.9.7a-43.16.i386.rpm krb5-devel-1.3.4-47.i386.rpm zlib-devel-1.2.1.2-1.2.i386.rpm e2fsprogs-devel-1.35-12.5.
el4.i386.rpm
warning: openssl-devel-0.9.7a-43.16.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing… ########################################### [100%]
1:e2fsprogs-devel ########################################### [ 25%]
2:krb5-devel ########################################### [ 50%]
3:zlib-devel ########################################### [ 75%]
4:openssl-devel ########################################### [100%]
验证 nagios 监控服务器是否可以与远程主机通信。
[nagios-server]#/usr/local/nagios/libexec/check_nrpe -H 192.168.1.3
NRPE v2.12
注意:安装了 NRPE 和 nagios 插件的远程主机的 ip 地址中的 192.168.1.3,如上面第 II 节所述。
3. 为 remotehost 创建主机和服务定义
创建一个新的配置文件/usr/local/nagios/etc/objects/remotehost.cfg来定义这个特定远程主机的主机和服务定义。最好将localhost.cfg 复制为remotehost.cfg 并根据您的需要开始修改它。
主机定义示例:
define host{
use linux-server
host_name remotehost
alias Remote Host
address 192.168.1.3
contact_groups admins
}
服务定义示例:
define service{
use generic-service
service_description Root Partition
contact_groups admins
check_command check_nrpe!check_disk
}
注意:在以上所有示例中,将 remotehost 替换为您的 remotehost 的相应主机名。
4.重启nagios服务
如下图重启nagios,登录nagios网站(http://nagios-server/nagios/),验证加入nagios进行监控的remotehost linux sever的状态。
[nagios-server]# service nagios reload
- 点赞
- 收藏
- 关注作者
评论(0)