背景

刚录制完Zabbix4.4 +Grafana企业监控实战,3个月之后Zabbix 就推出新版本 5.0 LTS,这个版本是长期支持版本,未来几年都会流行。所以我这边也补充课程并讲解下。

当然Zabbix 4.4 也是承前启后的版本,因为Zabbix4.4是4.x的最后一个版本,包含了大部分5.0的功能。

官方下载地址: https://www.zabbix.com/cn/download

Zabbix 5.0 LTS新特性:
(1) 5.0 LTS的发布时间为 2020年 4月

(2)Zabbix Agent 使用 golang 语言编写,可方便编写各种插件,灵活配置监控。(当然4.4 也是Golang编写,4.4之前是C编写)

(3)PHP的版本需要7.2.x或者以上

(4)Mysql需要5.6或者以上

安装方法

Linux的Zabbix的包安装方法大致可以有如下几种:

(1)服务端和客户端都是通过源码包编译安装(官网有说明)

(2)服务端和客户端都是通过yum进行安装(官网有说明)

(3)服务器用源码包编译安装,客户端通过yum的RPM包进行安装。(官网虽然没有说明,但是这种方案是可行,我每次都是这样装的,不会存在性能问题)

Zabbix 5.0LTS 部署

我们采用的服务器平台如下:

Zabbix 5.0 LTS 源码包编译部署以及新特性介绍_第1张图片

现在来开始我们的部署,为了简单起见,我们采用上面的方案3的方式,源码包编译的方式进行部署:

yum -y install deltarpm
准备Mysql数据库

数据库请自行安装好,至少要采用Mysql的5.6版本或者以上,这个zabbix 5.0的安装方法和Zabbix 4.4差不多,至少zabbix 5.0 需要PHP的版本是7.2.x。

# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '123456';
mysql> quit;

以上LNMP环境的安装可参阅我的另外的一篇博文: https://blog.csdn.net/knight_zhou/article/details/103872767

服务端安装:
下载最新的源码包 https://www.zabbix.com/download_sources

安装依赖

Shell>yum install mysql-devel libcurl libevent libevent-devel fping curl-devel libxml2  libxml2-devel 

如果要启用snmp的话

Shell>yum install mysql-devel libcurl libevent libevent-devel fping curl-devel libxml2  libxml2-devel snmpd net-snmp-devel net-snmp

Shell>groupadd --system zabbix
Shell>useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitor" zabbix
Shell>cd /opt/tools/zabbix-5.0.0
Shell>./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql --with-libcurl --with-libxml2 --with-net-snmp
Shell> make && make install

启动脚本:

/opt/tools/zabbix-5.0/misc/init.d   // 启动脚本可以在该目录下拷贝,有不同平台的启动脚本
>cp /opt/tools/zabbix-5.0.0/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
>cp /opt/tools/zabbix-5.0.0/misc/init.d/fedora/core/zabbix_server /etc/init.d/

修改脚本的 BASEDIR 即可

BASEDIR=/usr/local/zabbix

修改服务端配置文件:

LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix_user
DBPassword=123456
Timeout=10
LogSlowQueries=3000
CacheSize=256M
TrendCacheSize=256M
ValueCacheSize=256M
StartTrappers=30
StartPollers=10

导入数据库的表结构:

mysql> source /opt/tools/zabbix-5.0.0/database/mysql/schema.sql
mysql> source /opt/tools/zabbix-5.0.0/database/mysql/images.sql
mysql> source /opt/tools/zabbix-5.0.0/database/mysql/data.sql

服务端管理界面安装 :

cd /opt/tools/zabbix-5.0.0
cp -rp ui/* /home/data/webroot/zabbix-web/    // 放到lnmp环境的网站根目录下,5.0的前端文件改名成ui了,4.x是front文件夹
通过浏览器访问下一步即可,过程中需要调整/etc/php.ini参数,根据提示调整参数即可

安装完成之后默认的账号密码为 Admin/zabbix

php.ini的参数修改如下:

post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai

最终完成:
Zabbix 5.0 LTS 源码包编译部署以及新特性介绍_第2张图片

Zabbix 5.0 LTS 源码包编译部署以及新特性介绍_第3张图片

启动服务端 :


 /etc/init.d/zabbix_agentd start
 /etc/init.d/zabbix_server start

客户端安装

Shell>yum install mysql-devel libcurl libevent libevent-devel fping  # 安装依赖

Shell>groupadd --system zabbix
Shell>useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitor" zabbix  
Shell>cd /opt/tools/zabbix-5.0.0
Shell>./configure --prefix=/usr/local/zabbix/ --enable-agent --with-mysql --with-libcurl --with-libxml2
Shell> make && make install
>cp /opt/tools/zabbix-5.0.0/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
> /etc/init.d/zabbix_server start

客户端的配置文件如下:

vim /usr/local/zabbix/etc/zabbix_agentd.conf

PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1,172.20.128.31
ServerActive=127.0.0.1,172.20.128.31
Hostname=vm201     
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

登录web界面的默认账号密码:

Admin/zabbix
最终看看效果图
Zabbix 5.0 LTS 源码包编译部署以及新特性介绍_第4张图片

总结: 

(1)因为Zabbix的4.4的下一个版本就是5.0,所以在功能上差异不大,只是5.0 的UI界面变了,不过具体的UI界面对应的功能差不多。

(2 )功能调试:

#如果启动脚本启动不成功(不管是服务器端还是客户端),就前台启动一下看报错什么
/etc/init.d/zabbix_agentd

#前台启动 
/usr/local/zabbix/sbin/zabbix_agentd

#或者看日志文件
/tmp/zabbix_agentd.log