如何在 Ubuntu 20.04 LTS 上安装 Icinga 2 监控软件
本教程适用于这些操作系统版本
- Ubuntu 20.04(Focal Fossa)
- Ubuntu 18.04(仿生海狸)
在此页
- 第 1 步 - 安装 Icinga2 和 Nagios 监控插件
- 第 2 步 - 安装和配置 MySQL 数据库服务器
- 第 3 步 - 安装和配置 Icinga2 MySQL 模块
- 第 4 步 - 安装 Apache2 和 PHP 包
- 第 5 步 - 安装 Icingaweb2
- 第 6 步 - Icinga 2 和 Icinga Web 2 安装后
- 参考资料
Icinga 是一个免费的开源数据中心监控工具。它是一个计算机系统和网络监控应用程序,可以检查您的网络和计算机资源的可用性,通知系统中断,生成资源的性能数据,并提供具有内置集群功能的高可用性和分布式监控设置。
Icinga 于 2009 年创建为 Nagios 监控工具的一个分支。现在,它已经用 C++ 从头开始重写,并成为互联网上最流行的监控工具之一。 Icinga 这个词是祖鲁语,意思是它寻找、浏览或检查。
在本教程中,我们将向您展示如何使用 Ubuntu 20.04 LTS 服务器安装和配置 Icinga 2 监控工具。我们将从官方存储库安装 Icinga 2,然后为 icinga2 监控工具配置轻量级且可扩展的 Web 界面 icingaweb2。
先决条件
对于本指南,我们将使用具有 2GB RAM 内存的 Ubuntu 20.04 服务器安装 icinga2 和 icingaweb2。如果您正在进行大型部署,您可以使用更多。
我们将要做什么?
- 安装 Icinga2 和 Nagios 监控插件
- 安装和配置 MySQL 数据库
- 安装和配置 Icinga MySQL 模块
- 安装 Apache2 和 PHP 包
- 安装和配置 Icingaweb2
- Icinga2 堆栈安装后
第 1 步 - 安装 Icinga2 和 Nagios 监控插件
首先\”我们将为 Ubuntu 20.04 添加 icinga2 存储库并安装 icinga2 软件包和 nagios 监控插件。
将 Icinga2 的 GPG 密钥添加到您的系统。
curl https://packages.icinga.com/icinga.key | apt-key add -
现在转到 /etc/apt/sources.list.d 目录并创建一个新的存储库文件 icinga-focal.list。
cd /etc/apt/sources.list.d/
vim icinga-focal.list
粘贴以下存储库配置。
deb http://packages.icinga.com/ubuntu icinga-focal main
deb-src http://packages.icinga.com/ubuntu icinga-focal main
保存并关闭。
接下来,更新所有可用的存储库并使用下面的 apt 命令安装 Icinga2 和 Nagios 监控插件。
sudo apt update
sudo apt install icinga2 monitoring-plugins

所有安装完成后,启动 Icinga2 服务并将其添加到系统引导。
systemctl start icinga2
systemctl enable icinga2
之后,使用以下命令验证 icinga2 服务。
systemctl status icinga2
以下是您将获得的结果。

因此,icinga2 服务已在 Ubuntu 20.04 FocalFossa 上启动并运行。
第 2 步 - 安装和配置 MySQL 数据库服务器
在这一步中,我们将在我们的 Ubuntu 20.04 上安装最新的 MySQL 服务器,并为默认的 MySQL root 用户设置密码。
使用下面的 apt 命令安装 MySQL 服务器。
sudo apt install mysql-server mysql-client
之后,启动MySQL服务并将其添加到系统引导。
systemctl start mysql
systemctl enable mysql
并且 MySQL 服务已启动并正在运行。
接下来,我们将使用 MySQL 软件包提供的命令行工具 mysql_secure_installation 为 MySQL root 用户配置密码。
运行下面的 mysql_secure_installation 命令。
mysql_secure_installation
现在你会被要求为root用户配置一个新密码,输入你的强密码,其他配置输入Y。
Press y|Y for Yes, any other key for No:
Please set the password for root here.
New password:
Re-enter new password:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
至此,MySQL服务器的安装和默认root密码的配置就完成了。

第 3 步 - 安装和配置 Icinga2 MySQL 模块
安装 MySQL 服务器后,我们将安装名为 icinga2-ido-mysql 的用于支持 MySQL 的 icinga2 模块。
使用下面的 apt 命令安装 icinga2-ido-mysql。
sudo apt install icinga2-ido-mysql
现在您将被要求启用 icinga2 ido-mysql 功能,选择是继续。

使用 dbconfig 命令配置 icinga2-ido-mysql,选择是继续。

输入 icinga2-ido-mysql 的密码。

重复 icinga2-ido-mysql 的密码。

