生活哲学

如何使用树莓派通过 Nagios 监控网络

在这篇文章中,TipsMake.com 将解释如何在 Raspberry Pi 上安装 Nagios 以检查网络状态。

如何在树莓派上安装 Nagios

安装 Raspbian

您首先需要的是操作系统。

从 Raspbian 开始。 Raspbian Lite 非常适合此用途,但请选择您喜欢的桌面版本

以下是您在继续之前需要完成的第一步:

  1. 在树莓派上安装 Raspbian
  2. 更改默认密码并根据需要设置选项(语言、键盘、IP、.)
  3. 启用 SSH 并将其配置为自动启动
  4. 确认您可以通过 SSH 从您的计算机连接
  5. 更新圆周率
sudo apt update sudo apt upgrade sudo reboot

就是这样,您已准备好开始。

下载和先决条件

Nagios 是一个网页界面,所以你需要安装 Apache 和 PHP

sudo apt install apache2 libapache2-mod-php

然后有两件事需要下载和安装:

  1. Nagios 核心:这是 Nagios 系统的主要部分
  2. Nagios 插件:这将向 Nagios 添加基本测试命令,因此您不必自己创建所有脚本。

下载 Nagios 核心 |下载 Nagios 插件:

http://nagios-plugins.org/download/

最后,使用 wget 下载存档:

mkdir/home/pi/Downloads cd/home/pi/Downloads wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.2。 tar.gz wget http://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz

现在您已准备好继续安装。

安装 Nagios

创建组和用户 Nagios

您需要为 Nagios 创建一个特定用户,并为 nagios 和 apache (nagcmd) 用户创建一个组。

sudo useradd-m-s/bin/bash nagios sudo groupadd nagcmd sudo usermod-a-G nagcmd nagios sudo usermod-a-G nagcmd www-data

编译安装Nagios

现在,您必须从存储库中提取文件,编译源代码并在您的 Raspberry Pi 上安装 Nagios。

移至下载文件夹:

cd/home/pi/Downloads

从之前下载的存档中提取文件。

tar zxvf nagios-4.4.2.tar.gz

如果您下载不同的版本,请不要忘记更改版本号

  1. 翻译:
cd nagios-4.4.2/./configure--with-command-group=nagcmd make all

这可能需要几分钟。

  1. 设置:
sudo make install sudo make install-init sudo make install-config sudo make install-commandmode

Nagios Core 安装到此结束。

现在,您需要配置 Apache 部分以允许访问 Nagios 站点。

为 Nagios 配置 Apache

为 Apache 激活 CGI 模块:

sudo a2enmod cgi

将Apache配置复制到Apache目录:

sudo cp sample-config/httpd.conf/etc/apache2/sites-enabled/nagios.conf

为网页界面创建第一个用户:

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

重启 Apache:

sudo service apache2 restart

检查您是否可以访问 Nagios:

转到 http:////nagios。 你应该得到这样的结果:

如何使用树莓派通过Nagios监控网络的图片1

这是正常的,您现在就可以解决这个问题! Nagios 安装基本完成,再次运行 Nagios 服务即可。

启动 Nagios 服务

Nagios 有一个后台服务,它以预定的频率(例如每 5 分钟)启动一次测试。您需要启动它才能完成安装:

sudo service nagios start

并在启动时自动启动 Nagios:

sudo ln-s/etc/init.d/nagios/etc/rcS.d/S99nagios

如果您刷新 Web 界面,您现在应该看到“Daemon running with PID XXX”。

Nagios 一切正常。你现在只需要添加插件

安装 Nagios 插件

按照安装 Nagios 插件的步骤如下:

  1. 从存档中提取文件:
tar zxvf nagios-plugins-2.2.1.tar.gz
  1. 编译安装:
cd nagios-plugins-2.2.1/./configure--with-nagios-user=nagios--with-nagios-group=nagios make sudo make install

所有插件都在/usr/local/nagios/libexec/目录中,可以在Nagios中使用。

您可能需要重新启动 Nagios 才能应用更改:

sudo service nagios restart

配置 Nagios 以满足您的需求

Nagios 词汇

Nagios 使用特定词汇来定义配置中的每个对象

因此,首先,需要确保您知道:

-Command :命令是基本上来自 Nagios Plugins 文件夹的脚本。您可以在 Nagios 中定义它,以便稍后与参数一起使用(例如,check_load 是一个命令)。

-Service :Service 是应用于一台或多台计算机的测试,并使用命令运行特定的验证(例如在树莓派上检查负载大于 10 不是服务)。>

-主机:主机、服务器、任何有 IP 地址的东西。

-Hostgroup :您可以定义一组主机,例如“Raspberry Pi”,并将相同的服务应用于该组内的所有主机。

现在让我们看看如何在 Nagios 配置文件中配置每一个。

例如,我们将遵循安装 Nagios 的 Raspberry Pi 3B + 中的 Raspberry Pi Zero。

准备主机

Nagios 主要使用 SNMP 与其他主机连接并接收所有必要的信息。因此您需要在每台新主机上安装 SNMP,然后再将其添加到配置文件中。

