1. 爲什麼要升級Zabbix版本
① 提高性能;② 增加新功能;③ 解決模板不兼容等問題。
2. 安裝Zabbix2.2
新增10.0.0.4,在這臺機器上安裝Zabbix2.2以便升級到Zabbix4.0。Zabbix2.2下載地址:https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/2.2/rhel/7/x86_64/
# 查看系統已安裝的與Zabbix相關的安裝文件
[root@localhost ~]# rpm -qa|grep zabbix
# 刪除所有與Zabbix相關的安裝文件
[root@localhost ~]# yum remove zabbix-agent.x86_64
# 刪除Zabbix配置文件
[root@localhost ~]# rm -rf /etc/zabbix
# 安裝Zabbix源
[root@localhost ~]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/2.2/rhel/7/x86_64/zabbix-release-2.2-1.el7.noarch.rpm
# 使用清華源加速下載
[root@localhost ~]# vim /etc/yum.repos.d/zabbix.repo
%s#repo.zabbix.com#mirror.tuna.tsinghua.edu.cn/zabbix#g
# 安裝Zabbix主要的安裝文件zabbix-server-mysql和zabbix-web-mysql
[root@localhost ~]# yum install zabbix-server-mysql zabbix-web-mysql -y
# 設置Zabbix開機自啓
[root@localhost ~]# systemctl enable zabbix-server
# 安裝MySQL數據庫
[root@localhost ~]# yum install mariadb-server -y
# 設置MySQL開機自啓
[root@localhost ~]# systemctl enable mariadb
[root@localhost ~]# systemctl is-enabled mariadb
enabled
# 初始化數據庫。一開始沒密碼直接回車,不設置密碼no,其它爲yes
[root@localhost ~]# mysql_secure_installation
# 創建數據庫(charset utf8等價於character set utf8)
MariaDB [(none)]> create database zabbix charset utf8 collate utf8_bin;
# 創建授權。授權命令執行之後會創建zabbix用戶
MariaDB [(none)]> grant all on zabbix.* to zabbix@'%';
# 如果需要遠程連接mysql,則需要關閉firewalld
[root@localhost ~]# systemctl stop firewalld
# 設置firewall開機不自啓動
[root@localhost ~]# systemctl disable firewalld
# 查找初始數據sql文件
[root@localhost ~]# rpm -ql zabbix-server-mysql
/usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-2.2.23
/usr/share/doc/zabbix-server-mysql-2.2.23/create
/usr/share/doc/zabbix-server-mysql-2.2.23/create/data.sql
/usr/share/doc/zabbix-server-mysql-2.2.23/create/images.sql
/usr/share/doc/zabbix-server-mysql-2.2.23/create/schema.sql
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches/1.6
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches/1.6/mysql
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches/1.6/mysql/patch.sql
...
# 跳轉到Zabbix初始數據目錄下
[root@localhost ~]# cd /usr/share/doc/zabbix-server-mysql-2.2.23/create/
# 查看數據庫文件
[root@localhost create]# ls
data.sql images.sql schema.sql
# 導入zabbix初始數據到數據庫,注意順序
[root@localhost create]# mysql -uroot -p zabbix < schema.sql
[root@localhost create]# mysql -uroot -p zabbix < images.sql
[root@localhost create]# mysql -uroot -p zabbix < data.sql
[root@localhost create]# vim /etc/zabbix/zabbix_server.conf
# 需要使Zabbix連接MySQL,所以也要修改DBHost、DBUser、DBPassword的值。我這裏zabbix數據庫用戶沒有設置密碼
[root@localhost create]# vim /etc/zabbix/zabbix_server.conf
# 過濾
[root@localhost create]# grep -Ev '^$|#' /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=
DBSocket=/var/lib/mysql/mysql.sock
SNMPTrapperFile=/var/log/snmptt/snmptt.log
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
# 啓動Zabbix
[root@localhost create]# systemctl start zabbix-server
# 修改時區
[root@localhost create]# vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
# 啓動httpd
[root@localhost create]# systemctl start httpd
至此Zabbix 2.2安裝完成。可以登錄Web界面:
連接MySQL數據庫,這裏只填了用戶名沒有填寫密碼是因爲我這裏的數據庫用戶zabbix沒有設置密碼:
默認,下一步:
配置完成後會生成 /etc/zabbix/web/zabbix.conf.php文件,如果要 把數據庫從zabbix server中分離,遷移到單獨的機器中
,就需要修改這個文件中的數據庫ip地址:
用戶名是Admin或admin都可以,但密碼必須是zabbix。
修改爲中文編碼:
3. Zabbix 2.2升級到Zabbix 4.0
# 下載4.0第二rpm包
[root@localhost ~]# wget -ivh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
# 升級Zabbix安裝源
[root@localhost ~]# rpm -Uvh zabbix-release-4.0-2.el7.noarch.rpm
警告:zabbix-release-4.0-2.el7.noarch.rpm: 頭V4 RSA/SHA512 Signature, 密鑰 ID a14fe591: NOKEY
準備中... ################################# [100%]
正在升級/安裝...
1:zabbix-release-4.0-2.el7 ################################# [ 50%]
正在清理/刪除...
2:zabbix-release-2.2-1.el7 ################################# [100%]
# 升級安裝源後,zabbix.repo中的內容會被替換成4.0的源
[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo CentOS-x86_64-kernel.repo zabbix.repo
# 使用清華源加速下載
[root@localhost ~]# vim /etc/yum.repos.d/zabbix.repo
%s#repo.zabbix.com#mirror.tuna.tsinghua.edu.cn/zabbix#g
# 爲防止升級失敗,需要備份數據庫
[root@localhost ~]# mysqldump -B zabbix > zabbix.sql
# 開始升級
[root@localhost ~]# yum install zabbix-server-mysql zabbix-web-mysql -y
# 安裝新版本時zabbix會停止運行,可以查看運行狀態
[root@localhost ~]# systemctl status zabbix-server
● zabbix-server.service - Zabbix Server
Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; disabled; vendor preset: disabled)
Active: inactive (dead)
# 啓動新版Zabbix
[root@localhost ~]# systemctl start zabbix-server
# 可以新開一個終端查看新版Zabbix的運行日誌,可以看到Zabbix數據庫正在升級
[root@localhost ~]# tailf /var/log/zabbix/zabbix_server.log
...
49455:20200602:040939.578 current database version (mandatory/optional): D/02020001
49455:20200602:040939.578 required mandatory version: 04000000
49455:20200602:040939.578 optional patches were found
...
49455:20200602:040939.660 completed 2% of database upgrade
49455:20200602:040939.694 completed 3% of database upgrade
49455:20200602:040939.772 completed 4% of database upgrade
49455:20200602:040939.786 completed 5% of database upgrade
49455:20200602:040939.801 completed 6% of database upgrade
49455:20200602:040939.808 completed 7% of database upgrade
49455:20200602:040939.816 completed 8% of database upgrade
49455:20200602:040939.820 completed 9% of database upgrade
...
啓動Zabbix時會 讀配置文件/etc/zabbix/zabbix_server.conf
,配置文件有數據庫的連接地址。
升級數據庫就是把Zabbix 2版本.2的Zabbix數據庫升級爲Zabbix 4.4版本的數據庫。升級之後纔會Zabbix纔會啓動
。升級之後,如果在2.2版本中創建了模板,新版本中模板還是存在的,因爲數據沒有被刪除。升級之後,發現頁面發生了改變,沒錯這就是4.4的版本: