如何使用 Nagios 3.0 监控远程 Linux 主机

举报
Tiamo_T 发表于 2021/11/24 21:23:00 2021/11/24
【摘要】 在之前 Nagios 3.0 Jumpstart guide 中,我解释了 Nagios 3.0 在 Red Hat Server 上的概述、安装和配置。在接下来的三章中,我将解释如何监控远程 Linux 主机以及在远程主机上运行的各种服务。

在之前 Nagios 3.0 Jumpstart guide 中,我解释了 Nagios 3.0 在 Red Hat Server 上的概述、安装和配置。在接下来的三章中,我将解释如何监控远程 Linux 主机以及在远程主机上运行的各种服务。
 
一、概述

二、在远程主机上安装 Nagios 插件和 NRPE 的 6 个步骤。

  1. 下载 Nagios 插件和 NRPE 附加组件
  2. 创建 nagios 帐户
  3. 安装 Nagios 插件
  4. 安装 NRPE
  5. 设置 NRPE 作为守护进程运行
  6. 修改/usr/local/nagios/etc/nrpe.cfg

三、4 Nagios监控服务器上配置步骤监控远程主机:

  1. 下载 NRPE 插件
  2. 安装 check_nrpe
  3. 为远程主机创建主机和服务定义
  4. 重启nagios服务



一、概述:

.

当 Nagios(安装在 nagios-servers 上)监视远程 Linux 主机上的服务(例如磁盘空间使用情况)时,将在非常高的级别上执行以下三个步骤。
 

  1. Nagios 将在 nagios-server 上执行 check_nrpe 命令,并使用 check_disk 命令请求它监视远程主机上的磁盘使用情况。
  2. nagios-server 上的 check_nrpe 将联系远程主机上的 NRPE 守护进程并请求它在远程主机上执行 check_disk。
  3. 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
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。