运维工具Zabbix学习 16.zabbix3升级到zabbix5

一、准备环境

  • CentOS系统若干
  • 安装Zabbix3 服务端
  • 已安装Zabbix3 客户端

二、整体流程

  1. 停止现有Zabbix 服务
  2. 备份数据库
  3. 匹配PHP版本
  4. 安装 Zabbix5
  5. 安装前端
  6. 修改zabbix_server.conf配置文件
  7. 启动服务
  8. 查看zabbix_server的日志观察升级数据库过程

三、具体流程

1. 停止现有zabbix

service zabbix-server stop
service zabbix-agent stop

2. 备份数据库

mysqldump -u root -p zabbix > zabbix.sql
# 如果出现错误要还原数据库则使用命令:
mysqldump -u root -p zabbix < zabbix.sql

3. 升级PHP到7.2

如果PHP版本低于7.2,则升级到7.2版本。

# 卸载旧版本
rpm -aq |grep php|xargs rpm -e --nodeps
# 更新yum源

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

yum clean all

yum list|grep php //查看可用的php包
yum -y install php72-php-gd php72-php-mysqlnd php72-php-ldap php72-php-bcmath php72-php-mbstring php72-php-xml php72-php php72-php-fpm
# sudo yum install rh-php72-php-fpm rh-php72-php-mysqlnd rh-php72-php-pecl rh-php72-php-pecl-apcu sclo-php72-php-pecl sclo-php72-php-pecl-mongodb sclo-php72-php-pecl-redis4 rh-php72-php-cli rh-php72-php-xml rh-php72-php-xmlrpc zip unzip rh-php72-php-zip rh-php72-php-mbstring rh-php72-php-gd rh-php72-php-intl rh-php72-php-pear

php72 --version

4. 安装zabbix5

yum remove zabbix-web-*  httpd -y
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
yum install zabbix-server-mysql zabbix-agent
systemctl stop httpd mariadb zabbix-server

5. 设置httpd

vim /etc/httpd/conf.d/zabbix.conf

注意其中的:

<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>

4. 设置允许前端资源

修改文件 /etc/yum.repos.d/zabbix.repo

[zabbix-frontend]

enabled=1

5. 安装前端资源

# 安装前端
yum install centos-release-scl
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
# 启动服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm mariadb
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm mariadb
# 查看版本号
zabbix_server --version

查看升级日志:

tail -200f /var/log/zabbix/zabbix_server.log
  • zabbix 路径:​​/etc/zabbx​
  • apache logs 路径:​​/etc/httpd/logs​
  • zabbix 日志路径:​​/var/log/zabbix​
  • 前端路径:​​/usr/share/zabbix​

问题处理:导入数据时提示列的长度不够。

$mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 108444
Server version: 10.2.22-MariaDB-log MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> use zabbix;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [zabbix]> ALTER TABLE `hosts` row_format = dynamic;

Query OK, 0 rows affected (1.00 sec)
Records: 0 Duplicates: 0 Warnings: 0

MariaDB [zabbix]> ALTER TABLE `items` row_format = dynamic;

Query OK, 0 rows affected (1.27 sec)
Records: 0 Duplicates: 0 Warnings: 0

如果更改了数据库密码,注意要在以下两个文件都设置:

#vi /etc/zabbix/zabbix_server.conf
BPassword=12345
#vi /etc/zabbix/web/zabbix.conf.php
DB['PASSWORD'] = '12345';
#systemctl restart zabbix-server

如果提示用户密码错误或被锁定,可以在数据库重置用户密码:

use zabbix;
select * from users;
update users set passwd=md5('zabbix') where userid=1;
flush privileges;

四、升级zabbix-agent

1. 查看现有版本和运行状态

zabbix_agentd --version
service zabbix-agent status

2. 关闭服务

service zabbix-agent stop

systemctl stop zabbix-agent
# 删除旧版本
yum remove zabbix* -y

3. 升级

#添加源

rpm -Uvh https://repo.zabbix.com/zabbix/5.2/rhel/7/x86_64/zabbix-release-5.2-1.el7.noarch.rpm
yum clean all
yum install zabbix-agent -y
zabbix_agentd --version
service zabbix-agent start
service zabbix-agent status

4. 如果 server上没有显示该主机,则手工重新添加

1. 创建主机

在服务端通过日志 ​​/var/log/zabbix/zabbix_server.log​​​ 可以看到之前的主机名,新增hosts时与原名称保持一致。
运维工具Zabbix学习 16.zabbix3升级到zabbix5_mysql

2. 确认配置文件

vim /etc/zabbix/zabbix_agentd.conf
ServerActive=127.0.0.1,zabbix_server的ip

systemctl restart zabbix-agent

五、 zabbix-server 升级后添加java监控

yum install zabbix-java-gateway.x86_64
systemctl start zabbix-java-gateway
vim /etc/zabbix/zabbix_server.conf
# 核对以下设置:
JavaGateway=192.168.1.4
JavaGatewayPort=10052
StartJavaPollers=5
vim /etc/zabbix/zabbix_java_gateway.conf
# 核对以下设置
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
START_POLLERS=5

stystemctl restart zabbix-server.service

在 hosts 里的interface可以增加jmx监控项了。
运维工具Zabbix学习 16.zabbix3升级到zabbix5_数据库_02