如何在 CentOS 7 上安装 Nagios 4 并监控您的服务器
创始人
2024-09-25 04:18:39
0

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

介绍

在本教程中,我们将介绍如何在 CentOS 7 或 RHEL 7 上安装非常流行的开源监控系统 Nagios 4。我们将涵盖一些基本配置,以便您能够通过 Web 界面监控主机资源。我们还将利用 Nagios 远程插件执行器(NRPE),将其安装为远程主机上的代理,以监视其本地资源。

Nagios 对于保持服务器清单并确保关键服务正常运行非常有用。使用像 Nagios 这样的监控系统是任何生产服务器环境中必不可少的工具。

先决条件

要按照本教程操作,您必须在运行 Nagios 的 CentOS 7 服务器上拥有超级用户权限。理想情况下,您将使用具有超级用户权限的非根用户。如果您需要帮助设置,请按照本教程中的步骤 1 到 3 进行操作:在 CentOS 7 上进行初始服务器设置。

还需要安装 LAMP 堆栈。如果需要设置,请按照本教程进行操作:如何在 CentOS 7 上安装 LAMP 堆栈。

本教程假设您的服务器已启用私有网络。如果没有,请将所有对私有 IP 地址的引用替换为公共 IP 地址。

现在我们已经解决了先决条件,让我们继续安装 Nagios 4。

安装 Nagios 4

本节将介绍如何在监控服务器上安装 Nagios 4。您只需要完成本节一次。

安装构建依赖项

因为我们要从源代码构建 Nagios Core,所以我们必须安装一些开发库,以便完成构建。

首先,安装所需的软件包:

sudo yum install gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel xinetd unzip 

创建 Nagios 用户和组

我们必须创建一个将运行 Nagios 进程的用户和组。使用以下命令创建 “nagios” 用户和 “nagcmd” 组,然后将用户添加到该组:

sudo useradd nagios sudo groupadd nagcmd sudo usermod -a -G nagcmd nagios 

现在让我们安装 Nagios。

安装 Nagios Core

下载最新稳定版本的 Nagios Core 源代码。转到 Nagios 下载页面,单击表单下方的 跳转到下载 链接。复制最新稳定版本的链接地址,以便将其下载到您的 Nagios 服务器。

在撰写本文时,最新稳定版本是 Nagios 4.1.1。使用 curl 将其下载到您的主目录:

cd ~ curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz 

使用以下命令解压 Nagios 存档:

tar xvf nagios-*.tar.gz 

然后切换到提取的目录:

cd nagios-* 

在构建 Nagios 之前,我们必须使用以下命令对其进行配置:

./configure --with-command-group=nagcmd  

现在使用以下命令编译 Nagios:

make all 

现在我们可以运行以下 make 命令来安装 Nagios、init 脚本和示例配置文件:

sudo make install sudo make install-commandmode sudo make install-init sudo make install-config sudo make install-webconf 

为了通过 Web 界面向 Nagios 发出外部命令,我们必须将 Web 服务器用户 apache 添加到 nagcmd 组:

sudo usermod -G nagcmd apache 

安装 Nagios 插件

在这里找到 Nagios 插件的最新版本:Nagios 插件下载。复制最新版本的链接地址,然后将其下载到您的 Nagios 服务器。

在撰写本文时,最新版本是 Nagios 插件 2.1.1。使用 curl 将其下载到您的主目录:

cd ~ curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz 

使用以下命令解压 Nagios 插件存档:

tar xvf nagios-plugins-*.tar.gz 

然后切换到提取的目录:

cd nagios-plugins-* 

在构建 Nagios 插件之前,我们必须对其进行配置。使用以下命令:

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl 

现在使用以下命令编译 Nagios 插件:

make 

然后使用以下命令安装它:

sudo make install 

安装 NRPE

在 NRPE 下载页面找到最新稳定版本的 NRPE 源代码。将最新版本下载到您的 Nagios 服务器。

在撰写本文时,最新版本是 2.15。使用 curl 将其下载到您的主目录:

cd ~ curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz 

使用以下命令解压 NRPE 存档:

tar xvf nrpe-*.tar.gz 

然后切换到提取的目录:

cd nrpe-* 

使用以下命令配置 NRPE:

./configure --enable-command-args --with-nagios-user=nagios --with-nagios-group=nagios --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu 

现在使用以下命令构建和安装 NRPE 及其 xinetd 启动脚本:

make all sudo make install sudo make install-xinetd sudo make install-daemon-config 

在编辑器中打开 xinetd 启动脚本:

