如何在Ubuntu 20.04 LTS上安装Icinga 2监控软件
Icinga是针对您数据中心服务器的免费开源监控工具。它是一个服务器系统和网络监控应用程序,它可以检查网络和服务器资源的可用性,通知系统中断,生成资源的性能数据,并提供具有内置群集功能的高可用性和分布式监控设置。
在本文中,我们将向您展示如何使用Ubuntu 20.04 LTS服务器安装和配置Icinga 2监控工具。我们将从官方存储库中安装Icinga 2,然后为icinga2监控工具配置icingaweb2,这是轻量级且可扩展的Web界面。
先决条件
我们将使用具有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 Monitoring插件。
将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数据库服务器
在此步骤中,我们将最新的MySQL服务器安装到我们的Ubuntu 20.04,并为默认的MySQL根用户设置密码。
使用下面的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”。
至此就MySQL服务器的安装和它的默认配置root密码已经完成。
3、安装和配置Icinga2 MySQL模块
安装MySQL服务器后,我们将为名为“ icinga2-ido-mysql”的MySQL支持安装icinga2模块。
使用下面的apt命令安装'icinga2-ido-mysql'。
sudo apt install icinga2-ido-mysql
现在将要求您启用icinga2 ido-mysql功能,选择“YES”继续。
使用dbconfig命令配置“ icinga2-ido-mysql”,选择“YES”继续。
输入“ icinga2-ido-mysql”的密码。
重复密码“ icinga2-ido-mysql”。
“icinga2-ido-mysql”软件包的安装已完成,并且已创建新的MySQL用户“ icinga2”。
接下来,为了使Icinga与新的MySQL版本兼容,我们将使用MySQL本机密码身份验证来配置MySQL用户“ icinga2”。
使用以下命令登录到MySQL Shell。
mysql -u root -p
现在,使用以下查询使用本地MySQL身份验证插件更改用户'icinga2@localhost'的身份验证。
ALTER USER icinga2@localhost IDENTIFIED WITH mysql_native_password BY 'aqwe123@#$';
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 icingaweb2@localhost identified with mysql_native_password by "icingaweb2pass";
grant all privileges on icingaweb2.* to icingaweb2@localhost with grant option;
flush privileges;
键入“退出”以退出MySQL Shell。
至此就完成了icingaweb2的安装,并创建了icingaweb2的新数据库。
6、Icinga 2和Icinga Web 2安装后
打开您的Web浏览器,然后输入服务器IP地址,如下所示。(用您的服务器IP替换下面URL中的IP)。
http://您的服务器IP地址/icingaweb2/setup
将安装令牌代码粘贴到框中,然后单击“下一步”按钮。
现在,您需要选择Icinga模块进行安装,保留“ Monitoring”模块,然后单击“ Next”。
之后,Icinga将检查环境以进行安装。确保除“ PostgreSQL模块”以外的所有所需模块均处于绿色状态,然后单击“下一步”。
现在,您需要选择访问icingaweb2的身份验证,选择“数据库”,然后单击“下一步”。
输入“ icingaweb2”的所有数据库详细信息,然后单击“验证配置”进行测试。成功后,单击“下一步”按钮。
现在进行后端身份验证,选择“ icingaweb2”,然后单击“下一步”。
输入icingaweb2的管理员和密码,然后再次单击“下一步”。
在“Application Configuration”应用程序配置栏目中,保留为默认设置,然后单击“下一步”。
确认所有配置,然后单击“下一步”。
您将获得欢迎页面到icingaweb2。再次单击“下一步”以配置监控后端。
将后端名称设置为“ icinga2”,类型为“ IDO”,然后单击“下一步”。
现在,您需要为icinga2应用程序配置MySQL IDO后端资源。键入icinga2的详细信息数据库,然后单击“Validate Configuration”验证配置。成功后,单击“下一步”按钮。
对于“Command Transport”命令传输栏目,选择“Local Command File”本地命令文件,并将其保留为默认值。然后点击“下一步”。
对于"Monitoring Security"监控安全性栏目,保留为默认值,然后单击“下一步”。
确认所有配置,然后单击“完成”按钮。
现在,Icinga 2和Icinga Web 2的安装完成,单击“登录到Icinga Web 2”按钮,您将被重定向到登录页面。
在上面输入您配置的用户,然后点击“登录”按钮。
登录后就会显示仪表盘界面。
至此,在Ubuntu 20.04服务器上icinga2和icingaweb2的安装和配置已成功完成。