如何在 Linux 上安装和配置 Nagios

[ad_1]

Nagios 是一种流行的开源应用程序,用于持续监控系统、网络、服务和应用程序。 它不断监控机器和各种服务的状态。 如果出现任何问题,它会提供早期警告,以便管理员可以采取必要的措施。 Nagios 使用称为插件的外部程序对本地和主机执行所有检查。 它还为您提供了一个 Web 界面,允许查看主机和服务的状态、历史记录、日志和生成报告。

在这篇文章中,我们将解释如何在 Linux 上安装和配置 Nagios 并监控其他 Linux 服务器的运行状况。 我们将使用两台 Debian 10 (Buster) 服务器; 都在同一个网络上。 在监控服务器上,我们将安装 Nagios 核心、Nagios 插件和 check_nrpe 插件。 在远程主机上,我们将安装 Nagios 插件和 NRPE。

术语

让我们了解一些有助于您理解配置的术语:

主持人:是物理机、工作站、网络设备等需要被监控的设备。

服务:是主机上被监控的服务或资源,如HTTP、SMTP、POP、DNS、登录用户数、内存使用等。

Nagios 插件: 这些是检查主机或服务状态并验证它们是否正常工作的脚本。 有一些预定义的插件可以检查处理器负载、磁盘使用情况、ping 速率等基本资源。插件通常位于 /usr/local/nagios/libexec 目录。

NRPE(Nagios 远程插件执行器)插件: NRPE 附加组件在远程 Linux 主机上执行插件,然后允许 Nagios 密切关注本地资源(磁盘空间、内存使用情况等)。 NRPE 附加组件包括:

  • NRPE 守护进程– 它运行在需要监控的远程 Linux/Unix 主机上
  • check_nrpe 插件– 由 Nagios 监控服务器使用

你必须有 sudo 两个服务器上的权限。 我们机器的详细信息如下:

Nagios 监控服务器:

  • 主机名:nagios-server,
  • IP地址:192.168.72.158

Nagios 主机:

  • 主机名:客户端
  • IP地址:192.168.72.159

第 1 步 – 在监控服务器上安装 Nagios Core

在 Nagios 监控服务器上,按照以下步骤下载并安装 Nagios 核心。

1. 安装先决条件

首先,我们需要在 Nagios 监控服务器上安装 Prerequisites。 为此,请在终端中使用以下命令更新软件包列表:

$ sudo apt update

然后安装所需的包:

$ sudo apt install -y autoconf gcc libc6 make wget unzip apache2 php libapache2-mod-php7.4 libgd-dev openssl libssl-dev

2. 下载 Nagios 源码

导航到 /tmp 目录:

$ cd /tmp

然后使用以下命令下载 Nagios 源代码 wget 命令。 我们将下载当前可用的最新版 Nagios,即 4.4.6. 您可以访问 Nagios 下载以查找当前的稳定版本。

$ wget -O nagios.tar.gz https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.6.tar.gz

下载的文件将保存为 nagios.tar.gz 在里面 /tmp 目录。

3.编译源码

提取下载的存档 nagios.tar.gz 使用以下命令

$ tar -xzf nagios.tar.gz

使用 光盘 命令:

$ cd nagioscore-nagios-4.4.6/

跑过 配置 脚本并指定路径 Apache 服务器配置目录:

$ ./configure --with-httpd-conf=/etc/apache2/sites-enabled

执行配置脚本后,您将在输出末尾看到以下摘要:

你的 配置 如果缺少任何先决条件,脚本可能会失败。 在这种情况下,安装缺少的先决条件并再次运行脚本。

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

$ make all

4.创建用户和组

现在为 Nagios 创建用户和组。

$ sudo make install-groups-users 

上面的命令将创建一个系统用户和组 Nagios。

我们还需要添加用户“www-数据”到 纳吉奥斯 团体。

$ sudo usermod -a -G nagios www-data

5. 安装二进制文件

然后要安装二进制文件,请使用以下命令:

$ sudo make install

6.安装服务/守护进程

要安装服务文件,请使用以下命令:

$ sudo make install-daemoninit

7.安装命令模式

要安装和配置外部命令文件,请使用以下命令:

$ sudo make install-commandmode

8. 安装配置文件

然后安装示例 Nagios 配置,使用以下命令:

$ sudo make install-config

9. 安装 Apache 配置文件

这将安装 Apache 配置文件,使用以下命令:

$ sudo make install-webconf

现在启用 Apache 使用以下命令的模块:

$ sudo a2enmod rewrite
sudo a2enmod cgi

为 Web 界面创建 Nagiosadmin 用户帐户:

现在我们将创建一个 Apache 可以访问 Nagios Web 界面的用户帐户。

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

现在设置密码 nagiosadmin 用户帐号。 此密码将用于访问 Nagios 的 Web 界面。

然后重启 Apache 使配置更改生效:

$ sudo systemctl restart apache2

现在我们已经成功安装了 Nagios 核心引擎。

