Icinga Web2是Icinga2的Web前端展示界面之一,它也是支持Icinga2的Web界面中我个人最喜欢的。通过Icinga Web2,你可以方便的展示与管理你的监控,也可以自定义一些显示模块。本文将介绍Icinga Web2的安装与配置,其中部分经验可能在Icinga2的其它Web界面也适用。
Icinga2通过DB IDO模块将所有配置与状态信息都保存在一个数据库中,这些数据会被Icinga Web2,Icinga Reporting或Icinga Web 1.x使用。
目前Icinga2支持使用MySQL和PostgreSQL作为后端数据库,本文仅介绍MySQL作为后端数据库的情况,如果你使用PostgreSQL,请依据官方文档配置好PostgreSQL。
安装MySQL数据库服务
Debian/Ubuntu:
1 | $ apt-get install mysql-server mysql-client |
RHEL/CentOS 5/6:
1 | $ yum install mysql-server mysql |
RHEL/CentOS 7 和 Fedora:
1 | $ yum install mariadb-server mariadb |
SUSE:
1 | $ zypper install mysql mysql-client |
FreeBSD:
1 | $ pkg install mysql56-server |
安装MySQL的IDO模块
通过默认的包管理器安装icinga2-ido-mysql包:
Debian/Ubuntu:
1 | $ apt-get install icinga2-ido-mysql |
RHEL/CentOS:
1 | $ yum install icinga2-ido-mysql |
SUSE:
1 | $ zypper install icinga2-ido-mysql |
FreeBSD:
FreeBSD的MySQL IDO模块已经包含在icinga2包中,位于 /usr/local/share/icinga2-ido-mysql/schema/mysql.sql。
注意:Debian/Ubuntu的包中提供了一个数据库配置向导,你可以根据个人喜好来选择是否使用它。
设置MySQL数据库
为Icinga 2设置一个MySQL数据库:
1 | $ mysql -u root -p |
在创建数据库完成后,使用以下命令导入Icinga2 IDO数据库结构:
1 | $ mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql |
为了使用Icinga Web2,我们为Icinga Web2也创建一个空的数据库:
1 | $ mysql -u root -p |
启用MySQL IDO模块
1 | $ icinga2 feature enable ido-mysql |
启用后别忘了重启Icinga2服务:
Debian/Ubuntu, RHEL/CentOS 6 和 SUSE:
1 | $ service icinga2 restart |
RHEL/CentOS 7 和 Fedora:
1 | $ systemctl restart icinga2 |
FreeBSD:
1 | $ service icinga2 restart |
安装Web服务
Debian/Ubuntu:
1 | $ apt-get install apache2 |
RHEL/CentOS 6:
1 | $ yum install httpd |
RHEL/CentOS 7/Fedora:
1 | $ yum install httpd |
SUSE:
1 | $ zypper install apache2 |
FreeBSD (nginx,你也可以使用 apache24 来作为Web服务):
1 | $ pkg install nginx php56-gettext php56-ldap php56-openssl php56-mysql php56-pdo_mysql php56-pgsql php56-pdo_pgsql php56-sockets php56-gd pecl-imagick pecl-intl |
配置防火墙规则
例如:
1 | $ iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT |
RHEL/CentOS 7 使用下面命令:
1 | $ firewall-cmd --add-service=http |
配置额外的命令通道
Web接口和一些其它模块通过额外的命令通道来向Icinga2发送命令,你可以使用下面的命令启用它:
1 | $ icinga2 feature enable command |
同样,你需要重启Icinga2服务来使它生效。
默认情况下,icingacmd用户组拥有读写命令通道文件的权限,因此你需要使用下面的命令将Web服务的用户加入到该组:
1 | $ usermod -a -G icingacmd www-data |
FreeBSD: www用户组拥有文件的读写权限,你不需要额外操作什么。
Debian包使用nagios作为默认用户名和用户组,因此你需要将上述命令中的icingacmd修改为nagios。
Web服务的用户名在不同的环境下是不同的,因此你可以尝试修改www-data为wwwrun、www、或者 apache。
你可以使用以下命令来检测是否成功将用户加入到icingacmd用户组:
1 | $ id <your-webserver-user> |
本文来自 The NewIdea,作者 Carey Tzou 。
永久地址:https://www.tnidea.com/prepare-for-setting-up-icinga-web2.html
未经授权,拒绝任何全文及摘要转载!