技术教程 · 2019年12月18日 0

如何在CentOS 8上安装Zabbix监视工具

Zabbix是用于网络服务,网络硬件,服务器和应用程序的开源监视工具。设计用于跟踪和监视系统和服务器的状态。Zabbix为许多数据库系统(包括MySQL,PostgreSQL,SQLite和IBM DB2)提供支持以存储数据。Zabbix后端用C编写,而前端用PHP编写。

在本教程中,我们将逐步向您展示如何在CentOS 8系统上安装和配置开源监视系统Zabbix 4.0 LTS。本指南将涵盖一些主题,包括用于我们的Zabbix安装的LAMP Stack的安装和配置,以及如何更改Zabbix管理Web UI的默认密码。

先决条件

  • CentOS 8服务器
  • 根特权
  • 有关Linux CentOS命令的基本知识

我们要做什么:

  • 安装Apache Httpd
  • 安装和配置PHP
  • 安装和配置MariaDB
  • 安装和配置Zabbix 4.0 LTS
  • 配置防火墙
  • 配置SELinux
  • Zabbix安装后
  • 更改Zabbix的默认管理员

第1步-安装Apache Httpd

对于本指南,我们将对Web服务器使用Apache / httpd。Zabbix服务器将在Apache Web服务器下运行。

您可以使用下面的dnf命令安装Apache / httpd软件包。

dnf install httpd

安装完成后,将httpd服务添加到系统引导中,并使用以下命令启动该服务。

systemctl enable httpd
systemctl start httpd

现在,使用下面的netstat命令检查httpd服务,并确保HTTP端口“ 80”处于“ LISTEN”状态。

netstat -plntu

结果如下。

启用Apache Web服务器

结果,httpd服务已启动并在CentOS 8服务器上的默认HTTP端口“ 80”上运行。

第2步-安装PHP

安装Apache / httpd Web服务器之后,我们将安装Zabbix安装所需的PHP软件包及其扩展。我们将按照Zabbix的安装要求安装和配置PHP。

使用下面的dnf命令安装PHP软件包。

dnf install php-cli php-common php-devel php-pear php-gd php-mbstring php-mysqlnd php-xml php-bcmath

安装完成后,使用vim编辑器配置PHP配置’/etc/php.ini’。

vim /etc/php.ini

如下所示更改配置的值。

date.timezone = Asia/Jakarta
max_execution_time = 600
max_input_time = 600
memory_limit = 256M
post_max_size = 32M
upload_max_filesize = 16M

保存并关闭。

现在重新启动Apache / httpd服务。

systemctl restart httpd

至此,CentOS 8服务器上的PHP安装和配置已经完成。

安装PHP

步骤3-安装和配置MariaDB

默认情况下,Zabbix为安装的许多数据库提供支持,包括MySQL,PostgreSQL,SQLite和Oracle数据库。对于本指南,我们将使用MariaDB作为Zabbix安装的数据库。

使用下面的dnf命令安装mariadb-server。

dnf install mariadb-server

安装完成后,将MariaDB服务添加到系统引导中,并使用以下命令启动该服务。

systemctl enable mariadb
systemctl start mariadb

MariaDB服务器已启动并正在运行。

接下来,我们将配置MariaDB根密码。运行下面的“ mysql_secure_installation”命令来配置root密码。

mysql_secure_installation

输入您的root密码,然后按Enter。