至此,icinga2-ido-mysql包安装完成,新建MySQL用户icinga2。
接下来,为了使 Icinga 与新的 MySQL 版本一起工作,我们将使用 MySQL 本机密码身份验证配置 MySQL 用户 icinga2。
使用以下命令登录到 MySQL shell。
mysql -u root -p
现在使用以下查询使用本机 MySQL 身份验证插件更改用户 [email 的身份验证。
ALTER USER #$';
flush privileges;
键入 exit 从 MySQL shell 注销,MySQL 用户 icinga2 现在正在使用本机身份验证插件。
接下来,启用 ido-mysql 功能并使用以下命令检查所有启用的插件。
icinga2 feature enable ido-mysql
icinga2 feature list
您将获得启用 ido-mysql 的功能,要应用新配置,请重新启动 icinga2 服务。
systemctl restart icinga2
并且icinga2-ido-mysql的安装和配置已经完成。

第 4 步 - 安装 Apache2 和 PHP 包
在此步骤中,我们将为 icingaweb2 安装 Apache 和 PHP 包。我们将使用 PPA 存储库中可用的 PHP 7.3,因为此时新版本 PHP 7.4 尚不支持 icingaweb2。
首先,安装 python3-software-properties 包并使用以下命令添加 PHP PPA 存储库。
sudo apt install python3-software-properties
sudo add-apt-repository ppa:ondrej/php
接下来,使用下面的 apt 命令安装 Apache 和 PHP 包。
sudo apt install apache2 php7.3 php7.3-common php7.3-gd php7.3-ldap php7.3-intl php7.3-curl libapache2-mod-php7.3 php7.3-mysql php7.3-pgsql php7.3-xml
完成所有安装后,使用 vim 编辑器编辑 php.ini 配置。
vim /etc/php/7.3/apache2/php.ini
取消注释 date.timezone 选项并输入您的时区。
date.timezone = Asia/Singapore
取消注释 cgi.fix_pathinfo 配置并将值更改为 0。
cgi.fix_pathinfo=0
保存并关闭。
接下来,重新启动Apache2 服务并将其添加到系统引导。
systemctl restart apache2
systemctl enable apache2
Apache2 服务已启动并正在运行,使用以下命令检查它。
systemctl status apache2
以下是您将获得的结果。

至此,icingaweb2的Apache和PHP包的安装已经完成。
第 5 步 - 安装 Icingaweb2
安装 Apache 和 PHP 包后,我们将安装 icingaweb2 包并为 icingaweb2 创建一个新的 MySQL 数据库。
使用 apt 命令安装 icingaweb2 和 icingacli 包。
sudo apt install icingaweb2 icingacli
完成所有安装后,使用以下命令为安装生成 icingaweb2 令牌。
icingacli setup token create
以下是您将获得的结果。
The newly generated setup token is: 9b871ead0a60c94f
现在将令牌代码复制到您的笔记中,它将用于 icingaweb2 安装。
接下来,使用下面的 mysql 命令登录到 MySQL shell。
mysql -u root -p
现在使用以下查询创建一个新的数据库和用户。
create database icingaweb2;
create user with grant option;
flush privileges;
键入 exit 从 MySQL shell 注销。

至此,icingaweb2安装完成,icingaweb2的新数据库已经创建完成
第 6 步 - Icinga 2 和 Icinga Web 2 安装后
打开您的网络浏览器并输入服务器 IP 地址,如下所示。将 IP 替换为您的服务器 IP。
将设置令牌代码粘贴到框中,然后单击“下一步”按钮。

现在您需要为您的安装选择 Icinga 模块,离开 Monitoring 模块并单击 Next。

之后,Icinga 将检查其安装环境。确保除 PostgreSQL 模块外,所有需要的模块都处于绿色状态,然后单击下一步。

现在您需要选择访问 icingaweb2 的身份验证,选择数据库并单击下一步。

输入 icingaweb2 的所有数据库详细信息,然后单击验证配置进行测试。成功后,单击“下一步”按钮。

现在对于后端身份验证,选择 icingaweb2 并单击下一步。

键入 icingaweb2 的管理员和密码,然后再次单击下一步。

在 Application Configuration 上,将其保留为默认值并单击 Next。

确认所有配置并单击下一步。

您将看到 icingaweb2 的欢迎页面。再次点击下一步配置监控后端。

将后端名称设置为 icinga2,类型为 IDO,然后单击下一步。

现在您需要为 icinga2 应用程序配置 MySQL IDO 后端资源。键入 icinga2 的详细信息数据库,然后单击验证配置。成功后,单击“下一步”按钮。

对于命令传输,选择本地命令文件并将其保留为默认值。然后单击下一步。

对于 Monitoring Security,将其保留为默认值并单击 Next。

确认所有配置并单击完成按钮。

现在 Icinga 2 和 Icinga web 2 安装已经完成,单击登录到 Icinga Web 2 按钮,您将被重定向到登录页面。

键入您在顶部配置的用户,然后单击“登录”按钮。

键入您在顶部配置的用户,然后单击“登录”按钮。

至此,icinga2和icingaweb2在Ubuntu 20.04服务器上的安装和配置就顺利完成了。
参考
- https://icinga.com/docs/