如何在Ubuntu 16.04上安装Icinga 2和Icinga Web 2
Anne655
・16 分钟阅读
ICINGA 2是一个广泛使用的开源网络资源监控系统,ICINGA Web2是ICINGA 2的官方Web接口。
在本教程中,我将介绍如何在Ubuntu 16.04服务器上安装它们。
前提条件
- 新部署的Ubuntu 16.04服务器实例,
- sudo用户,想了解如何在Ubuntu上创建sudo用户,请参阅关于Debian的教程 ,
步骤1:更新系统
从SSH终端作为sudo用户登录,然后使用以下命令将系统更新为最新的稳定状态:
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 root目录/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防火墙
默认情况下,在新部署的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
注意:用你自己的MySQL root密码替换<your-password>
。
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;
注意:用你自己的MySQL root密码替换<your-password>
。
步骤5:安装PHP
为Icinga 2和Icinga Web 2安装php 7.0和几个扩展:
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
安装zip并解压缩:
sudo apt-get install zip unzip -y
使用Composer安装ZendFramework Db组件:
composer require zendframework/zend-db
然后你需要为你的机器设置适当的时区,这可以从PHP官方网站获取 ,例如,如果服务器实例位于洛杉矶数据中心,那么这个服务器的时区值为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 repo安装Icinga 2和几个插件:
sudo apt-get install icinga2 nagios-plugins -y
要了解有关Icinga 2插件的更多信息,请访问监控插件项目网站。
启动ICINGA 2服务:
sudo systemctl start icinga2.service
sudo systemctl enable icinga2.service
默认情况下Icinga 2程序将启用三个功能: checker ,mainlog和notification,你可以使用以下命令确认:
sudo icinga2 feature list
步骤7:设置Icinga 2个IDO模块
7.1 )为MySQL安装(Icinga Data Output)模块
sudo apt-get install icinga2-ido-mysql
在配置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
创建名为icinga
的数据库和名为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 2IDO架构
sudo mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql
出现提示时,输入MariaDB root密码完成设置。
7.4 )启用模块
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
!
启用功能:
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安装向导
将你的网页浏览器指向以下网址:
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
按钮。
- Resource Name*:icingaweb_db
- Database Type*:MySQL
- Database Name*:icingaweb2
- Username* :root
- Password* :< MariaDB-root-password >
8.12 )在Authentication Backend页面,使用默认的后台名称icingaweb2,点击Next按钮继续。
8.13在Administration page页面上,设置第一个Icinga Web 2管理帐户(icingaweb2admin )和密码(icingaweb2pass ),然后,单击Next按钮。
8.14 在Application Configuration page页面上,你可以调整与应用程序和日志相关的配置选项,以满足你的需要,现在,你可以使用下面列出的默认值,并单击Next
按钮进行操作。
- Show Stacktraces选中
- 用户首选项存储类型*:数据库
- Logging Type* : Syslog
- 记录级别*:错误
- Application Prefix*:icingaweb2
8.15 )在Review page页面上,双击你的配置,然后单击Next按钮。
8.16 )在Monitoring Module Configuration(监视模块配置欢迎页面)上,单击Next按钮。
8.17 )在Monitoring Backend page (监视后台页面)上,使用默认的后台名称icinga和后台类型IDO,然后单击Next按钮。
8.18 )在Monitoring IDO Resource page(监视资源页面)上,输入先前设置的IDO数据库详细信息,然后单击Next按钮。
- 资源名称*:ICINGA UIDO
- 数据库Type* MySQL
- 数据库名称*:ICINGA
- Username* :icinga
- Password* :icinga
8.19 )在Command Transport page(命令传输页)上,仍然使用下面列出的这些默认值,单击Next
按钮以移动。
- Transport Name*:ICINGA2
- Transport Type*本地命令文件
- Command File* :/var/run/icinga2/cmd/icinga2.cmd
8.20 )在Monitoring Security page上,仍然使用默认值:
- 受保护的自定义变量:*pw *,*pass *,community。
单击Next
按钮转到下一页。
8.21 )在检查页面上,双击你的配置,然后单击Finish
按钮。
8.22)在Congratulations页中,单击 Login to Icinga Web 2
按钮跳转到ICINGA Web 2登录页面,使用你之前设置的Icinga Web 2管理帐户和密码登录,现在可以随意浏览Icinga Web 2仪表板了。
我们的教程到此结束,谢谢你的阅读。