如何在CentOS 7上安装Icinga 2和Icinga Web 2

Icinga 2是流行的开源网络资源监视系统,而Icinga Web 2是Icinga 2的Web界面。本文将介绍如何在CentOS 7服务器上安装它们。

先决条件

  • 全新的Vultr CentOS 7服务器实例。
  • 一个sudo的用户

步骤1:更新系统

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

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

步骤2:安装Apache

使用YUM安装Apache:

sudo yum install httpd -y

禁用预设的Apache欢迎页面:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

禁止Apache将Web根目录中的文件和目录暴露/var/www/html给访问者:

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

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

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

步骤3:安装MariaDB

使用YUM安装MariaDB:

sudo yum install mariadb mariadb-server -y

启动MariaDB服务:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

确保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

步骤4:安装PHP

根据Icinga 2和Icinga Web 2的要求安装PHP和必要的PHP扩展:

sudo yum install php php-gd php-intl php-ldap php-ZendFramework php-ZendFramework-Db-Adapter-Pdo-Mysql -y

然后,您需要为您的计算机设置正确的时区,可以从PHP官方网站确定。在我的服务器实例上,时区值为“ America / Los_Angeles”。

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

sudo vi /etc/php.ini

找到这行:

;date.timezone =

更改为:

date.timezone = America/Los_Angeles

保存并退出:

:wq!

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

sudo systemctl restart httpd.service

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

在CentOS 7上,您可以使用icinga YUM存储库安装Icinga 2及其插件:

sudo rpm --import http://packages.icinga.org/icinga.key 
sudo rpm -i https://packages.icinga.org/epel/7/release/noarch/icinga-rpm-release-7-1.el7.centos.noarch.rpm
sudo yum install icinga2 nagios-plugins-all -y

您可以从Monitoring Plugins Project了解更多有关这些插件的信息。

启动Icinga 2服务:

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

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

sudo icinga2 feature list

步骤6:设置Icinga 2 IDO模块

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

sudo yum install icinga2-ido-mysql -y

6.2)为Icinga 2创建数据库

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

mysql -u root -p

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

创建一个名为“ 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;

6.3)导入Icinga 2 IDO模式

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

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

6.4)启用IDO MySQL模块

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

找到这些行:

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

取消注释它们,如下所示:

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

保存并退出:

:wq!

启用ido-mysql功能:

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

步骤7:安装Icinga Web 2

7.1)设置外部命令管道

sudo icinga2 feature enable command
sudo systemctl restart icinga2.service

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

sudo usermod -a -G icingacmd apache

您可以使用以下命令来验证您的修改:

id apache

7.2)安装icingaweb2和icingacli RPM软件包

sudo yum install icingaweb2 icingacli -y

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

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

7.3)生成设置令牌,以供以后在Web界面中使用

sudo icingacli setup token create

7.4)修改防火墙规则以允许Web访问

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

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

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

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

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

7.7)在“模块”页面上,选择要启用的模块(至少需要监视模块),然后单击“下一步”按钮。

7.8)在“需求”页面上,确保满足每个需求项目,然后单击“下一步”按钮。

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

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

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

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

7.12)在“管理”页面上,设置第一个Icinga Web 2管理帐户(假设它是icingaweb2admin)和密码(icingaweb2pass),然后单击“下一步”按钮。

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

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

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

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

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

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

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

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

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

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

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

单击“下一步”按钮转到下一页。

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

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

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



Leave a Comment

如何在CentOS 7上安装Oxwall

如何在CentOS 7上安装Oxwall

Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,

如何在CentOS 7上设置vsFTPd

如何在CentOS 7上设置vsFTPd

FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o

使用Nethogs监视网络带宽使用情况

使用Nethogs监视网络带宽使用情况

在本教程中,我们将介绍在CentOS 6x x64上安装和使用nethogs的过程。nethogs是一种网络监视工具,它允许Networ

如何在CentOS 7上安装BoltWire CMS

如何在CentOS 7上安装BoltWire CMS

使用其他系统?简介BoltWire是一个用PHP编写的免费,轻量级的内容管理系统。与大多数其他内容管理人员相比