这不是必需的,但取决于您将为该主机创建的服务。在示例案例中,请在 Raspberry Pi Zero 上执行以下步骤:

通过 SSH 连接到主机

  1. 安装 snmpd:
sudo apt install snmpd
  1. 移动到配置目录:
cd/etc/snmp
  1. 删除(或备份)snmpd.conf 文件:
sudo rm snmpd.conf
  1. 创建一个新的 snmpd.conf 文件:
sudo nano snmpd.conf
  1. 将这些行粘贴到:
com2sec readonly default RASPBERRYTIPS group MyROGroup v1 readonly group MyROGroup v2c readonly view all includes.1 80 access MyROGroup "" any noauth exact all none none sysName Pi Zero预>

RASPBERRYTIPS 替换为您要使用的社区,将 sysName 替换为主机名或描述。 snmpd.conf 中有很多可用的选项,但对于这个测试,您只需要这些。

  1. 保存并退出(CTRL + O, CTRL + X
  2. 重启 snmpd:
sudo service snmpd restart

现在,您可以在 Nagios 中添加此主机。

添加主机

  1. 回到 Raspberry Pi 主机 Nagios。
  2. 导航到 Nagios 的对象配置目录:
cd/usr/local/nagios/etc/objects
  1. 为主机创建一个新文件,例如 pizero.cfg:
sudo nano pizero.cfg
  1. 将这些行粘贴到:
define host { use linux-server ;主机组使用host_name Pi 零;此主机别名 pizero 的名称;别名地址 192.168.1.18 ; IP地址}

这实际上是基本的主机定义,包括主机名、别名和IP地址。该示例还将其添加到 Linux 服务器主机组以继承为该组定义的服务(如果您稍后添加)。

  1. 保存并退出(CTRL + O, CTRL + X
  2. 现在,您需要告诉 Nagios 您添加了一个新文件。
  3. /usr/local/nagios/etc/nagios.cfg 中添加这一行(就在 localhost.cfg 下方):
cfg_file=/usr/local/nagios/etc/objects/pizero.cfg
  1. 重启 Nagios:
sudo service nagios restart
  1. 返回 Nagios 网络界面,在 Hosts 菜单中,您将有一个像这样的新行:

如何使用树莓派通过Nagios监控网络的图片2

Nagios 一直在监视新主机的 ping 响应,但是您蚂蚁更多。所以需要在里面添加一个服务,但首先要定义要使用的命令。

添加订单

以前,在本指南中,您下载并安装了 Nagios 插件。 Nagios 插件提供了很多检查本地主机的命令,但针对远程主机的命令并不多。

您还可以在本站下载很多其他命令(尤其是在寻找 SNMP 插件时):

https://exchange.nagios.org/directory/Plugins/

在我们的示例中,我们将跟踪两个 Raspberry Pi 之间的时间同步。

要在 Nagios 中添加命令,请按照下列步骤操作:

  1. 导航到插件目录:
cd/usr/local/nagios/libexec
  1. 不带参数运行命令:
./check_ntp
  1. 注意帮助消息和需要传递的参数。在示例情况下,会出现以下错误消息:
用法:check_ntp-H [-w ] [-c ] [-j ] [-k ] [-4|-6] [-v verbose] 

因此,必须在-H 参数中指定主机 IP,这可以是警告阈值,并且对-w 和-c 很重要。其他选项似乎不合适。

  1. 打开命令配置文件:
sudo nano/usr/local/nagios/etc/objects/commands.cf
  1. 检查命令是否在里面,如果没有,像这样添加:
define command { command_name check_ntp command_line $USER1$/check_ntp-H $HOSTADDRESS$-w $ARG1$-c $ARG2$ }
  1. 保存、退出并重新启动 Nagios。
sudo service nagios restart
  1. 检查命令在 Nagios 中是否可用:
    1. 转到网络界面。
    2. 点击左侧菜单中的配置
    3. 选择命令并点击继续。
    4. 您现在应该会在列表(或您添加的任何命令)中看到 check-ntp

该命令现在可供主机使用,但需要创建一个新服务来应用它。

添加服务

要创建新服务,请按以下步骤操作:

  1. 打开主机配置文件:
sudo nano/usr/local/nagios/etc/objects/pizero.cfg
  1. 根据您之前创建的内容调整文件名。
  2. 粘贴这些行:
define service { use local-service ;要使用的服务模板名称 host_name Pi 零 service_description 时间同步 check_command check-ntp!1!5 }

不要忘记调整这些行以匹配您之前的配置。

check_command 行上,定义所有参数,用感叹号分隔。

  1. 保存并退出。
  2. 检查配置:
sudo/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg

这有助于在重新启动 Nagios 之前确定您是否有配置错误。

  1. 重启 Nagios:
sudo service nagios restart

现在,在来自主机的状态详细信息中,您应该看到新服务:

如何使用树莓派通过Nagios监控网络的图片3

如果您了解如何创建主机、命令和服务,那么您就可以在 Nagios 中完成所有工作。随意在互联网上下载新插件,甚至为自己的插件编写代码(这与测试某些东西的基本脚本没有什么不同)。

相关资讯

评论

回复