运维工具Zabbix学习 16.zabbix3升级到zabbix5
- 1. 停止现有zabbix
- 2. 备份数据库
- 3. 升级PHP到7.2
- 4. 安装zabbix5
- 5. 设置httpd
- 4. 设置允许前端资源
- 5. 安装前端资源
一、准备环境
- CentOS系统若干
- 安装Zabbix3 服务端
- 已安装Zabbix3 客户端
二、整体流程
- 停止现有Zabbix 服务
- 备份数据库
- 匹配PHP版本
- 安装 Zabbix5
- 安装前端
- 修改zabbix_server.conf配置文件
- 启动服务
- 查看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时与原名称保持一致。
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监控项了。