本部署文档适用于CentOS 8.X/RHEL 8.X/Anolis OS 8.X/AlmaLinux 8.X/Rocky Linux 8.X。

Zabbix 6.0 LTS于2022年2月15日发布,本次大版本更新,最大亮点是增加了原生HA、机器学习、Kubernetes监控等。

Requirements

硬件要求

Name Platform CPU/Memory Database Monitored hosts
Small CentOS Virtual Appliance MySQL InnoDB 100
Medium CentOS 2 CPU cores/2GB MySQL InnoDB 500
Large RedHat Enterprise Linux 4 CPU cores/8GB RAID10 MySQL InnoDB or PostgreSQL >1000
Very large RedHat Enterprise Linux 8 CPU cores/16GB Fast RAID10 MySQL InnoDB or PostgreSQL >10000

软件要求

Database management system
Software Supported versions Comments
MySQL/Percona 8.0.X Required if MySQL (or Percona) is used as Zabbix backend database. InnoDB engine is required. We recommend using the MariaDB Connector/C library for building server/proxy.
MariaDB 10.5.00-10.6.X InnoDB engine is required. We recommend using the MariaDB Connector/C library for building server/proxy.
Oracle 19c - 21c Required if Oracle is used as Zabbix backend database.
PostgreSQL 13.X Required if PostgreSQL is used as Zabbix backend database.
TimescaleDB for PostgreSQL 2.0.1-2.3 Required if TimescaleDB is used as Zabbix backend database. Make sure to install the distribution of TimescaleDB with the compression supported.
SQLite 3.3.5-3.34.X SQLite is only supported with Zabbix proxies. Required if SQLite is used as Zabbix proxy database.
Frontend

The minimum supported screen width for Zabbix frontend is 1200px.

Software Version Comments
Apache 1.3.12 or later
PHP 7.2.5 or later PHP 8.0 is not supported.
PHP extensions:
gd 2.0.28 or later PHP GD extension must support PNG images (–with-png-dir), JPEG (–with-jpeg-dir) images and FreeType 2 (–with-freetype-dir).
bcmath php-bcmath (–enable-bcmath)
ctype php-ctype (–enable-ctype)
libXML 2.6.15 or later php-xml, if provided as a separate package by the distributor.
xmlreader php-xmlreader, if provided as a separate package by the distributor.
xmlwriter php-xmlwriter, if provided as a separate package by the distributor.
session php-session, if provided as a separate package by the distributor.
sockets php-net-socket (–enable-sockets). Required for user script support.
mbstring php-mbstring (–enable-mbstring)
gettext php-gettext (–with-gettext). Required for translations to work.
ldap php-ldap. Required only if LDAP authentication is used in the frontend.
openssl php-openssl. Required only if SAML authentication is used in the frontend.
mysqli Required if MySQL is used as Zabbix backend database.
oci8 Required if Oracle is used as Zabbix backend database.
pgsql Required if PostgreSQL is used as Zabbix backend database.
Server

Mandatory requirements are needed always. Optional requirements are needed for the support of the specific function.