第 2 步 – 在监控服务器上安装 Nagios 插件

为了让 Nagios 核心正常工作,您需要安装 Nagios 插件。

下载 Nagios 插件

在 Nagios 服务器上,导航到 /tmp 目录:

$ cd /tmp

然后使用下载 Nagios 插件源代码 wget 命令。 我们将下载当前可用的最新版 Nagios 插件,即 2.3.3。 您可以访问 Github 页面以查找最近的稳定版本。

$ wget -O Nagios-plugins.tar.gz https://github.com/nagios-plugins/nagios-plugins/releases/download/release-2.3.3/nagios-plugins-2.3.3.tar.gz

下载的文件将保存为 Nagios-plugins.tar.gz 在里面 /tmp 目录。

编译

提取下载的存档 Nagios-plugins.tar.gz 使用以下命令

$ tar zxf nagios-plugins.tar.gz

使用 光盘 命令:

$ cd nagios-plugins-2.3.3/

跑过 配置 脚本:

$ sudo ./configure

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

$ sudo make 
$ sudo make install

第 3 步 – 在监控服务器上安装 check_nrpe 插件

现在我们将安装 check_nrpe 我们的 Nagios 服务器上的插件。

下载插件源

在 Nagios 服务器上,导航到 /tmp 目录:

$ cd /tmp

然后使用 wget 命令下载 check_nrpe 源代码。 我们将下载最新可用的 check_nrpe 版本,即 4.0.3。 您可以访问 Github 页面以查找最近的稳定版本。

$ wget -O Nagios-nrpe.tar.gz https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.3/nrpe-4.0.3.tar.gz

下载的文件将保存为 Nagios-nrpe.tar.gz 在里面 /tmp 目录。

编译源代码

提取下载的存档 nagios.tar.gz 使用以下命令

$ tar -xzf Nagios-nrpe.tar.gz

使用 光盘 命令:

$ cd nrpe-4.0.3/

跑过 配置 脚本:

$ sudo ./configure

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

$ sudo make check_nrpe

$ sudo make install-plugin

第 4 步 – 配置 Nagios

现在,我们将配置 Nagios 主配置文件。 编辑 Nagios 配置文件 nagios.cfg 使用以下命令:

$ sudo nano /usr/local/nagios/etc/nagios.cfg

现在在文件中找到以下行并通过删除 # 从行首开始的字符。

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

上面的行指定了包含 Nagios 服务器将监视的所有主机的配置文件的目录。 现在保存并 close 配置文件。

现在我们将在上面定义的路径中创建目录:

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

配置电子邮件联系人

现在我们将配置在发生任何事件时应通知的联系人。 使用以下命令编辑 Nagios 联系人配置:

为了从 Nagios 监控服务器接收警报,您需要配置联系人。 打开 联系人 配置文件,并指定您希望从 Nagios 接收电子邮件的电子邮件地址:

$ sudo nano /usr/local/nagios/etc/objects/contacts.cfg

在电子邮件指令中,替换 [email protected]本地主机 使用您自己的电子邮件地址,然后保存并 close 文件。

配置 check_nrpe

现在为了使用 check_nrpe 插件,我们将在 命令 配置文件。 编辑命令配置文件 命令.cfg 使用以下命令:

$ sudo nano /usr/local/nagios/etc/objects/commands.cfg 

将以下行追加到末尾 命令.cfg 文件,然后保存并 close 它:

define command{

command_name check_nrpe

command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

}

现在启动 Nagios 服务:

$ sudo systemctl start Nagios.service

第 5 步 – 访问 Nagios Web 界面

现在通过在任何 Web 浏览器中访问以下地址来访问 Nagios Web 界面:

https://nagios-server-ip/nagios

在我们的场景中,它将是:

https://192.168.72.158/nagios

在里面 需要身份验证 对话框,输入 nagiosadmin 作为您之前设置的用户名和密码。

登录到 Web 界面后,您将看到默认的 Nagios 网页。 前往 主机 左侧边栏中的选项卡以查看受监控的主机。

目前,您只会看到一个主机“本地主机” 这是 Nagios 服务器本身。 为了监控其他主机,您需要安装 NRPE 守护进程。

第 6 步 – 远程主机设置

现在你必须安装 Nagios 插件NRPE 在需要在 Nagios 服务器上监控的主机上。

1. 在远程主机上安装 Nagios 插件

在需要监控的远程主机(客户端)中,按照以下步骤安装 Nagios 插件。

1.首先更新apt:

$ sudo apt update

2. 然后发出以下命令来安装所需的软件包:

$ sudo apt install autoconf gcc libmcrypt-dev make libssl-dev dc build-essential gettext

3. 现在,导航到 /tmp 并下载 Nagios 插件。

$ cd /tmp
$ wget -O Nagios-plugins.tar.gz https://github.com/nagios-plugins/nagios-plugins/releases/download/release-2.3.3/nagios-plugins-2.3.3.tar.gz

