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

・12 分钟阅读

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

前提条件

  • 一个新的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 root目录/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 repo安装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

你可以从监控Plugins Project了解有关这些插件的更多信息 。

启动ICINGA 2服务:


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

默认情况下,Icinga 2程序将启用三个功能: checker ,mainlog ,和notification,可以使用以下命令验证:


sudo icinga2 feature list

步骤6:设置Icinga 2个IDO模块

6.1 )为MySQL安装(Icinga Data Output)模块


sudo yum install icinga2-ido-mysql -y

6.2为Icinga 2创建一个数据库

以root的形式登录到MySQL shell :


mysql -u root -p

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

创建名为"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;

6.3导入ICINGA 2IDO架构


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

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

6.4 )启用模块


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

 
!

启用功能:


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 root目录指向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 )修改防火墙规则以允许网络访问


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

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

将你的网页浏览器指向以下网址:


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

7.6 )在欢迎页面上,输入你先前生成的设置标记,然后单击"下一步"按钮。

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

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

7.9在认证页面上,需要选择在访问Icinga Web 2.时身份验证方法,你可以选择Database然后,单击"下一步"按钮。

7.10 )在数据库资源页上,按如下所示填写所有必需的字段,然后单击"下一步"按钮。

  • 资源名称*:icingaweb_db
  • 数据库类型*:MySQL
  • 数据库名称*:icingaweb2
  • Username* :root
  • Password* :<MariaDB-root-password>

7.11 )在认证后台页面,使用默认的后台名称icingaweb2,点击Next按钮继续。

7.12)在Administration页面上,设置第一个Icinga Web 2管理帐户(icingaweb2admin)和密码(icingaweb2pass),然后单击"Next "按钮。

7.13)在"应用程序配置"页面上,你可以调整与应用程序和日志记录相关的配置选项以满足你的需求。现在,你可以使用下面列出的默认值,并单击"下一步"按钮进行操作。

  • Show Stacktraces:选中
  • 用户首选项存储类型*:数据库
  • 记录类型*:Syslog
  • 日志记录级别*:错误
  • 应用程序前缀*:icingaweb2

7.14 )在检查页面上,双击你的配置,然后单击Next按钮。

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

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

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

  • 资源名称*:ICINGA UIDO
  • 数据库类型*:MySQL
  • 数据库名称*:ICINGA
  • Username* :icinga
  • Password* :icinga

7.18 )在命令传输页上,仍然使用下面列出的这些默认值,单击Next按钮以移动。

  • Transport Name*:ICINGA2
  • Transport Type*本地命令文件
  • Command File* : /var/run/icinga2/cmd/icinga2.cmd

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

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

单击"下一步"按钮转到下一页。

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

7.21 )在Congratulations页中,单击 Login to Icinga Web 2 按钮跳转到ICINGA Web 2登录页面,使用你之前设置的Icinga Web 2管理帐户和密码登录,现在你可以随意浏览ICINGA Web 2仪表盘了。

这是我们的教程,感谢你阅读。

Anne655 profile image