Zabbix 5.4 完整功能安裝指南(PG時序版)
之前提到過Zabbix 5.2版本的安裝方式,此次采用PG+Timescale(Server與DB分開部署)
正文
環(huán)境
系統(tǒng)版本:CentOS 8.2(可以替換為其他版本,例如ubuntu)
- Zabbix版本:5.4
- 數(shù)據(jù)庫版本:postgresql 12
- Timescale版本:2.1
- Nginx版本:1.14
前提條件
關(guān)閉Selinux及防火墻
安裝Zabbix源
最近官方源的網(wǎng)絡(luò)已經(jīng)恢復(fù)正常,所以直接采用Zabbix官方源即可,兩臺機(jī)器都需要裝
- rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-release-5.4-1.el8.noarch.rpm
安裝Sever相關(guān)組件
其中zabbix-web-service為最新的報表功能
- dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2 zabbix-web-service
數(shù)據(jù)庫安裝
第二條命令為禁用自帶的pg庫,不禁用會報錯(如下圖所示)
- dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
- dnf -qy module disable postgresql
- dnf install -y postgresql12-server
初始化數(shù)據(jù)庫
- /usr/pgsql-12/bin/postgresql-12-setup initdb
- systemctl enable postgresql-12 && systemctl start postgresql-12
安裝Timescale時序插件源
- tee /etc/yum.repos.d/timescale_timescaledb.repo <<EOL
- [timescale_timescaledb]
- name=timescale_timescaledb
- baseurl=https://packagecloud.io/timescale/timescaledb/el/$(rpm -E %{rhel})/\$basearch
- repo_gpgcheck=1
- gpgcheck=0
- enabled=1
- gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey
- sslverify=1
- sslcacert=/etc/pki/tls/certs/ca-bundle.crt
- metadata_expire=300
- EOL
安裝Timescale插件
- dnf install -y timescaledb-2-postgresql-12
初始化數(shù)據(jù)庫添加時序插件并重啟數(shù)據(jù)庫
- timescaledb-tune --pg-config=/usr/pgsql-12/bin/pg_config
- systemctl restart postgresql-12
一路Y即可
創(chuàng)建Zabbix所需數(shù)據(jù)庫及用戶名密碼
--pwprompt參數(shù)是為zabbix用戶創(chuàng)建密碼,不帶默認(rèn)不要密碼
- sudo -u postgres createuser --pwprompt zabbix
- sudo -u postgres createdb -O zabbix zabbix
如果出現(xiàn)這個問題,由于你在root目錄下,切換到其他目錄即可,沒有實(shí)際影響
啟用TimescaleDB
- echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
如果出現(xiàn)該圖證明就OK了
安裝數(shù)據(jù)庫文件及zabbix-agent(建議采用agent2)
- dnf -y install zabbix-agent2 zabbix-sql-scripts
導(dǎo)入數(shù)據(jù)庫架構(gòu)文件
- zcat /usr/share/doc/zabbix-sql-scripts/postgresql/create.sql.gz | sudo -u zabbix psql zabbix
導(dǎo)入TimescaleDB超表文件
- zcat /usr/share/doc/zabbix-sql-scripts/postgresql/timescaledb.sql.gz | sudo -u zabbix psql zabbix
和5.2略有不同
數(shù)據(jù)庫配置文件修改
主要體現(xiàn)在兩方面,一方面是Server需要遠(yuǎn)程連接到數(shù)據(jù)庫,所以需要開放連接IP,另外一個是數(shù)據(jù)庫遠(yuǎn)程用戶的權(quán)限。
- vi /var/lib/pgsql/12/data/postgresql.conf

去掉注釋,改為*,開啟遠(yuǎn)程訪問,另外建議初始化連接數(shù)改為300
- vi /var/lib/pgsql/12/data/pg_hba.conf
改為允許zabbix Server訪問,其次認(rèn)證方式改為trust或者md5
最后pg重新加載配置
- vi /var/lib/pgsql/12/data/pg_hba.conf
Zabbix Server配置文件修改
主要修改zabbix數(shù)據(jù)庫的IP和密碼(用戶默認(rèn)為zabbix)
修改主機(jī)
修改密碼(這里密碼脫敏了,實(shí)際不是這個,自己注意修改)
Nginx配置
由于默認(rèn)80端口被占用,所以修改官方配置文件,其次修改zabbix配置文件
- vi /etc/nginx/nginx.conf
將默認(rèn)端口改為8080
- vi /etc/nginx/conf.d/zabbix.conf
將80端口那一行注釋去掉
啟動相關(guān)服務(wù)
- systemctl restart zabbix-server zabbix-agent2 nginx php-fpm
- systemctl enable zabbix-server zabbix-agent2 nginx php-fpm
如果出現(xiàn)這個錯誤基本是selinux的錯誤
前段關(guān)鍵操作
如果web服務(wù)也分離部署,此處的Host也要寫IP
開啟報表服務(wù)
1.修改配置文件,開啟report進(jìn)程,填寫服務(wù)相關(guān)接口,如下圖
如果非本地需要寫IP
2.安裝chrome瀏覽器
- wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
- dnf -y localinstall google-chrome-stable_current_x86_64.rpm
3.啟動報表相關(guān)服務(wù)
- systemctl restart zabbix-web-service
- systemctl enable zabbix-web-service
4.前端配置
這里記得是前端登錄Url
寫在最后
由于之前做過5.4報表的介紹,這里就不展現(xiàn)效果了,整個過程其實(shí)完整跑下來還是有點(diǎn)小復(fù)雜的,但是熟練后基本都可以知道每一步報錯的問題在哪里,這也是學(xué)習(xí)的一個過程,相比mysql版本還是優(yōu)化了很多的,具體效果怎么樣大家可以自行測試。