如何在 Debian 10 上安装 Icinga 2 监控软件
本教程适用于这些操作系统版本
- Debian 9(扩展版)
在此页
- 要求
- 开始
- 安装 Apache 和 PHP
- 安装 Icinga2
- 安装和配置 MariaDB 和 IDO 模块
- 安装 Icinga Web 2
- 访问 Icinga Web 2
Icinga 2 是一个免费、开源且使用最广泛的监控系统,可用于监控联网主机和服务的健康状况。使用 Icinga 2,您可以监控 CPU 负载、内存使用情况、磁盘使用情况、IMAP、POP3、SMTP、HTTP、路由器、交换机等等。 Icinga 2 可以安装在所有主要操作系统上,包括 Debian、Ubuntu、CentOS、RHEL、FreeBSD、Fedora、ArchLinux 等等。
在本教程中,我们将学习如何在 Debian 10 上安装和配置 Icinga 2 和 Icinga Web 2。
要求
- 运行 Debian 10 的服务器。
- 在您的服务器上配置了静态 IP 地址。
- 在您的服务器上配置了根密码。
入门
首先,建议使用最新版本更新您的系统。您可以通过运行以下命令来完成此操作:
apt-get update -y
apt-get upgrade -y
更新系统后,重新启动它以应用更改。
安装 Apache 和 PHP
在开始之前,您需要将 Apache Web 服务器、PHP 和其他 PHP 模块安装到您的系统中。您可以使用以下命令安装所有这些:
apt-get install apache2 libapache2-mod-php php php-common php-curl php-gd php-curl php-dom php-mysql php-intl php-imagick -y
安装所有软件包后,打开 php.ini 文件并使用以下命令调整一些设置:
nano /etc/php/7.3/apache2/php.ini
更改以下行:
memory_limit = 256M
file_uploads = On
allow_url_fopen = On
allow_url_include = Off
post_max_size 64M
upload_max_filesize = 100M
max_execution_time = 300
default_charset = "UTF-8"
date.timezone = "Asia/Kolkata"
完成后保存并关闭文件。然后,重新启动 Apache 服务以应用更改:
systemctl restart apache2
完成后,您可以继续下一步。
安装 Icinga2
默认情况下,Icinga2 在 Debian 10 默认存储库中可用。您可以通过运行以下命令将其与其他所需工具一起安装:
apt-get install icinga2 vim-icinga2 monitoring-plugins-basic monitoring-plugins-common icingacli -y
安装所有软件包后,启动 Icinga2 服务并使用以下命令使其在系统重启后启动:
systemctl start icinga2
systemctl enable icinga2
您还可以使用以下命令检查 Icinga2 的状态:
systemctl status icinga2.service
您应该得到以下输出:
? icinga2.service - Icinga host/service/network monitoring system
Loaded: loaded (/lib/systemd/system/icinga2.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2019-09-28 06:01:32 EDT; 28s ago
Docs: https://icinga.com/docs/icinga2/latest/
Main PID: 1619 (icinga2)
Tasks: 15 (limit: 1138)
Memory: 64.6M
CGroup: /system.slice/icinga2.service
??1619 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e
??1651 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e
??3060 /usr/lib/nagios/plugins/check_apt
??3061 /usr/bin/apt-get -o Debug::NoLocking=true -s -qq upgrade
Sep 28 06:01:32 debian icinga2[1619]: [2019-09-28 06:01:32 -0400] information/ConfigItem: Instantiated 1 Endpoint.
Sep 28 06:01:32 debian icinga2[1619]: [2019-09-28 06:01:32 -0400] information/ConfigItem: Instantiated 1 FileLogger.
Sep 28 06:01:32 debian icinga2[1619]: [2019-09-28 06:01:32 -0400] information/ConfigItem: Instantiated 215 CheckCommands.
Sep 28 06:01:32 debian icinga2[1619]: [2019-09-28 06:01:32 -0400] information/ScriptGlobal: Dumping variables to file '/var/cache/icinga2/icing
Sep 28 06:01:32 debian icinga2[1619]: [2019-09-28 06:01:32 -0400] information/ConfigItem: Triggering Start signal for config items
Sep 28 06:01:32 debian icinga2[1619]: [2019-09-28 06:01:32 -0400] information/FileLogger: 'main-log' started.
Sep 28 06:01:32 debian icinga2[1619]: [2019-09-28 06:01:32 -0400] information/NotificationComponent: 'notification' started.
Sep 28 06:01:32 debian icinga2[1619]: [2019-09-28 06:01:32 -0400] information/CheckerComponent: 'checker' started.
Sep 28 06:01:32 debian icinga2[1619]: [2019-09-28 06:01:32 -0400] information/ConfigItem: Activated all objects.
Sep 28 06:01:32 debian systemd[1]: Started Icinga host/service/network monitoring system.
完成后,您可以继续下一步。
安装和配置 MariaDB 和 IDO 模块
接下来,您需要在系统上安装 MariaDB 服务器和 IDO 模块。您可以通过运行以下命令来安装它们:
apt-get install mariadb-common mariadb-server icinga2-ido-mysql
在安装过程中,系统会提示您启用 Icinga2s ido-mysql 功能,如下图所示。

选择是,然后按回车键。系统将提示您使用 dbconfig-common 为 icinga2-ido-mysql 配置数据库,如以下屏幕所示。

选择是,然后按回车键。系统将提示您为 icinga2-ido-mysql 提供 MySQL 应用程序密码
如以下屏幕所示。


提供您想要的密码,然后单击“确定”按钮以完成安装。
接下来,您需要为 Icinga web 2 创建一个数据库和用户。首先,使用以下命令登录到 MariaDB shell:
mysql -u root -p
使用以下命令提供您的 root 密码并为 Icinga web 2 创建数据库和用户:
MariaDB [(none)]> CREATE DATABASE icingaweb2;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON icingaweb2.* TO 'icingaweb2'@'localhost' IDENTIFIED BY 'password';
接下来,使用以下命令刷新权限并退出 MariaDB shell:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
完成后,您可以继续下一步。
安装 Icinga Web 2
Icinga Web 2 是一个基于 PHP 的应用程序框架,可用于通过 Web 浏览器管理 Icinga2。您只需运行以下命令即可安装它:
apt-get install icingaweb2 -y
安装后,为 Icinga web 2 创建一个系统组并将 www-data 用户添加到该组,以便 Apache 可以访问这些文件:
addgroup --system icingaweb2
usermod -a -G icingaweb2 www-data
接下来,您需要为 Icinga Web 2 生成一个新的设置令牌。您可以使用以下命令进行设置:
icingacli setup config directory --group icingaweb2
icingacli setup token create
您应该看到以下输出:
36ab602342cceb9c
注意:请记住这个令牌。在 Icinga web 2 设置期间,您将需要此令牌。
最后,重新启动 Apache 和 Icinga2 服务以应用所有配置更改:
systemctl restart apache2
systemctl restart icinga2
访问 Icinga Web 2
Icinga2 和 Icinga Web 2 现已安装并配置。是时候设置 Icinga web 2 了。
打开您的 Web 浏览器并输入 URL http://your-ip-address/icingaweb2/setup。您将被重定向到以下页面:

提供您之前生成的 Icinga web 2 设置令牌,然后单击“下一步”按钮。您应该会看到以下页面:

现在,选择您想要的模块并单击“下一步”按钮。您应该会看到以下页面:


确保安装了所有必需的 PHP 模块。然后,单击“下一步”按钮。您应该会看到以下页面:

选择身份验证类型作为数据库,然后单击下一步按钮。您应该会看到以下页面:

提供您的数据库详细信息,例如数据库名称、数据库用户名、密码,然后单击“下一步”按钮。您应该会看到以下页面:

提供您的后端名称并单击“下一步”按钮。您应该会看到以下页面:

创建您的 Icingaweb2 管理员用户并单击下一步按钮。您应该会看到以下页面:

单击下一步按钮。您应该会看到以下页面:

查看您所做的所有更改,然后单击“下一步”按钮。您应该会看到以下页面:

单击“下一步”按钮配置监控模块。您应该会看到以下页面:

提供您的后端名称和后端类型,然后单击“下一步”按钮。您应该会看到以下页面:

提供您在 IDO 安装期间创建的数据库详细信息,然后单击下一步按钮。您应该会看到以下页面:

提供您的传输名称,选择本地命令行并单击“下一步”按钮。您应该会看到以下页面:

单击下一步按钮。您应该会看到以下页面:

现在,查看您所做的所有更改并单击 Finish 按钮。安装成功完成后,您应该会看到以下页面:

单击登录到 Icinga Web 2。您将被重定向到以下页面:

提供您的 Icinga2 管理员用户名和密码,然后单击“登录”按钮。您应该在以下页面中看到 Icinga2 仪表板:

恭喜!您已在 Debian 10 服务器上成功安装和配置 Icinga2 和 Icinga web 2。您现在可以轻松地将监控主机添加到您的服务器并开始监控。如果您有任何问题,请随时问我。