sudo vi /etc/xinetd.d/nrpe 

通过将您的 Nagios 服务器的私有 IP 地址添加到 only_from 行的末尾(用您服务器的实际 IP 地址替换),修改 only_from 行:

only_from = 127.0.0.1 10.132.224.168 

保存并退出。只有 Nagios 服务器才能与 NRPE 通信。

重新启动 xinetd 服务以启动 NRPE:

sudo service xinetd restart 

现在 Nagios 4 已安装,我们需要对其进行配置。

配置Nagios

现在让我们进行初始的Nagios配置。您只需要在Nagios服务器上执行此部分一次。

组织Nagios配置

在您喜欢的文本编辑器中打开主Nagios配置文件。我们将使用vi来编辑文件:

sudo vi /usr/local/nagios/etc/nagios.cfg 

现在找到并取消注释此行,删除#

#cfg_dir=/usr/local/nagios/etc/servers 

保存并退出。

现在创建将存储您要监视的每个服务器的配置文件的目录:

sudo mkdir /usr/local/nagios/etc/servers 

配置Nagios联系人

在您喜欢的文本编辑器中打开Nagios联系人配置。我们将使用vi来编辑文件:

sudo vi /usr/local/nagios/etc/objects/contacts.cfg 

找到电子邮件指令,并用您自己的电子邮件地址替换其值(高亮部分):

email                           nagios@localhost        ; <<***** 将此更改为您的电子邮件地址 ****** 

保存并退出。

配置check_nrpe命令

让我们向Nagios配置中添加一个新命令:

sudo vi /usr/local/nagios/etc/objects/commands.cfg 

在文件末尾添加以下内容:

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

保存并退出。这允许您在Nagios服务定义中使用check_nrpe命令。

配置Apache

使用htpasswd创建一个名为“nagiosadmin”的管理员用户,该用户可以访问Nagios Web界面:

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin 

在提示符处输入密码。请记住此登录信息,因为您将需要它来访问Nagios Web界面。

Nagios已准备就绪。让我们启动它,并重新启动Apache:

sudo systemctl daemon-reload sudo systemctl start nagios.service sudo systemctl restart httpd.service 

要使Nagios在服务器启动时启动,请运行此命令:

sudo chkconfig nagios on 
可选:按IP地址限制访问

如果您想限制可以访问Nagios Web界面的IP地址,您需要编辑Apache配置文件:

sudo vi /etc/httpd/conf.d/nagios.conf 

通过在以下两行前面添加#符号来找到并注释这两行:

Order allow,deny Allow from all 

然后取消注释以下行,并在Allow from行中添加要允许的IP地址或范围(以空格分隔):

#  Order deny,allow #  Deny from all #  Allow from 127.0.0.1 

由于这些行将在配置文件中出现两次,因此您需要再执行一次这些步骤。

保存并退出。

现在启动Nagios并重新启动Apache以使更改生效:

sudo systemctl restart nagios.service sudo systemctl restart httpd.service 

Nagios现在正在运行,让我们尝试登录。

访问Nagios Web界面

打开您喜欢的Web浏览器,并转到您的Nagios服务器(将IP地址或主机名替换为高亮部分):

http://nagios_server_public_ip/nagios 

因为我们配置了Apache使用htpasswd,您必须输入先前创建的登录凭据。我们使用“nagiosadmin”作为用户名:

!htaccess身份验证提示

验证后,您将看到默认的Nagios主页。单击左侧导航栏中的主机链接,以查看Nagios正在监视哪些主机:

!Nagios主机页面

正如您所看到的,Nagios仅监视“localhost”或自身。

让我们使用Nagios监视另一个主机!

使用NRPE监视CentOS 7主机

在本节中,我们将向您展示如何将新主机添加到Nagios中,以便进行监视。对于您希望监视的每个CentOS或RHEL服务器,请重复此部分。

注意: 如果您想监视Ubuntu或Debian服务器,请按照此链接中的说明操作:使用NRPE监视Ubuntu主机。

在要监视的服务器上,安装EPEL存储库:

sudo yum install epel-release 

现在安装Nagios插件和NRPE:

sudo yum install nrpe nagios-plugins-all 

现在,让我们更新NRPE配置文件。在您喜欢的编辑器中打开它(我们使用vi):

sudo vi /etc/nagios/nrpe.cfg 

找到allowed_hosts指令,并将您的Nagios服务器的私有IP地址添加到逗号分隔的列表中(替换为高亮示例):

allowed_hosts=127.0.0.1,10.132.224.168 