在CentOS 6上设置SA-MP San Andreas多人服务器

在CentOS 6上设置SA-MP San Andreas多人服务器

欢迎来到另一个Vultr教程。在这里,您将学习如何安装和运行SAMP服务器。本指南是为CentOS 6编写的。先决条件

使用Etckeeper进行/ etc的版本控制

使用Etckeeper进行/ etc的版本控制

简介/ etc /目录在Linux系统运行中起着至关重要的作用。其原因是因为几乎每个系统配置

如何在CentOS 7上安装Microweber

如何在CentOS 7上安装Microweber

使用其他系统?Microweber是一个开放源代码的拖放式CMS和在线商店。Microweber源代码托管在GitHub上。本指南将向您展示

如何在CentOS 7上安装SonarQube

如何在CentOS 7上安装SonarQube

使用其他系统?SonarQube是用于质量系统开发的开源工具。它是用Java编写的,并且支持多个数据库。它提供

如何在CentOS 7上使用Mosh进行远程服务器管理

如何在CentOS 7上使用Mosh进行远程服务器管理

使用其他系统?Mosh是Mobile Shell的缩写,是一种新兴的远程终端应用程序,旨在提供更好的连接和使用

如何在CentOS 7上安装MoinMoin

如何在CentOS 7上安装MoinMoin

MoinMoin是一个使用Python编写的基于文件系统的开源Wiki引擎。如今,MoinMoin已广泛用于开源社区。许多供应商

在CentOS 7上安装H2O Web服务器

在CentOS 7上安装H2O Web服务器

H2O是新一代HTTP服务器,它对所有当前使用的Web服务器都具有出色的,功能齐全的HTTP / 2实现。使用H2O作为您的Web服务器

如何在Debian,CentOS和FreeBSD上使用Sudo

如何在Debian,CentOS和FreeBSD上使用Sudo

在Linux和Unix系统管理员中,使用sudo用户访问服务器并在root级执行命令是一种非常普遍的做法。使用泡沫

如何在Ubuntu 16.10上安装Countly Analytics

如何在Ubuntu 16.10上安装Countly Analytics

使用其他系统?Countly是一个开源Web /移动分析和营销平台。它具有许多用于从Web收集数据的功能

如何在CentOS 7上安装MODX CMS和Nginx

如何在CentOS 7上安装MODX CMS和Nginx

MODX是一个用PHP编写的免费开放源内容管理系统。它使用MySQL或MariaDB来存储其数据库。MODX专为满足以下条件的企业而设计:

如何在CentOS 7 LAMP VPS上安装Lychee 3.1相册

如何在CentOS 7 LAMP VPS上安装Lychee 3.1相册

使用其他系统?Lychee 3.1相册是一种简单,灵活,免费和开源的照片管理工具,可在VPS服务器上运行。安装

如何在CentOS 7上安装ERPNext开源ERP

如何在CentOS 7上安装ERPNext开源ERP

使用其他系统?ERP或企业资源计划是用于管理核心业务流程的企业应用程序套件。ERPNext是免费的

如何在CentOS 7 LAMP VPS上安装Paste 2.1

如何在CentOS 7 LAMP VPS上安装Paste 2.1

使用其他系统?Paste 2.1是一个简单,灵活,免费和开源的pastebin应用程序,用于存储代码,文本等。最初是

如何在CentOS 7上安装Seafile Server

如何在CentOS 7上安装Seafile Server

使用其他系统?Seafile(社区版本)是一个免费和开源的文件同步和共享解决方案,类似于ownCloud。机智

如何在CentOS 7上安装Kolab组件

如何在CentOS 7上安装Kolab组件

使用其他系统?Kolab Groupware是一个免费的基于Web的开源组件软件。它的功能包括电子邮件通信,事件

如何在CentOS 7 LAMP VPS上安装Omeka Classic 2.4 CMS

如何在CentOS 7 LAMP VPS上安装Omeka Classic 2.4 CMS

使用其他系统?Omeka Classic 2.4 CMS是一个免费的开源数字发布平台和用于共享数字内容的内容管理系统(CMS)

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 年人工智能對醫療保健的影響

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