在这篇文章中,TipsMake.com 将解释如何在 Raspberry Pi 上安装 Nagios 以检查网络状态。
如何在树莓派上安装 Nagios
安装 Raspbian
您首先需要的是操作系统。
从 Raspbian 开始。 Raspbian Lite 非常适合此用途,但请选择您喜欢的桌面版本
以下是您在继续之前需要完成的第一步:
- 在树莓派上安装 Raspbian
- 更改默认密码并根据需要设置选项(语言、键盘、IP、.)
- 启用 SSH 并将其配置为自动启动
- 确认您可以通过 SSH 从您的计算机连接
- 更新圆周率
sudo apt update sudo apt upgrade sudo reboot
就是这样,您已准备好开始。
下载和先决条件
Nagios 是一个网页界面,所以你需要安装 Apache 和 PHP
sudo apt install apache2 libapache2-mod-php
然后有两件事需要下载和安装:
- Nagios 核心:这是 Nagios 系统的主要部分
- 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
如果您下载不同的版本,请不要忘记更改版本号
- 翻译:
cd nagios-4.4.2/./configure--with-command-group=nagcmd make all
这可能需要几分钟。
- 设置:
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 安装基本完成,再次运行 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 插件的步骤如下:
- 从存档中提取文件:
tar zxvf nagios-plugins-2.2.1.tar.gz
- 编译安装:
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 连接到主机
- 安装 snmpd:
sudo apt install snmpd
- 移动到配置目录:
cd/etc/snmp
- 删除(或备份)snmpd.conf 文件:
sudo rm snmpd.conf
- 创建一个新的 snmpd.conf 文件:
sudo nano snmpd.conf
- 将这些行粘贴到:
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 中有很多可用的选项,但对于这个测试,您只需要这些。
- 保存并退出(CTRL + O, CTRL + X)
- 重启 snmpd:
sudo service snmpd restart
现在,您可以在 Nagios 中添加此主机。
添加主机
- 回到 Raspberry Pi 主机 Nagios。
- 导航到 Nagios 的对象配置目录:
cd/usr/local/nagios/etc/objects
- 为主机创建一个新文件,例如 pizero.cfg:
sudo nano pizero.cfg
- 将这些行粘贴到:
define host { use linux-server ;主机组使用host_name Pi 零;此主机别名 pizero 的名称;别名地址 192.168.1.18 ; IP地址}
这实际上是基本的主机定义,包括主机名、别名和IP地址。该示例还将其添加到 Linux 服务器主机组以继承为该组定义的服务(如果您稍后添加)。
- 保存并退出(CTRL + O, CTRL + X)
- 现在,您需要告诉 Nagios 您添加了一个新文件。
- 在 /usr/local/nagios/etc/nagios.cfg 中添加这一行(就在 localhost.cfg 下方):
cfg_file=/usr/local/nagios/etc/objects/pizero.cfg
- 重启 Nagios:
sudo service nagios restart
- 返回 Nagios 网络界面,在 Hosts 菜单中,您将有一个像这样的新行:
Nagios 一直在监视新主机的 ping 响应,但是您蚂蚁更多。所以需要在里面添加一个服务,但首先要定义要使用的命令。
添加订单
以前,在本指南中,您下载并安装了 Nagios 插件。 Nagios 插件提供了很多检查本地主机的命令,但针对远程主机的命令并不多。
您还可以在本站下载很多其他命令(尤其是在寻找 SNMP 插件时):
https://exchange.nagios.org/directory/Plugins/
在我们的示例中,我们将跟踪两个 Raspberry Pi 之间的时间同步。
要在 Nagios 中添加命令,请按照下列步骤操作:
- 导航到插件目录:
cd/usr/local/nagios/libexec
- 不带参数运行命令:
./check_ntp
- 注意帮助消息和需要传递的参数。在示例情况下,会出现以下错误消息:
用法:check_ntp-H [-w ] [-c ] [-j ] [-k ] [-4|-6] [-v verbose]
因此,必须在-H 参数中指定主机 IP,这可以是警告阈值,并且对-w 和-c 很重要。其他选项似乎不合适。
- 打开命令配置文件:
sudo nano/usr/local/nagios/etc/objects/commands.cf
- 检查命令是否在里面,如果没有,像这样添加:
define command { command_name check_ntp command_line $USER1$/check_ntp-H $HOSTADDRESS$-w $ARG1$-c $ARG2$ }
- 保存、退出并重新启动 Nagios。
sudo service nagios restart
- 检查命令在 Nagios 中是否可用:
- 转到网络界面。
- 点击左侧菜单中的配置。
- 选择命令并点击继续。
- 您现在应该会在列表(或您添加的任何命令)中看到 check-ntp。
该命令现在可供主机使用,但需要创建一个新服务来应用它。
添加服务
要创建新服务,请按以下步骤操作:
- 打开主机配置文件:
sudo nano/usr/local/nagios/etc/objects/pizero.cfg
- 根据您之前创建的内容调整文件名。
- 粘贴这些行:
define service { use local-service ;要使用的服务模板名称 host_name Pi 零 service_description 时间同步 check_command check-ntp!1!5 }
不要忘记调整这些行以匹配您之前的配置。
在 check_command 行上,定义所有参数,用感叹号分隔。
- 保存并退出。
- 检查配置:
sudo/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg
这有助于在重新启动 Nagios 之前确定您是否有配置错误。
- 重启 Nagios:
sudo service nagios restart
现在,在来自主机的状态详细信息中,您应该看到新服务:
如果您了解如何创建主机、命令和服务,那么您就可以在 Nagios 中完成所有工作。随意在互联网上下载新插件,甚至为自己的插件编写代码(这与测试某些东西的基本脚本没有什么不同)。
评论