保存并退出。这将配置NRPE以接受来自Nagios服务器的请求,通过其私有IP地址。

重新启动NRPE以使更改生效:

sudo systemctl start nrpe.service sudo systemctl enable nrpe.service 

完成在要监视的主机上安装和配置NRPE后,您将不得不将这些主机添加到Nagios服务器配置中,然后它才会开始监视它们。

将主机添加到 Nagios 配置

在您的 Nagios 服务器上,为您想要监视的每个远程主机创建一个新的配置文件,路径为 /usr/local/nagios/etc/servers/。将下面的突出显示的单词 “yourhost” 替换为您的主机名:

sudo vi /usr/local/nagios/etc/servers/yourhost.cfg 

添加以下主机定义,将 host_name 的值替换为您的远程主机名(示例中为 “web-1”),将 alias 的值替换为主机的描述,将 address 的值替换为远程主机的私有 IP 地址:

define host {         use                             linux-server         host_name                       yourhost         alias                           我的第一个 Apache 服务器         address                         10.132.234.52         max_check_attempts              5         check_period                    24x7         notification_interval           30         notification_period             24x7 } 

使用上述配置文件,Nagios 只会监视主机的上线或下线状态。如果这对您来说已经足够,保存并退出,然后重新启动 Nagios。如果您想监视特定服务,请继续阅读。

添加以下任何您想要监视的服务块。请注意,check_command 的值决定了将要监视的内容,包括状态阈值的值。以下是一些示例,您可以将其添加到主机的配置文件中:

Ping:

define service {         use                             generic-service         host_name                       yourhost         service_description             PING         check_command                   check_ping!100.0,20%!500.0,60% } 

SSH(notifications_enabled 设置为 0 会禁用服务的通知):

define service {         use                             generic-service         host_name                       yourhost         service_description             SSH         check_command                   check_ssh         notifications_enabled           0 } 

如果您不确定 use generic-service 的含义,它只是继承了一个名为 “generic-service” 的服务模板的默认值。

现在保存并退出。重新加载您的 Nagios 配置以使任何更改生效:

sudo systemctl reload nagios.service 

一旦您完成了配置 Nagios 来监视所有远程主机,您就应该设置好了。确保访问您的 Nagios Web 界面,并查看 Services 页面,以查看所有受监视的主机和服务:

!Nagios Services Page

结论

现在您已经监视了您的主机和它们的一些服务,您可能想花些时间弄清楚哪些服务对您至关重要,这样您就可以开始监视它们。您可能还想设置通知,例如在磁盘利用率达到警告或临界阈值时收到电子邮件,或者您的主要网站宕机时收到通知,这样您就可以及时解决问题,甚至在问题发生之前就解决掉。

祝您好运!

相关内容

热门资讯

信息共享!wpk专用辅助程序(... 大家肯定在之前WePoKer或者WPK中玩过信息共享!wpk专用辅助程序(有辅助)老友麻将插件(有挂...
免杀远控是什么 免杀远控是一种远程控制技术,通过特定的软件或硬件设备,可以远程操控其他计算机或设备,同时避免被目标计...
安全狗有用吗 安全狗是一款网络安全软件,主要用于防止黑客攻击、保护网站安全。对于提高网站安全性来说,它是有一定作用...
苹果信任授权在哪里(iPhon... 苹果信任授权在设置中的“通用”-“设备管理”或“描述文件与设备管理”,选择对应的企业级应用,点击“信...
两分钟作弊!WePoKer透视... 两分钟作弊!WePoKer透视插件(透视作弊)WePoKer原来是有猫腻的(有挂启发);WePoKe...
十大最佳拍照手机排名(目前市面... 目前市面上拍照最佳的手机有:iPhone 14 Pro、Google Pixel 7 Pro、Sam...
win11系统怎么调出隐藏文件... 在Win11系统中,要查看隐藏文件夹,可以打开文件资源管理器,点击“查看”选项卡,勾选“隐藏的项目”...
2分钟了解!wpk德州透视辅助... 2分钟了解!wpk德州透视辅助(透明挂软件)喜扣跑胡子哪里有挂(有挂总结);超受欢迎的wpk小游戏,...
进圈app怎么提现-进圈app... 进圈APP提现通常需要用户先绑定个人银行卡,然后在APP内选择“钱包”或“资产”选项,找到提现功能并...
什么是企业信息安全 企业信息安全是指保护企业的信息系统和数据,防止未经授权的访问、使用、披露、破坏、修改或干扰,以确保企...