在Ubuntu 20.04上安装Icinga 2和Icinga Web 2

在本教程中,我们将学习如何在Ubuntu 20.04上安装Icinga 2和Icinga Web 2。 伊辛加2 是一种可扩展且可扩展的开源监视解决方案,用于检查各种网络资源的可用性,包括主机指标,例如系统正常运行时间,负载,内存,磁盘可用空间,运行的进程以及网络服务,例如HTTP, SMTP,SNMP,SSH等。 Icinga支持通知,并且可以配置为通知用户系统/服务中断并生成性能数据以进行报告。

在Ubuntu 20.04上安装Icinga 2和Icinga Web 2

运行系统更新

运行以下命令以更新系统软件包。

apt update
apt upgrade

在Ubuntu 20.04上安装Icinga 2

从官方程序包存储库安装Icinga 2是首选的安装方式。幸运的是,Ubuntu 20.04存储库提供了Icinga 2软件包。但是,可用的软件包可能不是最新的,因此请务必检查 官方Icinga 2存储库 如果已使用Ubuntu 20.04存储库。

因此,要从Ubuntu 20.04存储库安装Icinga 2

apt install icinga2

启用Icinga 2主要功能

在安装过程中,启用了Icinga 2的三个主要功能。这些是:

  • checker 用于执行检查
  • notification 用于发送通知
  • mainlog 用于编写 icinga2.log 文件

为了使启用生效,必须重新启动Icinga 2服务(在安装过程中启动并启用了Icinga 2);

systemctl restart icinga2

检查Icinga 2的状态;

