文章链接
Zabbix 5.0 LTS 新增性能
新版本附带了可用性,安全性和完整性方面的重大改良列表。Zabbix 团队遵循的次要策略是使 Zabbix 尽可能可用。Zabbix 是一种开源,收费的监督解决方案,当初能够在外部和云中部署。在 RedHat / IBM,SuSE,Ubuntu 的最新版本的平台,容器和 Linux 发行版中可用。当初,一键式 Zabbix 部署也能够在 Azure,AWS,Google Cloud,IBM / RedHat Cloud,Oracle 和 Digital Ocean 上应用。当初,在 Red Hat 和 Azure 市场上提供 Zabbix 技术支持服务。
此外,Zabbix 监督工具还提供了与 Messenger,票务和警报系统的大量现成集成。新版本扩大了能够轻松监控的受反对服务和应用程序的列表。
- 自动化和发现:新的 Zabbix 版本具备改良的自动化性能。新版本减少了主动发现硬件组件,与 Windows 相干的资源以及 Java 度量的高级发现的性能。
- 可扩展性:Zabbix UI 曾经过优化,能够简化对数百万个设施的监督。
- 新的 Zabbix 监督代理程序具备“官网反对”状态。新的可扩大代理为最刻薄的客户和简单的用例提供了高级性能。它基于插件体系结构,具备应用各种办法和技术收集度量规范数据的能力。咱们置信它是市场上最先进的监控代理。
- 安全性方面的重大改良:新的改良确保所有 Zabbix 组件以平安的形式进行通信,并且还应用平安协定进行出站通信,而不会以任何形式影响性能。对于在高度敏感的环境中应用 Zabbix 的用户而言,可配置的明码以及为度量定义黑名单和白名单的能力至关重要。
- TimescaleDB 的压缩:工夫序列数据压缩有助于进步性能和效率,同时升高经营老本。
-
可用性改良:新版本针对宽屏进行了优化,除了 Zabbix UI 的其余加强性能之外,还引入了对第三方 UI 模块的反对。
Zabbix 5.0 是具备 5 年官网反对的 LTS(长期反对)版本。它联合了翻新和稳定性,并包含通过工夫测验的性能,这些性能已在 Zabbix 4.2 和 4.4 的非 LTS 版本中引入,这使其成为大型企业环境的现实抉择。硬件配置需要
参考 zabbix 5.0 中文手册
环境 | 平台 | CPU/ 内存 | 数据库 | 硬盘 | 监控主机数 |
---|---|---|---|---|---|
小型 | centOS | 2CPU/1GB | MySQL、InnoDB | 一般 | 100 |
中型 | centOS | 2CPU/2GB | MySQL、InnoDB | 一般 | 500 |
大型 | Red HatEnterpirse Linux | 4CPU/8GB | MySQL、InnoDB 或 PostgreSQL | RAID 10 或 SSD | 大于 1000 |
超大型 | Red HatEnterpirse Linux | 8CPU/16GB | MySQL、InnoDB 或 PostgreSQL | RAID 10 或 SSD | 大于 10000 |
前端软件需要
参考 zabbix 5.0 中文手册
Zabbix 前端须要应用下列软件:
软件 | 版本 | 备注 |
---|---|---|
Apache | 1.3.12 或以上 | |
PHP | 5.4.0 或以上 |
PHP 扩大库:
软件 | 版本 | 备注 |
---|---|---|
gd | 2.0 or later | PHP GD 扩大库必须反对 PNG 图像(–with-png-dir)、JPEG 图像 (–with-jpeg-dir) 和 FreeType 2 (–with-freetype-dir). |
bcmath | php-bcmath (–enable-bcmath) | |
ctype | php-ctype (–enable-ctype) | |
libXML | 2.6.15 或以上 | php-xml or php5-dom,如果发布者提供独立的部署包。 |
xmlreader | php-xmlreader,如果发布者提供独立的部署包。 | |
xmlwriter | php-xmlwriter,如果发布者提供独立的部署包。 | |
session | php-session,如果发布者提供独立的部署包。 | |
sockets | php-net-socket (–enable-sockets)。用户脚本反对所须要的组件。 | |
mbstring | php-mbstring (–enable-mbstring) | |
gettext | php-gettext (–with-gettext)。用于多语言翻译反对。 | |
ldap | php-ldap。只有在前端应用 LDAP 认证时才须要。 | |
ibm_db2 | 应用 IBM DB2 作为 Zabbix 后端数据库所须要的组件。 | |
mysqli | 应用 MySQL 作为 Zabbix 后端数据库所须要的组件。 | |
oci8 | 应用 Oracle 作为 Zabbix 后端数据库所须要的组件。 | |
pgsql | 应用 PostgreSQL 作为 Zabbix 后端数据库所须要的组件。 |
环境筹备
CentOS Linux release 7.9.2009 (Core)
nginx 1.16.1
zabbix-server 5.0.14
zabbix-agent 5.0.14
MariaDB 5.5.68
PHP 7.4.22
敞开防火墙及 selinux
systemctl stop firewalld && systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
批改阿里云 yum 源
参考链接
# 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 下载新的 CentOS-Base.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 增加 EPEL
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# 清理缓存并生成新的缓存
yum clean all
yum makecache
PHP 7.4 装置配置
增加源
yum install epel-release -y
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
装置 PHP
yum --enablerepo=remi install php74-php -y
装置你所须要 php 扩大模块
yum --disablerepo="*" --enablerepo="centos-sclo-rh" install rh-php72-php-gd rh-php72-php-bcmath rh-php72-php-mbstring rh-php72-php-mysqlnd rh-php72-php-xml rh-nginx116-nginx rh-php72 rh-php72-php-fpm rh-php72-php-ldap -y
装置其余依赖
装置 zabbix 报错,提醒 Requires: libiksemel.so.3()(64bit),该文件为内核链接文件,无奈绕过只有解决了这个依赖才可能持续装置,解决的办法为缺什么补什么,它要这个就给它。
# 提醒 须要:Requires: libiksemel.so.3()(64bit)
wget http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64//iksemel-1.4-6.sdl7.x86_64.rpm
yum install iksemel-1.4-6.sdl7.x86_64.rpm -y
# 提醒 须要:libwebp.so.4()(64bit)
wget http://vault.centos.org/7.9.2009/os/Source/SPackages/libwebp-0.3.0-7.el7.src.rpm
yum install libwebp -y
# 提醒 须要:libjpeg.so.62()(64bit)
wget http://vault.centos.org/7.9.2009/os/Source/SPackages/libjpeg-turbo-1.2.90-8.el7.src.rpm
yum install libjpeg-turbo -y
# 提醒 须要:libXpm.so.4()(64bit)
wget http://vault.centos.org/7.9.2009/os/Source/SPackages/libXpm-3.5.12-1.el7.src.rpm
yum install libXpm -y
# 提醒 须要:gd
wget http://vault.centos.org/7.9.2009/updates/Source/SPackages/gd-2.0.35-27.el7_9.src.rpm
yum install gd -y
批改配置文件
sed -i "s#max_execution_time = 30#max_execution_time = 600#g" /etc/php.ini
sed -i "s#max_input_time = 60#max_input_time = 600#g" /etc/php.ini
sed -i "s#memory_limit = 128M#memory_limit = 256M#g" /etc/php.ini
sed -i "s#post_max_size = 8M#post_max_size = 32M#g" /etc/php.ini
sed -i "s#upload_max_filesize = 2M#upload_max_filesize = 16M#g" /etc/php.ini
sed -i "s/;date.timezone =/date.timezone = Asia\/Shanghai/g" /etc/php.ini
运行并查看版本,重启命令,增加主动启动,链接 php 文件
# 运行并查看版本
php74 -v
#重启命令 php-fpm
systemctl restart php74-php-fpm
#增加主动启动
systemctl enable php74-php-fpm
#查看 php7.4 的装置门路
whereis php
#链接 php 文件
ln -s /opt/remi/php74/root/usr/bin/php /usr/bin/php
装置其余依赖
装置 zabbix 报错,提醒 Requires: libiksemel.so.3()(64bit),该文件为内核链接文件,无奈绕过只有解决了这个依赖才可能持续装置,解决的办法为缺什么补什么,它要这个就给它。
# 提醒 须要:Requires: libiksemel.so.3()(64bit)
wget http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64//iksemel-1.4-6.sdl7.x86_64.rpm
yum install iksemel-1.4-6.sdl7.x86_64.rpm -y
# 提醒 须要:libwebp.so.4()(64bit)
wget http://vault.centos.org/7.9.2009/os/Source/SPackages/libwebp-0.3.0-7.el7.src.rpm
yum install libwebp -y
# 提醒 须要:libjpeg.so.62()(64bit)
wget http://vault.centos.org/7.9.2009/os/Source/SPackages/libjpeg-turbo-1.2.90-8.el7.src.rpm
yum install libjpeg-turbo -y
# 提醒 须要:libXpm.so.4()(64bit)
wget http://vault.centos.org/7.9.2009/os/Source/SPackages/libXpm-3.5.12-1.el7.src.rpm
yum install libXpm -y
# 提醒 须要:gd
wget http://vault.centos.org/7.9.2009/updates/Source/SPackages/gd-2.0.35-27.el7_9.src.rpm
yum install gd -y
zabbix 服务装置
装置 Zabbix 存储库
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
装置 Zabbix 服务器和代理
yum install zabbix-server-mysql zabbix-agent -y
装置 zabbix 前端
yum -y install yum-utils
yum-config-manager --enable rhel-server-rhscl-7-rpms -y
编辑配置文件
编辑配置文件 /etc/yum.repos.d/zabbix.repo 并启用 Zabbix 前端存储库
vi /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
...
enabled=1
...
装置前端所需软件
yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl -y
数据库装置配置
装置数据库
yum install -y mariadb-server mariadb
启动服务
systemctl start mariadb
设置服务开启自启动
systemctl enable mariadb
登录数据库
mysql -uroot -p
批改默认明码
mysql> SET PASSWORD = PASSWORD('cnsre.cn');
#cnsre.cn 是你的新密码
如何解决 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 呢?
# 批改 validate_password_policy 参数的值
set global validate_password_policy=0;
# 再批改明码的长度
set global validate_password_length=1;
# 再次执行批改明码就能够了
ALTER USER 'root'@'localhost' IDENTIFIED BY 'cnsre.cn';
# 容许 root 远程登陆
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'cnsre.cn' WITH GRANT OPTION;
创立初始数据库
在数据库主机上运行以下代码
# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> flush privileges;
mysql> quit;
导入模板数据
导入初始架构和数据
办法 1
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uroot -p
办法 2
# 切换到 create.sql.gz 目录 我的目录如下
cd /usr/share/doc/zabbix-server-mysql-5.0.14
gzip -d create.sql.gz
mysql -uroot -p
mysql> use zabbix;
mysql> source /usr/usr/share/doc/zabbix-server-mysql-5.0.14/create.sql
配置 Zabbix-server
mv /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak
vim /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
CacheSize=1024M
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
配置 zabbix-agent
mv /etc/zabbix/zabbix_agent.conf /etc/zabbix/zabbix_agent.conf.bak
vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=
ListenPort=10050
ServerActive=
Hostname=
Include=/etc/zabbix/zabbix_agentd.d/
nginx 装置配置
为 Zabbix 前端配置 PHP
编辑文件 /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
,勾销正文和设置 listen
和 server_name
指令。
# listen 80;
# server_name example.com;
编辑文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
,将 nginx
增加到 listen.acl_users
指令。
listen.acl_users = apache,nginx
而后勾销正文并为设置正确的时区。
php_value[date.timezone] = Asia/Shanghai
启动所有服务
systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
systemctl status zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
查看端口
[root@localhost ~]# netstat -pntl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 18862/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 968/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1258/master
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 18816/zabbix_agentd
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 18813/php-fpm: mast
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 18700/mysqld
tcp6 0 0 :::80 :::* LISTEN 18862/nginx: master
tcp6 0 0 :::22 :::* LISTEN 968/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1258/master
tcp6 0 0 :::10050 :::* LISTEN 18816/zabbix_agentd
拜访配置 zabbix 前端
连贯到新装置的 Zabbix 前端:http://server_ip
⚠️ 如果关上页面拜访不到 zabbix
页面,将 /etc/opt/rh/rh-nginx116/nginx/nginx.conf
配置文件中的 server
模块正文掉重启即可
维 | 自动化运维 | 云计算 | 运维监控](https://gitee.com/xsre/Images…)
默认的用户 Admin/zabbix
好了,到这里,咱们就曾经实现了 Zabbix 5.0 LTS
的装置, 快去体验吧。
文章链接