Set a root password? [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

并已配置MariaDB根密码。

安装MariaDB

接下来,我们将为Zabbix安装创建一个新的数据库和用户。我们将创建一个新数据库,用户名为“ zabbix”,密码为“ hakase-labs @ ”。

使用下面的mysql命令登录到MariaDB / mysql shell。

mysql -u root -p
TYPE YOUR ROOT PASSWORD:

并在外壳程序下面运行以下MariaDB查询。

create database zabbix; 
grant all privileges on zabbix.* to zabbix@'localhost' identified by 'hakase-labs@'; 
grant all privileges on zabbix.* to zabbix@'%' identified by 'hakase-labs@'; 
flush privileges;

因此,已创建用于Zabbix安装的新数据库和用户。

创建zabbix数据库

第4步-安装和配置Zabbix 4.0 LTS

在这一步中,我们将安装Zabbix 4.0 LTS。我们将从官方的Zabbix存储库安装Zabbix LTS版本。

-添加存储库并安装软件包

首先,我们需要使用下面的rpm命令将Zabbix 4.0 LTS存储库添加到系统中。

rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm

之后,删除系统软件包缓存并检查系统上所有可用的存储库。

dnf clean all
dnf repolist

现在您将得到如下结果。

安装Zabbix RPM文件

结果,Zabbix存储库已添加到CentOS 8系统。

现在运行下面的dnf命令来安装Zabbix服务器和代理。

dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent

等待Zabbix安装完成。

甘巴

-导入MySQL数据库方案

Zabbix安装完成后,我们将为Zabbix导入MariaDB数据库方案。

转到“ / usr / share / doc / zabbix-server-mysql”目录并解压缩数据库方案。

cd /usr/share/doc/zabbix-server-mysql
gunzip create.sql.gz

现在,使用下面的MySQL命令将数据库方案导入到我们的’zabbix’数据库中。

mysql -u root -p zabbix < create.sql

输入您的MariaDB超级用户密码,数据库架构已导入。

导入MySQL数据库方案

-配置Zabbix服务器和Zabbix代理

Zabbix服务器是Zabbix软件系统的中央过程。我们将通过编辑配置“ /etc/zabbix/zabbix_server.conf”来配置Zabbix服务器。

使用vim编辑器编辑“ /etc/zabbix/zabbix_server.conf”配置文件。

vim /etc/zabbix/zabbix_server.conf

在数据库行配置中,键入以下配置,然后使用您自己的数据库密码更改“ DBPassword”值。

DBHost=localhost
DBPassword=hakase-labs@

保存并关闭。

之后,将zabbix-server添加到系统引导中。

systemctl enable zabbix-server

并且zabbix-server配置已完成。

接下来,我们将向您展示zabbix-agent配置。必须在将要监视的所有计算机上安装zabbix-agent。

使用vim编辑器编辑zabbix-agent配置’/etc/zabbix/zabbix_agentd.conf’。

vim /etc/zabbix/zabbix_agentd.conf

现在,使用如下所示的zabbix-server IP地址更改“ Server”和“ ServerActive”值。

Server=10.5.5.50
ServerActive=10.5.5.50

保存并关闭。

现在,将zabbix-agent服务添加到系统引导中。

systemctl enable zabbix-agent

并且zabbix-agent配置已完成。

配置Zabbix服务器

第5步-配置防火墙

对于使用防火墙的配置,我们将添加新服务,包括HTTP,HTTPS以及Zabbix服务器和代理使用的端口。

使用以下命令将HTTP,HTTP和Zabbix端口“ 10050-10051”添加到Firewalld。

firewall-cmd --add-service={http,https} --permanent
firewall-cmd --add-port={10051/tcp,10050/tcp} --permanent

之后,重新加载firewalld并检查其上所有可用的服务和端口。

firewall-cmd --reload
firewall-cmd --list-all

结果将显示如下。

配置防火墙

结果,HTTP,HTTPS和Zabbix端口“ 10050-10051”已添加到Firewalld。

第6步-配置SELinux

如果要在启用了SELinux的CentOS 8上运行Zabbix,则必须在本节中执行所有命令。

使用下面的dnf命令安装SELinux实用程序。

dnf install policycoreutils checkpolicy setroubleshoot-server

安装完成后,创建一个新目录’〜/ zabbix-linux’并进入。

mkdir -p ~/zabbix-selinux
cd ~/zabbix-selinux/

现在使用vim编辑器创建一个新的SELinux策略模块文件’zabbix_server_add.te’。

vim zabbix_server_add.te

粘贴以下配置。

module zabbix_server_add 1.1;

require {
        type zabbix_var_run_t;
        type tmp_t;
        type zabbix_t;
        class sock_file { create unlink write };
        class unix_stream_socket connectto;
        class process setrlimit;
        class capability dac_override;
}

#============= zabbix_t ==============

#!!!! This avc is allowed in the current policy
allow zabbix_t self:process setrlimit;

#!!!! This avc is allowed in the current policy
allow zabbix_t self:unix_stream_socket connectto;

#!!!! This avc is allowed in the current policy
allow zabbix_t tmp_t:sock_file { create unlink write };

#!!!! This avc is allowed in the current policy
allow zabbix_t zabbix_var_run_t:sock_file { create unlink write };

#!!!! This avc is allowed in the current policy
allow zabbix_t self:capability dac_override;

保存并关闭。

现在,使用下面的checkmodule命令将’zabbix_server_add.te’转换为策略模块。

checkmodule -M -m -o zabbix_server_add.mod zabbix_server_add.te

现在,使用semodule_package命令编译策略模块’zabbix_server_add.mod’。

semodule_package -m zabbix_server_add.mod -o zabbix_server_add.pp

之后,将已编译的策略模块“ zabbix_server_add.pp”加载到系统中。

semodule -i zabbix_server_add.pp

Zabbix的本地自定义策略模块已加载。

配置SELinux

接下来,进行其他SELinux配置。运行下面的setsbool命令。

setsebool -P httpd_can_network_connect 1
setsebool -P httpd_can_connect_zabbix 1
setsebool zabbix_can_network on

Zabbix的SELinux配置已经完成。

第7步-Zabbix初始设置

首先,使用以下命令启动zabbix-server。

systemctl start zabbix-server
systemctl status zabbix-server

现在启动zabbix-agent服务。

systemctl start zabbix-agent
systemctl status zabbix-agent

然后重新启动httpd服务。

systemctl restart httpd

接下来,打开您的Web浏览器,并按如下所示键入服务器IP地址。

http://10.5.5.50/zabbix/

您会收到来自Zabbix的欢迎信息。

Zabbix Web安装程序

点击“下一步”按钮。

现在,Zabbix将检查所有系统要求以进行安装。确保没有错误。

检查先决条件

点击“下一步”按钮。

对于数据库信息,键入所有数据库设置。

配置数据库

然后点击“下一步”按钮。

现在是Zabbix服务器详细信息配置。在“主机”字段上,键入您自己的服务器IP地址,然后使用您自己的域名或主机名更改名称。

Zabbix服务器详细信息

再次单击“下一步”按钮。

确保所有这些配置都是正确的,然后单击“下一步”以安装Zabbix。

安装前摘要

安装完成后,您将获得如下所示的页面。

安装成功

单击“完成”按钮,您将被重定向到Zabbix登录页面。

使用默认用户“ admin”和密码“ zabbix”登录。

Zabbix登录

您将获得默认的Zabbix仪表板。

Zabbix资讯主页

Zabbix的安装已完成。

第8步-更改默认管理员密码

对于最后一步,我们将更改zabbix的默认管理员密码。

在Zabbix管理控制台上,单击右上角的用户图标。

更改密码

点击“更改密码”按钮,然后输入新密码。

确认密码

现在,单击“更新”按钮,并且默认的管理员密码已更改。

CentOS 8系统上的Zabbix安装和配置已成功完成。

参考

原文:https://www.howtoforge.com/tutorial/centos-zabbix-system-monitoring/