systemctl status icinga2
● icinga2.service - Icinga host/service/network monitoring system
     Loaded: loaded (/lib/systemd/system/icinga2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-05-03 07:22:32 UTC; 25s ago
       Docs: https://icinga.com/docs/icinga2/latest/
    Process: 3118 ExecStartPre=/usr/lib/icinga2/prepare-dirs /usr/lib/icinga2/icinga2 (code=exited, status=0/SUCCESS)
   Main PID: 3138 (icinga2)
      Tasks: 15 (limit: 2283)
     Memory: 13.2M
     CGroup: /system.slice/icinga2.service
             ├─3138 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e
             ├─3155 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e
             ├─3156 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e
             ├─3183 /usr/lib/nagios/plugins/check_ping -6 -H ::1 -c 200,15% -w 100,5%
             └─3184 /bin/ping -6 -n -U -w 10 -c 5 ::1

在Ubuntu 20.04上安装Icinga 2监视插件

只能通过使用监视插件来监视外部服务。因此,运行以下命令以安装Icinga 2监视插件。

apt install monitoring-plugins

安装和配置Icinga 2后端数据库

Icinga 2数据库Icinga数据输出(DB IDO)将所有配置和状态信息导出到数据库中,该数据库可以通过MySQL / MariaDB或PostgreSQL。在本教程中,我们使用MySQL 8。

安装MySQL数据库

apt install mysql-server

安装完成后,运行MySQL初始安全脚本以删除测试数据库,匿名用户,禁止远程root登录…

mysql_secure_installation

为MySQL安装Icinga数据输出模块。

apt install icinga2-ido-mysql

出现提示时,启用Icinga 2以将MySQL用作后端数据库。

如果未启用,则可以稍后通过运行命令来启用此功能;

icinga2 feature enable ido-mysql

要列出已启用的功能,请运行命令;

icinga2 feature list

接下来,选择是否要使用自动设置向导来配置icinga2-ido-mysql。我们选择了手动方式 没有 在本教程中。

为Icinga 2创建MySQL数据库

要创建Icinga 2数据库,请以root用户身份登录。

mysql -u root -p

然后创建数据库。注意,这里使用的名称不是标准名称,可以使用任何您喜欢的名称;

create database icinga2db;

创建数据库用户并授予对上面创建的Icinga 2数据库的所有特权。

create user [email protected] identified with mysql_native_password by '[email protected]';
grant all on icinga2db.* to icinga[email protected];

重新加载特权表并退出数据库。

flush privileges;
quit

导入Icinga 2 IDO模式

接下来,将Icinga 2 IDO模式导入到上面创建的Icinga 2数据库中。相应地替换数据库名称。

mysql -u root -p icinga2db < /usr/share/icinga2-ido-mysql/schema/mysql.sql

配置Icinga 2数据库连接设置

打开Icinga 2 MySQL IDO配置文件以定义Icinga 2数据库连接设置。

vim /etc/icinga2/features-available/ido-mysql.conf
/**
 * The db_ido_mysql library implements IDO functionality
 * for MySQL.
 */

library "db_ido_mysql"

object IdoMysqlConnection "ido-mysql" {
  user = "icingaadmin",
  password = "[email protected]",
  host = "localhost",
  database = "icinga2db"
}

保存并退出文件,然后重新启动Icinga 2守护程序

systemctl restart icinga2

在Ubuntu 20.04上安装Icinga Web 2

Icinga Web 2是功能强大的PHP框架,为Icinga 2提供了Web管理界面。安装PHP和所需的模块。

注意,PHP 7.4是Ubuntu 20.04上的默认版本。 Icinga 2网站尚不兼容PHP 7.4。因此,我们选择从以下位置安装PHP 7.2 ondrej PPA 回购。

安装PPA存储库;

apt install software-properties-common
add-apt-repository ppa:ondrej/php --yes
apt update

安装这些软件包;

apt install apache2 php7.2 php7.2-{cli,curl,gd,ldap,json,intl,imagick,curl,gettext,intl,mbstring,xml,mysql} openssl

接下来,安装Icinga 2 Web和CLI管理软件包。

apt install icingaweb2 icingacli

创建Icinga Web 2数据库

再次,登录到MySQL数据库并为Icinga 2 Web创建数据库和数据库用户。

要创建Icinga 2数据库,请以root用户身份登录。

mysql -u root -p
create database icinga2webdb;
create user [email protected] identified with mysql_native_password by '[email protected]';
grant all on icinga2webdb.* to [email protected];
flush privileges;
quit

准备Icinga 2 Web设置

生成Icinga Web 2身份验证令牌;

icingacli setup token create

这将生成以下令牌:

The newly generated setup token is: 45cc9d7735d4e833

您也可以使用以下命令显示令牌:

icingacli setup token show

确保一个 icingaweb2 系统组存在,并且该Web服务器用户, www-data, 是该小组的成员。

getent group icingaweb2
icingaweb2:x:120:www-data
groups www-data
www-data : www-data icingaweb2

重新启动Apache Web服务器。

systemctl restart apache2

在浏览器上完成Icinga 2 Web设置

要在浏览器上完成设置,请使用以下地址访问Icinga 2网站 http:/// icingaweb2 / setup

输入生成的身份验证令牌,然后单击下一步继续。

选择启用Icinga 2模块。在本教程中,我们使用仅启用监视模块的默认值。

在Ubuntu 20.04上安装Icinga 2和Icinga Web 2

在下一页上,安装向导会验证是否所有必需的PHP模块均已就绪。

在Ubuntu 20.04上安装Icinga 2和Icinga Web 2

如果一切正常,请单击“下一步”继续,否则,请安装所有缺少的PHP扩展并继续进行安装。

选择认证方式。在此演示中,我们使用数据库身份验证。

在Ubuntu 20.04上安装Icinga 2和Icinga Web 2

配置 Icinga 2 Web数据库 连接设置。单击验证配置以测试与数据库的连接。

在Ubuntu 20.04上安装Icinga 2和Icinga Web 2

选择身份验证后端数据库。

在Ubuntu 20.04上安装Icinga 2和Icinga Web 2

创建Icinga Web 2管理用户。

在Ubuntu 20.04上安装Icinga 2和Icinga Web 2

选择您的应用程序配置设置。

在Ubuntu 20.04上安装Icinga 2和Icinga Web 2

Icinga Web 2应用程序配置摘要。

在Ubuntu 20.04上安装Icinga 2和Icinga Web 2

单击下一步,下一步继续。配置Icinga Web 2监视模块。

在Ubuntu 20.04上安装Icinga 2和Icinga Web 2

配置Icinga 2数据库连接设置。

在Ubuntu 20.04上安装Icinga 2和Icinga Web 2

如果在验证配置时出现错误, There is currently no icinga instance writing to the IDO. Make sure that a icinga instance is configured and able to write to the IDO.,仅表示未启用ido-mysql功能。启用它并重新启动Icinga 2。

配置Icinga传输命令。本演示中使用本地命令传输类型。阅读更多 Icinga Web 2命令传输

在Ubuntu 20.04上安装Icinga 2和Icinga Web 2

配置您的 受保护的自定义变量 然后单击下一步,然后完成Icinga web 2的安装。

在Ubuntu 20.04上安装Icinga 2和Icinga Web 2

现在已设置Icinga Web 2。请点击 Login to Icinga Web 2 并使用在安装过程中创建的管理员凭据登录。

在Ubuntu 20.04上安装Icinga 2和Icinga Web 2

Icinga 2监控仪表板。

在Ubuntu 20.04上安装Icinga 2和Icinga Web 2

华丽的! !这就是在Ubuntu 20.04上安装Icinga 2和Icinga Web 2多么简单。

现在,您可以添加主机进行监视。

如何使用Icinga 2监视远程Linux主机和服务

阅读更多 Icinga 2文档页面

Sidebar