在本教程中,我会一步一步把Nagios监控软件安装到Raspberry Pi上。
Nagios是一款流行的开源软件,可用于监控系统、网络和基础设施。
Nagios最显著的优势之一是与其他替代品相比,它比较轻量级。
作为轻量级的产品,它可以完美地运行在树莓派上,让单一设备上最大限度地提高工作效率。
在本教程中,我将向您展示如何使用Nagios来监控树莓派。
在访问Nagios网站时,会看到有两个版本的Nagios。
在本指南中,使用的是Nagios Core,Nagios的免费和开源版本。
设备清单
下面列出了在树莓派上安装和配置Nagios所使用的设备,点击链接直达特别优惠购买。
建议
- ? 树莓派
- ? 高速SD卡
- ? 树莓派4B电源
- ? 以太网线或WiFi (Pi 3内置WiFi)
可选
在这个安装Nagios的教程中,我使用了运行最新可用版本的Raspberry Pi OS的Raspberry Pi 4。
本指南对于任何运行基于Debian的操作系统,如Ubuntu Server或Kali Linux来说,都应该可以正常工作。
为Raspberry Pi的Nagios做准备
在本节中,为Raspberry Pi编译和运行Nagios软件做准备。
1. 在开始之前,要确保操作系统是最新的。
要更新所有的东西,需要在终端中输入以下两个命令。
sudo apt update
sudo apt full-upgrade
2. Raspberry Pi完成更新后,就可以安装Nagios的软件包了。
运行下面的命令来安装需要的所有包。
sudo apt install -y autoconf build-essential wget unzip apache2 apache2-utils php libgd-dev snmp libnet-snmp-perl gettext libssl-dev wget bc gawk dc libmcrypt-dev
这个命令会安装几个需要的包,这些包包括需要编译Nagios软件的编译器,还安装了Apache网络服务器,它是用于Nagios的网络界面的。
下载和编译Nagios
在本节中,完成在Raspberry Pi上编译Nagios软件所需的几个步骤。
1. 开始,要先cd到/tmp目录。
这个目录是下载、提取和编译Nagios源代码的地方。
cd /tmp
2. 可以运行以下命令将Nagios源代码下载到Raspberry Pi上。
wget -O nagios.tar.gz https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.6.tar.gz
这个命令使用wget下载Nagios的源代码到/tmp目录。
3. 下载完成后,可以运行以下命令来解压。
tar xzf nagios.tar.gz
4. 现在换到Nagios目录下,配置软件进行编译。
cd /tmp/nagioscore-nagios-4.4.6/
./configure --with-httpd-conf=/etc/apache2/sites-enabled
传递希望保存apache2配置的路径。这个路径将在后面的教程中使用。
5. 现在运行以下命令来编译Nagios。
make all
这个过程可能需要一些时间,因为它需要编译所有的Nagios代码。在Raspberry Pi 4上运行这个过程大约需要5分钟。
在Raspberry Pi上设置Nagios。
在本节中,将展示如何在Raspberry Pi上设置Nagios。接下来的几个步骤将完成Nagios的设置过程。
1. 利用make命令来创建Nagios需要运行的用户和组。
把www-data用户添加到由make命令创建的nagios组中。
sudo make install-groups-users
sudo usermod -a -G nagios www-data
2. 接下来,利用下面的命令将编译后的二进制文件安装到我们的操作系统中。
sudo make install
3. 还可以使用make命令来安装Nagios服务,并将其设置为在启动时启动。
运行以下命令来安装Nagios核心守护进程。
sudo make install-daemoninit
4. 现在可以运行以下命令来设置外部命令目录。
sudo make install-commandmode
5. 下一步就是用make命令再次复制配置文件。
sudo make install-config
这些配置文件是Nagios运行所需要的。如果没有配置文件,软件将无法加载。
6. 最后是安装Apache配置文件。
该命令将把所需的配置文件安装到我们配置 makefile 时指定的目录中。
还将使用两个a2enmod命令来确保所需的Apache模块被启用。
sudo make install-webconf
sudo a2enmod rewrite
sudo a2enmod cgi
7. 在最后一步,将创建一个Apache用户,将用来访问Raspberry Pi上的Nagios界面。
下面的命令将创建一个名为 nagiosadmin 的用户。你会被要求为这个用户指定一个密码。
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
用户必须调用nagiosadmin才能满足Nagios的默认配置。
在Raspberry Pi上启动Nagios
在本节中,将介绍如何在Raspberry Pi上启动Nagios软件。
1. 第一步是通过运行以下命令来重启Apache Web服务器。
sudo systemctl restart apache2
重新启动Apache将新配置文件被加载进来。
2. 接下来,启用Nagios服务,并运行以下两个命令来启动它。
sudo systemctl enable nagios
sudo systemctl start nagios
通过启用该服务,Nagios会Raspberry Pi上启动。
3. 可以通过运行以下命令来验证Raspberry Pi上的Nagios是否已经启动。
sudo systemctl status nagios
如果一切正常,应该看到以下文本被输出到终端。
Active: active (running)
这段文字表明,该服务是活跃的,目前正在运行。
安装Nagios插件
为了让Nagios正常工作,需要安装它的插件。如果没有它,Nagios软件的功能非常有限。
在本节中,将展示如何在Raspberry Pi上安装这些Nagios插件。
1. 首先cd到/tmp目录。
cd /tmp
2. 现在在/tmp目录下,运行下面的命令就可以下载Nagios插件了。
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
3. 现在用下面的命令将插件源码解压到当前的目录下。
tar zxf nagios-plugins.tar.gz
4. 下一步就是cd到新创建的目录中,并配置插件进行编译。
cd /tmp/nagios-plugins-2.3.3
./configure
4. 配置过程完成后,可以通过运行以下命令来编译Nagios插件。
make
根据Raspberry Pi,这个过程可能需要一些时间,它应该比编译基本的Nagios代码快很多。
5. 运行以下命令安装Nagios插件。
sudo make install
6. 为了确保Nagios加载新的插件,运行以下命令重新启动软件。
sudo systemctl restart nagios
连接到Nagios网络界面
现在已经安装好了所有的东西,可以测试一下Nagios的网络界面是否在线并能正常工作。
1. 要访问Nagios网页界面,需要知道Raspberry Pi的IP地址。
可以通过运行以下命令来检索Raspberry Pi的本地IP地址。
hostname -I
2. 要连接到Nagios网页界面,需要进入你的Pi的IP地址,然后是/nagios。
http://[IPADDRESS]/nagios
当尝试连接时,被要求输入用户名和密码。
如果一直按照这个教程走,用户名应该是nagiosadmin,密码应该是你指定的。
3. 连接成功后,应该会看到Nagios的核心主页,所有这些都是从Raspberry Pi上运行的。
向Nagios添加设备
在接下来的两节中,将展示如何为Nagios添加一个设备进行检查。这个过程比较简单,但需要修改几个配置文件。
将主机添加到Nagios
在本节中,将向展示如何将主机添加到Nagios将读取的配置文件中。
为此,需要创建一个配置文件,在这里我们将定义要监控的设备的各种细节。
1. 先cd到Nagios的 “objects “配置文件夹中。
默认情况下,这个文件夹包含了一些样本配置文件。这些文件可以帮助我们了解如何配置Nagios。
cd /usr/local/nagios/etc/objects
2. 现在创建一个配置文件,在这里指定主机的配置。
在这个例子中,把这个文件称为pimylifeuphost.cfg,但是最好使用一个最能描述你的设备的名字。
sudo nano pimylifeuphost.cfg
3. 在该文件中,需要输入以下几行:
需要确保指定你要执行检查的设备的IP地址。
define host {
use linux-server ; Host group to use
host_name Pi My Life Up Host ; Name of this host
alias pimylifeuphost ; Alias
address [YOURHOSTIPADDRESS] ; IP Address
}
这个基本配置可以向设备发送ping请求来监控设备是否在线。
4. 完成后,按CTRL + X键保存文件,然后按Y键,再按ENTER键。
5. 接下来,需要修改Nagios的配置,让它知道读取新配置文件。
运行以下命令开始修改配置文件。
sudo nano /usr/local/nagios/etc/nagios.cfg
6. 在这个文件中,找到以下一行,并在下面添加新的配置行。
寻找
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
添加到下面
cfg_file=/usr/local/nagios/etc/objects/pimylifeuphost.cfg
现在,重新启动Nagios,它就会知道读取这个文件,并加载在其中定义的设置。
7. 按CTRL + X,然后按Y,再按ENTER键保存配置文件。
8. 现在可以使用下面的命令重新启动Raspberry Pi上的Nagios服务。
sudo systemctl restart nagios
9. 现在,进入Nagios仪表板上的 “Hosts “页面应该能看到新主机。
目前,Nagios只会做一个简单的ping检查,看看主机是否在线。
在下一节中,将展示如何向主机添加服务,以检查SSH或其Web界面的状态等。
为添加服务
在本节中,将展示如何为主机添加一些额外的检查。
在本指南中,设置两个服务,在主机上使用check_http和check_ssh命令。
这两个命令都可以用来做相当多的事情,但在教程中使用它们最基本的用法。
1. 为了能够添加这些新的命令,需要去修改之前创建的主机文件。
在Raspberry Pi上运行以下命令开始修改这个文件。
sudo nano /usr/local/nagios/etc/objects/pimylifeuphost.cfg
2. 在这个文件中,需要在底部增加一个新的部分,定义服务。
每个服务必须在一个单独的块中定义,所以在本教程中,我创建两个这样的块。
define service {
use local-service
host_name Pi My Life Up Host
service_description SSH
check_command check_ssh
}
define service {
use local-service
host_name Pi My Life Up Host
service_description HTTP
check_command check_http
}
有了这两个块,Nagios会自动检查我们指定主机上运行的SSH和HTTP端口的状态。
3. 完成添加新的块后,可以按CTRL + X,然后按Y,然后按ENTER键保存文件。
4. 现在应该验证配置更改是否有效。可以运行下面的命令来进行验证。
该命令告诉Nagios软件验证配置文件的内容。
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
如果一切输入正确,会看到命令行中出现 “事情看起来还不错 “的文字。
5. 现在可以重新启动Nagios,以将更改加载到Raspberry Pi上。
sudo systemctl restart nagios
6. 现在打开Nagios网页界面,进入 “服务 “菜单。
在这个页面中,能够看到新主机的SSH和HTTP服务的状态。
希望到这里,可以在您的Raspberry Pi上安装并运行Nagios软件。
可以通过查看官方的Nagios Core文档来了解更多关于如何使用Nagios的知识。
如果在安装Nagios时遇到任何问题,欢迎在下面留言。
欢迎转载,请留下出处链接:Labno3 » 详细步骤用树莓派搭建集群监控系统,在树莓派上安装Nagios