如何在Ubuntu 16.04上安装Icinga 2和Icinga Web 2

Icinga 2是广泛使用的开源网络资源监视系统,而Icinga Web 2是Icinga 2的官方Web界面。

在本教程中,我将说明如何在Ubuntu 16.04服务器上安装它们。

先决条件

  • 新部署的Vultr Ubuntu 16.04服务器实例。
  • sudo用户。要了解有关在Ubuntu上创建sudo用户的更多信息,请参阅另一本Vultr教程中有关Debian的说明。

步骤1:更新系统

以sudo用户身份从SSH终端登录,然后使用以下命令将系统更新为最新的稳定状态:

sudo apt-get update -y
sudo apt-get upgrade -y
sudo shutdown -r now

重新引导后,使用相同的sudo用户登录。

步骤2:安装Apache

使用以下命令安装Apache:

sudo apt-get install apache2 -y

删除默认的Ubuntu Apache欢迎页面:

sudo rm /var/www/html/index.html

为了安全起见,应禁止Apache将Web根目录中的文件和目录暴露/var/www/html给访问者:

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf

启动Apache服务,并在启动时启动它:

sudo systemctl start apache2.service
sudo systemctl enable apache2.service

步骤3:配置UFW防火墙

默认情况下,在新部署的Vultr Ubuntu 16.04服务器实例上禁用UFW防火墙。使用以下命令启用UFW防火墙并允许SSH,HTTP和HTTPS的入站流量:

sudo ufw app list
sudo ufw allow OpenSSH
sudo ufw allow in "Apache Full"
sudo ufw enable

步骤4:安装MariaDB

4.1)使用以下命令安装MariaDB:

sudo apt-get install mariadb-client mariadb-server -y

4.2)启动MariaDB服务:

sudo systemctl start mysql.service
sudo systemctl enable mysql.service

4.3)确保MariaDB的安装安全:

sudo /usr/bin/mysql_secure_installation

在交互过程中,如下一个一个地回答问题:

Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: <your-password>
Re-enter new password: <your-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

注意<your-password>用您自己的MySQL root密码替换。

4.4)修改MySQL root用户的身份验证插件:

sudo mysql -u root -p

使用您先前设置的MariaDB root密码登录。

在MySQL Shell中:

UPDATE mysql.user SET authentication_string=PASSWORD('<your-password>'), plugin='mysql_native_password' WHERE user='root';
FLUSH PRIVILEGES;
EXIT;

注意<your-password>用您自己的MySQL root密码替换。

步骤5:安装PHP

安装PHP 7.0和Icinga 2和Icinga Web 2的几个扩展:

sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-gd php7.0-intl php7.0-xml php7.0-ldap php7.0-mysql php7.0-pgsql php-imagick -y

安装当前版本的Composer:

cd
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

注意:上面的命令将来可能已经过时,因此您应该始终从Composer官方网站上获取最新版本。

为了方便起见,将Composer脚本composer.phar移至/usr/local/bin并重命名composer

sudo mv ~/composer.phar /usr/local/bin/composer

安装压缩和解压缩:

sudo apt-get install zip unzip -y

使用Composer安装ZendFramework Db组件:

composer require zendframework/zend-db

然后,您需要为您的计算机设置正确的时区,可以从PHP官方网站确定。例如,如果您的服务器实例位于Vultr Los Angeles数据中心中,则其时区值为America/Los_Angeles

使用vi编辑器打开PHP配置文件:

sudo vi /etc/php/7.0/apache2/php.ini

找到这行:

;date.timezone =

更改为:

date.timezone = America/Los_Angeles

保存并退出:

:wq!

重新启动Apache服务,以使新设置生效:

sudo systemctl restart apache2.service

步骤6:安装Icinga 2及其插件

设置Icinga APT存储库:

cd
wget -O - http://packages.icinga.org/icinga.key | sudo apt-key add -
sudo add-apt-repository 'deb http://packages.icinga.org/ubuntu icinga-xenial main'
sudo apt-get update

使用Icinga APT存储库安装Icinga 2和几个插件:

sudo apt-get install icinga2 nagios-plugins -y

要了解有关Icinga 2插件的更多信息,请访问Monitoring Plugins Project网站。

启动Icinga 2服务:

sudo systemctl start icinga2.service
sudo systemctl enable icinga2.service

默认情况下,Icinga 2程序将启用三个功能:检查器,主日志和通知。您可以使用以下命令来确认:

sudo icinga2 feature list

步骤7:设置Icinga 2 IDO模块

7.1)安装MySQL的IDO(Icinga数据输出)模块

sudo apt-get install icinga2-ido-mysql

Configuring icinga2-ido-mysql向导中,当询问您是否要启用Icinga 2的ido-mysql功能时,选择<No>。我们将在以后手动启用此功能。

当询问您是否要为icinga2-ido-mysql配置数据库时,选择<No>。相反,您可以按照步骤7.2中的说明手动创建数据库。

7.2)为Icinga 2创建数据库

以root用户身份登录到MySQL Shell:

sudo mysql -u root -p

使用在步骤4中设置的MariaDB root密码登录。