Requirement Status Description
libpcre Mandatory PCRE library is required for Perl Compatible Regular Expression (PCRE) support. The naming may differ depending on the GNU/Linux distribution, for example ‘libpcre3’ or ‘libpcre1’. PCRE v8.x and PCRE2 v10.x (from Zabbix 6.0.0) are supported.
libevent Required for bulk metric support and IPMI monitoring. Version 1.4 or higher. Note that for Zabbix proxy this requirement is optional; it is needed for IPMI monitoring support.
libpthread Required for mutex and read-write lock support.
zlib Required for compression support.
OpenIPMI Optional Required for IPMI support.
libssh2 or libssh Required for SSH checks. Version 1.0 or higher (libssh2); 0.6.0 or higher (libssh). libssh is supported since Zabbix 4.4.6.
fping Required for ICMP ping items.
libcurl Required for web monitoring, VMware monitoring, SMTP authentication, web.page.* Zabbix agent items, HTTP agent items and Elasticsearch (if used). Version 7.28.0 or higher is recommended. Libcurl version requirements: - SMTP authentication: version 7.20.0 or higher - Elasticsearch: version 7.28.0 or higher
libxml2 Required for VMware monitoring and XML XPath preprocessing.
net-snmp Required for SNMP support. Version 5.3.0 or higher.
GnuTLS, OpenSSL or LibreSSL Required when using encryption.
Agent
Requirement Status Description
libpcre Mandatory PCRE library is required for Perl Compatible Regular Expression (PCRE) support. The naming may differ depending on the GNU/Linux distribution, for example ‘libpcre3’ or ‘libpcre1’. PCRE v8.x and PCRE2 v10.x (from Zabbix 6.0.0) are supported.
GnuTLS, OpenSSL or LibreSSL Optional Required when using encryption. On Microsoft Windows systems OpenSSL 1.1.1 or later is required.
Agent 2
Requirement Status Description
libpcre Mandatory PCRE library is required for Perl Compatible Regular Expression (PCRE) support. The naming may differ depending on the GNU/Linux distribution, for example ‘libpcre3’ or ‘libpcre1’. PCRE v8.x and PCRE2 v10.x (from Zabbix 6.0.0) are supported.
OpenSSL Optional Required when using encryption. OpenSSL 1.0.1 or later is required on UNIX platforms. The OpenSSL library must have PSK support enabled. LibreSSL is not supported. On Microsoft Windows systems OpenSSL 1.1.1 or later is required.

环境

  • 系统:Rockey Linux 8.5
  • 数据库:MySQL 8.0.26

数据库

1
2
3
4
5
wget -O /etc/yum.repos.d/mysql80.repo https://repo.mysql.com//mysql80-community-release-el8-3.noarch.rpm
dnf clean all
dnf install mysql-server mysql mysql-devel
systemctl enable mysqld
systemctl start mysqld

修改root密码

1
2
3
4
5
mysql> ALTER user 'root'@'localhost' IDENTIFIED BY 'PASSWORD';
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

安装

1
2
3
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm
dnf clean all
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent2

创建初始数据库

1
2
3
4
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@'%' identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@'%';
mysql> quit;

导入初始架构和数据,系统将提示您输入新创建的密码。

1
zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

配置

为Zabbix server配置数据库

编辑配置文件 /etc/zabbix/zabbix_server.conf

1
DBPassword=password

为Zabbix前端配置PHP

编辑配置文件*/etc/nginx/conf.d/zabbix.conf*:

1
listen 80;

💡Tips:同时需要删除*/etc/nginx/nginx.conf*中的80端口相关配置,否则会打不开Zabbix前端。

启动Zabbix server和agent进程

启动Zabbix server和agent进程,并为它们设置开机自启:

1
2
systemctl restart zabbix-server zabbix-agent2 nginx php-fpm
systemctl enable zabbix-server zabbix-agent2 nginx php-fpm

配置前端

连接到新安装的Zabbix前端: http://server_ip_or_name

选择中文:

image-20220221141316981

必要条件检测(世界上最好的语言😁):

image-20220221141418705

配置DB连接:

image-20220221141509600

配置:

image-20220221141539096

安装完成,少年😀

image-20220221141557238

默认用户名密码:Admin/zabbix:

image-20220221141645145

进入一个和Zabbix 5.0版本差不多的界面:

image-20220221141725874

中文乱码解决

图表界面出现乱码:

image-20220221141836491

解决:

需要手动上传本地Windows的字体(如微软雅黑)到Zabbix服务器的*/usr/share/zabbix/assets/fonts/,通常Win10字体文件在C:\Windows\Fonts*路径下。

1
2
3
cd /usr/share/zabbix/assets/fonts
mv graphfont.ttf graphfont.ttf.backup
ln -s msyh.ttf graphfont.ttf

刷新一下图表,已显示中文:

image-20220221142121464