zabbix版本替换升级
前言:
原环境运行在编译环境下的LNMP中,原版本也为编译安装,现尝试升级版本,这里选择移除原版本安装新版本的方式,当然还有其他方法,这里不进行尝试
一、备份准备
- 查看运行状态,并停止服务,做好备份
## 查看系统版本号
[root@muban ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
## 查看版本号
[root@muban ~]# zabbix_server -V
Zabbix server v2.2.6 (revision 48483) (27 August 2014)
Compilation time: May 7 2020 10:43:45
## 服务运行中
[root@muban ~]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1452/php-fpm: maste
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1286/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1500/master
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 1748/zabbix_agentd
tcp 0 0 127.0.0.1:10051 0.0.0.0:* LISTEN 1755/zabbix_server
tcp6 0 0 :::3306 :::* LISTEN 1460/mysqld
tcp6 0 0 :::22 :::* LISTEN 1286/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1500/master
停掉服务
service zabbix_server stop
service zabbix_agentd stop
自行做好备份方案
mkdir /backup
二、移除原版本
由于原版本为编译安装,首先找到编译安装的目录
find / -name zabbix
/etc/selinux/targeted/active/modules/100/zabbix
/var/spool/mail/zabbix
/usr/local/src/zabbix-4.0.5/src/zabbix_java/src/com/zabbix
/usr/local/nginx/html/zabbix
/usr/local/zabbix
/usr/local/zabbix/share/zabbix
/home/zabbix
/backup/zabbix
mv /data/mysql/zabbix/ /backup/
rm -rf /usr/local/nginx/html/zabbix
rm -rf /usr/local/src/zabbix-2.2.6
rm -rf /usr/local/zabbix
三、安装新版本
- 编译安装
1.下载源码包到指定位置
zabbix-4.0.5.tar.gz
2.解压并编译
tar zxvf zabbix-4.0.5.tar.gz
cd zabbix-4.0.5/
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2 --enable-proxy
make && make install
完成后查看版本:
[root@test src]# zabbix_server --version
zabbix_server (Zabbix) 4.0.5
Revision 90164 25 February 2019, compilation time: May 8 2020 15:37:22
Copyright (C) 2019 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law
这里会报错缺少一个依赖,解决办法直接yum安装依赖
3.添加环境变量
vim /etc/profile
#加入内容
export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/
完成后执行更新
source /etc/profile
4.创建zabbix库,授权zabbix用户
这里由于使用原编译环境的mysql,内已存在zabbix库和用户,为保证实验不冲突,所以重新建一个新库和账号
进入数据库创建库与用户并授权
>:create database newzabbix character set utf8 collate utf8_bin;
>:grant all privileges on newzabbix.* to newzabbix@localhost identified by 'xxx';
导入zabbix表结构和初始数据
mysql -unewzabbix -pxxx -hlocalhost newzabbix < /usr/local/src/zabbix-4.0.5/database/mysql/schema.sql
mysql -unewzabbix -pxxx -hlocalhost newzabbix < /usr/local/src/zabbix-4.0.5/database/mysql/images.sql
mysql -unewzabbix -pxxx -hlocalhost newzabbix < /usr/local/src/zabbix-4.0.5/database/mysql/data.sql
进入newzabbix库查看
Database changed
mysql> show tables;
+----------------------------+
| Tables_in_newzabbix |
+----------------------------+
| acknowledges |
| actions |
| alerts |
| application_discovery |
| application_prototype |
| application_template |
| applications |
| auditlog |
5.修改zabbix配置文件,使其能够连上数据库
vim /usr/local/zabbix/etc/zabbix_server.conf
主要修改内容:
#按需填写
LogFile=/tmp/zabbix_server.log
DBHost=127.0.0.1
DBName=newzabbix
DBUser=newzabbix
DBPassword=xxx
DBPort=3306
Timeout=30
DBSocket=/tmp/mysql.sock
AlertScriptsPath=/usr/local/zabbix/alertscripts
ExternalScripts=/usr/local/zabbix/externalscripts
LogSlowQueries=3000
启动zabbix-server并设置为开机自启动
zabbix-server
配置WEB
mkdir /usr/local/nginx/html/zabbix
cp -a /usr/local/src/zabbix-4.0.5/frontends/php/* /usr/local/nginx/html/zabbix
进入web界面http://IP/zabbix
出现如下报错:
解决办法
进入php源码目录
cd /usr/local/src/php-5.5.14/ext/ldap/
[root@izhp3bqkvqo3w4odl4ie0jz ldap]# ls
config.m4 config.w32 CREDITS ldap.c ldap.dsp ldap.mak LDAP_Win32_HOWTO.txt php_ldap.h tests
/usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20121113
Zend Module Api No: 20121212
Zend Extension Api No: 220121212
重新编译安装
./configure --with-php-config=/usr/local/php/bin/php-config --with-ldap && make && make install
出现报错:configure: error: Cannot find ldap.h
如出现其他报错参考解决办法
cp -frp /usr/lib64/libldap* /usr/lib/
重新编译
ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/
ldap.so opcache.a opcache.so
按要求填写用户名及密码
升级完成!
image.png