在MySQL Shell中,创建一个名为的数据库icinga和一个名为icingapassword 的数据库用户icinga,然后将该数据库的特权授予该数据库用户。

CREATE DATABASE icinga;
GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga';
FLUSH PRIVILEGES;
EXIT;

7.3)导入Icinga 2 IDO模式

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

出现提示时,输入MariaDB根密码以完成作业。

7.4)启用IDO MySQL模块

sudo vi /etc/icinga2/features-available/ido-mysql.conf

找到这些行:

user = "icinga2",
password = "",
host = "localhost",
database = "icinga2"

如下修改它们:

user = "icinga"
password = "icinga"
host = "localhost"
database = "icinga"

保存并退出:

:wq!

启用ido-mysql功能:

sudo icinga2 feature enable ido-mysql
sudo systemctl restart icinga2.service

步骤8:安装Icinga Web 2

8.1)设置外部命令管道

sudo icinga2 feature enable command
sudo systemctl restart icinga2.service
sudo icinga2 feature list

在使用Web界面将命令发送到Icinga 2之前,需要将www-data用户添加到icingacmd组中:

sudo groupadd icingacmd
sudo usermod -a -G icingacmd www-data

使用以下命令来确认您的设置:

id www-data

8.2)安装Icinga Web 2软件包

sudo apt-get install icingaweb2 icingaweb2-module-monitoring icingaweb2-module-doc icingacli -y

将Apache Web根目录指向Icinga Web 2指定的位置:

sudo icingacli setup config webserver apache --document-root /usr/share/icingaweb2/public
sudo systemctl restart apache2.service

8.3)设置Icinga Web 2数据库

sudo mysql -u root -p

CREATE DATABASE icingaweb2;
EXIT;

8.4)加载Icinga Web 2数据库架构

mysql -u root -p icingaweb2 < /usr/share/icingaweb2/etc/schema/mysql.schema.sql

8.5)生成安装令牌,以供以后在Icinga Web 2 Web安装向导中使用

sudo icingacli setup token create

8.6)在Web界面中启动Icinga 2安装向导

将您的Web浏览器指向以下URL:

http://<your-serve-ip>/icingaweb2/setup

8.7)在“欢迎”页面上,输入您之前生成的安装令牌,然后单击Next按钮。

8.8)在“模块”页面上,选择一个或多个要启用的Monitoring模块(至少,该模块是必需的),然后单击Next按钮。

8.9)在“需求”页面上,确保满足每个必需的项目,然后单击Next按钮。

8.10)在“身份验证”页面上,访问Icinga Web 2时需要选择身份验证方法。在这里,您可以选择Database,然后单击Next按钮。

8.11)在“数据库资源”页面上,填写以下所有必填字段,然后单击Next按钮。

  • 资源名称*:icingaweb_db
  • 数据库类型*:MySQL
  • 主机*:localhost
  • 数据库名称*:icingaweb2
  • 用户名*:root
  • 密码*:<MariaDB-root-password>

8.12)在“身份验证后端”页面上,使用默认的后端名称icingaweb2,单击Next按钮继续。

8.13)在“管理”页面上,设置第一个Icinga Web 2管理帐户(例如,为icingaweb2admin)和密码(例如,为icingaweb2pass),然后单击Next按钮。

8.14)在“应用程序配置”页面上,您可以调整与应用程序和日志记录相关的配置选项,以适应您的需求。现在,您可以使用下面列出的默认值,然后单击Next按钮继续。

  • 显示堆栈跟踪:已选中
  • 用户首选项存储类型*:数据库
  • 日志记录类型*:Syslog
  • 记录级别*:错误
  • 应用前缀*:icingaweb2

8.15)在“检查”页面上,仔细检查您的配置,然后单击Next按钮。

8.16)在“监视模块配置欢迎”页面上,单击Next按钮。

8.17)在“监视后端”页面上,使用默认的后端名称icinga和后端类型IDO,然后单击Next按钮。

8.18)在“监视IDO资源”页面上,输入您之前设置的IDO数据库详细信息,然后单击Next按钮。

  • 资源名称*:icinga_ido
  • 数据库类型*:MySQL
  • 主机*:localhost
  • 数据库名称*:icinga
  • 用户名*:icinga
  • 密码*:icinga

8.19)在“命令传输”页面上,仍使用下面列出的这些默认值。单击Next按钮继续。

  • 运输名称*:icinga2
  • 传输类型*:本地命令文件
  • 命令文件*:/var/run/icinga2/cmd/icinga2.cmd

8.20)在“监视安全性”页面上,仍使用默认值:

  • 受保护的自定义变量:* pw *,* pass *,社区

点击Next按钮进入下一页。

8.21)在检查页面上,仔细检查您的配置,然后单击Finish按钮。

8.22)恭喜!页面上,单击Login to Icinga Web 2按钮跳转到Icinga Web 2登录页面。使用您之前设置的Icinga Web 2管理帐户和密码登录。随时浏览Icinga Web 2仪表板。

我们的教程到此结束。感谢您的阅读。



Leave a Comment

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。