4. 解压下载的存档:

$ tar -zxf nagios-plugins.tar.gz

5. 进入解压文件夹并运行 配置 脚本:

$ cd nagios-plugins-2.3.3// 
$ sudo ./configure

6. 编译插件:

$ sudo make 
$ sudo make install

2. 在远程主机上安装 NRPE 守护程序

按照以下步骤在远程主机上安装 NRPE。

1.首先更新apt:

$ sudo apt update

2. 发出以下命令以安装先决条件:

$ sudo apt install -y autoconf automake gcc libc6 libmcrypt-dev make libssl-dev

3. 现在导航到 /tmp 并下载 NRPE。

$ cd /tmp 
$ wget -O nrpe.tar.gz https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.3/nrpe-4.0.3.tar.gz

4. 解压下载的存档:

$ tar xzf nrpe.tar.gz

5. 进入解压后的文件夹并运行配置脚本:

$ sudo ./configure --enable-command-args

6. 使用以下命令编译 NRPE:

$ sudo make all
$ make install-groups-users

$ sudo make install

$ sudo make install-config

$ sudo make install-init

3.配置防火墙

现在,如果您的远程主机上正在运行防火墙,您将需要通过它打开端口 5666(由 NRPE 使用)。

$ sudo ufw allow 5666/tcp

4. 更新 NRPE 配置

现在在远程主机中打开 NRPE 配置文件:

$ sudo nano /usr/local/nagios/etc/nrpe.cfg

您将需要查找并修改以下条目:

添加客户端IP地址:

server_address=192.168.72.159

Add Nagios server IP address:

allowed_hosts=127.0.0.1,192.168.72.158

另外,更换 /dev/vda1 使用您的根文件系统:

command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1

然后启动NRPE服务:

$ sudo systemctl start nrpe.service

现在检查 NRPE 服务是否正常运行:

$ sudo systemctl status nrpe.service

以下输出中的活动(运行)表明该服务已成功运行,没有任何问题。 您还可以看到 NRPE 允许从 192.168.72.158 这是 Nagios 服务器的 IP 地址。

现在检查是否 check_nrpe 在 Nagios 服务器上 可以与 远程主机上的 NRPE, 发出这个命令 Nagios 服务器

$ /usr/local/nagios/libexec/check_nrpe -H remote_host_ip

您应该会收到以下类似的输出(NRPE 版本号)。

如何在 Linux 上安装 Nagios

第 7 步 – 将主机配置添加到 Nagios 服务器

现在在 Nagios 监控服务器中,您需要在 /usr/local/nagios/etc/servers/ 用于您需要监控的所有远程主机。

对于我们的主机,我们将创建一个新的配置文件 客户端.cfg

$ sudo nano /usr/local/nagios/etc/servers/client.cfg

代替 客户 使用您的主机名:

现在添加 主机定义 到新的配置文件替换值 主机名 使用远程主机名, 别名 带有简短的描述,并且 地址 与远程主机的 IP 地址。

此配置将检查主机是否启动或关闭。

define host {

use linux-server

host_name client

alias client machine

address 192.168.72.159

max_check_attempts 5

}

现在添加 服务定义 到用于监控远程主机的配置文件。 替换的值 主机名 与远程主机名。

笔记: 这些服务定义将使用在 /usr/local/nagios/etc/nrpe.cfg 远程主机上的文件。

添加以下服务块以监控 CPU负载 在远程主机上

define service {

use generic-service

host_name client

service_description CPU Load

check_command check_nrpe!check_load

}


c on the remote host:
define service{

use generic-service

host_name client

service_description Total Processes

check_command check_nrpe!check_total_procs

}

添加以下服务块进行监控 磁盘使用情况 在远程主机上:

define service { 
use generic-service     

host_name                       client
      service_description             Check Disk
      check_command                   check_nrpe!check_disk

}

添加以下服务块进行监控 用户数 当前登录 在远程主机上:

define service { 
use generic-service     

host_name                       client
      service_description             Current Users
      check_command                   check_nrpe!check_users

}

现在保存并 close 配置文件。

如何在 Linux 上安装 Nagios

重新启动 Nagios 服务以应用配置更改:

$ sudo systemctl restart Nagios

现在使用 https://nagios-server-ip/nagios 访问 Web 界面。 稍等片刻,您的远程主机将被添加到 Nagios Web 界面。

主机 从左侧导航栏中,您将看到那里列出了您的远程主机。

如何在 Linux 上安装 Nagios

然后去 服务 选项卡,您将看到您为监控配置的主机的所有服务的状态。

如何在 Linux 上安装 Nagios

在这篇文章中,我们解释了如何在 Linux 上安装和配置 Nagios 监控解决方案。 我们还解释了如何设置远程主机进行监控。 现在,您可以轻松监控 Linux 主机的运行状况以及在其上运行的服务。

如果您有兴趣使用 Zabbix 监控您的服务器,请单击此处。

[ad_2]

Related Posts