zabbix 5.0 版本於 5 月 11 日正式發布,是最新的 LTS(長期支持)版本,5.0 帶來很多功能和特性,后面會陸續推出文章介紹,下面主要介紹下 5.0 版本的安裝,目前該LTS版本最新版本號為5.0.5。
環境要求
5.0 版本對基礎環境的要求有大的變化,最大的就是對 php 版本的要求,最低要求 7.2.0 版本,對 php 擴展組件版本也有要求,詳見官網文檔https://www.zabbix.com/documentation/current/manual/installation/requirements
YUM 安裝
基本環境
操作系統 |
安裝方式 |
CentOS Linux release 7.8.2003 (Core) x86_64 |
最小化安裝 |
安裝好操作系統后,關閉防火牆和 selinux 並重啟
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config systemctl disable --now firewalld reboot
安裝 zabbix rpm 源,鑒於國內網絡情況,使用阿里雲 zabbix 源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo yum clean all
安裝 zabbix server 和 agent
yum install zabbix-server-mysql zabbix-agent -y
安裝 Software Collections,便於后續安裝高版本的 php,默認 yum 安裝的 php 版本為 5.4 過低
yum install centos-release-scl -y
啟用 zabbix 前端源,修改/etc/yum.repos.d/zabbix.repo,將[zabbix-frontend]下的 enabled 改為 1
enabled=1
安裝 zabbix 前端和相關環境
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
由於使用 yum 安裝 zabbix,不自動依賴安裝數據庫,因此需要手動安裝數據庫,這里使用 yum 安裝 centos7 默認的 mariadb 數據庫
yum install mariadb-server -y
啟動數據庫,並配置開機自動啟動
systemctl enable --now mariadb
使用以下命令初始化 mariadb 並配置 root 密碼
mysql_secure_installation
使用 root 用戶進入 mysql,並建立 zabbix 數據庫,注意數據庫編碼
mysql -uroot -ppassword create database zabbix character set utf8 collate utf8_bin; create user zabbix@’%’ identified by 'password'; grant all privileges on zabbix.* to zabbix@’%’; quit;
使用以下命令導入 zabbix 數據庫,zabbix 數據庫用戶為 zabbix,密碼為 password
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
修改 zabbix server 配置文件/etc/zabbix/zabbix_server.conf 里的數據庫密碼
DBPassword=password
修改 zabbix 的 php 配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 里的時區
php_value[date.timezone] = Asia/Shanghai
啟動相關服務,並配置開機自動啟動
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
使用瀏覽器訪問http://ip/zabbix 即可訪問 zabbix 的 web 頁面
編譯安裝
基礎環境配置
鑒於 5.0 對 php 等組件版本的要求,編譯安裝前建議參考版本,使用對應的版本進行安裝,lnmp 環境采用 dnf 方式安裝,使用編譯安裝 zabbix 基本環境
操作系統 |
安裝方式 |
CentOS Linux release 8.1.1911 (Core) x86_64 |
最小化安裝 |
安裝好操作系統后,關閉防火牆和 selinux 並重啟
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config systemctl disable --now firewalld reboot
使用 dnf 安裝 lnmp 等基礎環境包
dnf install httpd php php-gd php-ldap php-mysqlnd php-json php-bcmath php-mbstring php-xml mysql mysql-server mysql-devel libevent-devel pcre-devel gcc gcc-c++ make libcurl-devel curl-* net-snmp* libxml2-* wget tar -y useradd zabbix
啟動相關組件並配置開機啟動
systemctl enable --now httpd mysqld php-fpm
安裝配置
安裝好啟動 http,mysql 等服務,並使用 mysql_secure_installation 命令初始化 mysql 下載 zabbix5.0 源碼,解壓並編譯
cd /opt wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.5.tar.gz tar zxvf zabbix-5.0.5.tar.gz cd zabbix-5.0.5 ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent \ --with-mysql --with-net-snmp --with-libcurl --with-libxml2 make make install
使用 mysql 的 root 用戶登錄 mysql 數據庫,建立 zabbix 數據庫用戶等相關信息
create database zabbix character set utf8 collate utf8_bin; create user zabbix@localhost identified by 'password'; grant all privileges on zabbix.* to zabbix@localhost; quit
按照順序,依次導入 sql
mysql -uzabbix -p zabbix < /opt/zabbix-5.0.5/database/mysql/schema.sql mysql -uzabbix -p zabbix < /opt/zabbix-5.0.5/database/mysql/images.sql mysql -uzabbix -p zabbix < /opt/zabbix-5.0.5/database/mysql/data.sql
修改 zabbix server 配置文件/usr/local/zabbix/etc/zabbix_server.conf,修改數據庫密碼
... DBPassword=password ...
為 zabibx server 添加 systemd 啟動文件
vi /lib/systemd/system/zabbix-server.service
內容如下
[Unit] Description=Zabbix Server After=syslog.target After=network.target After=mysql.service After=mysqld.service After=mariadb.service After=postgresql.service [Service] Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_server.conf" EnvironmentFile=-/etc/sysconfig/zabbix-server Type=forking Restart=on-failure PIDFile=/tmp/zabbix_server.pid KillMode=control-group ExecStart=/usr/local/zabbix/sbin/zabbix_server -c $CONFFILE ExecStop=/bin/kill -SIGTERM $MAINPID RestartSec=10s TimeoutSec=0 [Install] WantedBy=multi-user.target
為 zabbix agent 添加 systemd 啟動文件
vi /lib/systemd/system/zabbix-agent.service
內容如下
[Unit] Description=Zabbix Agent After=syslog.target After=network.target [Service] Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_agentd.conf" EnvironmentFile=-/etc/sysconfig/zabbix-agent Type=forking Restart=on-failure PIDFile=/tmp/zabbix_agentd.pid KillMode=control-group ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -c $CONFFILE ExecStop=/bin/kill -SIGTERM $MAINPID RestartSec=10s User=zabbix Group=zabbix [Install] WantedBy=multi-user.target
啟動 zabbix server 和 zabbix agent,並配置開機啟動
systemctl enable --now zabbix-server
systemctl enable --now zabbix-agent
前端安裝
拷貝 zabbix 前端文件到 apache 默認 web 目錄
cp -r /opt/zabbix-5.0.5/ui/* /var/www/html/ chown -R apache:apache /var/www/html/
配置 php 參數
sed -i 's#post_max_size = 8M#post_max_size = 16M#' /etc/php.ini sed -i 's#max_execution_time = 30#max_execution_time = 300#' /etc/php.ini sed -i 's#max_input_time = 60#max_input_time = 300#' /etc/php.ini sed -i 's#;date.timezone =#date.timezone = Asia/Shanghai#' /etc/php.ini systemctl restart php-fpm
配置后使用瀏覽器訪問http://ip/ 就可以訪問 zabbix 頁面了
WEB 初始化
編譯或者 yum 安裝好之后,使用瀏覽器訪問 web檢查各個組件配置是否正常輸入配置數據庫 zabbix 用戶的密碼下一步下一步下一步登錄賬號為 Admin,密碼:zabbix首頁完成頁面初始化。
下載 zabbix 5.0 源碼
cd /opt wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.5.tar.gz tar zxvf zabbix-5.0.5.tar.gz cd zabbix-5.0.5
如果只是要編譯 agent,直接加-enable-agent(agent是C寫的,-enable-agent2是以go為主依賴環境有不同,通常一樣,也可能部分版本不一樣) 參數即可
./configure --prefix=/usr/local/zabbix -enable-agent make make install
編譯過程中有錯誤一定要關注,其中需要聯網下載依賴包,耐心等待安裝完成。 默認配置文件
/usr/local/zabbix/etc/zabbix_agentd.conf
二進制程序
/usr/local/zabbix/sbin/zabbix_agentd
配置 systemd 啟動文件
vi /lib/systemd/system/zabbix-agent.service
內容如下
[Unit] Description=Zabbix Agent After=syslog.target After=network.target [Service] Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_agentd.conf" EnvironmentFile=-/etc/sysconfig/zabbix-agent Type=forking Restart=on-failure PIDFile=/tmp/zabbix_agentd.pid KillMode=control-group ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -c $CONFFILE ExecStop=/bin/kill -SIGTERM $MAINPID RestartSec=10s User=zabbix Group=zabbix [Install] WantedBy=multi-user.target
配置啟動並設置開機啟動
systemctl enable --now zabbix-agent