天天看點

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

其實出這期文章的目的就是展示官方為了解決傳統關系型資料庫在應對海量監控資料的能力不足的方案。

本文環境

  • 系統:AlmaLinux 8.7
  • 資料庫:PostgreSQL 14
  • Timescale
  • PHP

資料庫部分

AlmaLinux 自帶源為 postgresql-13,安裝14版本需要安裝源

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

自帶源

先禁用自帶源

dnf -qy module disable postgresql      

安裝官方源

dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{centos})-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y      
Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

安裝 PostgreSQL 資料庫

dnf install postgresql14-server -y      

PostgreSQL 初始化

/usr/pgsql-14/bin/postgresql-14-setup initdb      

啟動資料庫

systemctl enable postgresql-14 && systemctl start postgresql-14      

Timescale 部分

導入 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      
Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

安裝 timescale

dnf install timescaledb-2-postgresql-14 -y      

安裝完成後會提示下面指令,這是Timescaledb 提供的優化工具,用下面指令進行調用,一路 Y 即可

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)
timescaledb-tune --pg-cnotallow=/usr/pgsql-14/bin/pg_config      
Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

重新開機資料庫

systemctl restart postgresql-14      

Zabbix 部分

安裝官方源

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm      

安裝 Zabbix 相關元件

dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-apache-conf zabbix-sql-scripts  zabbix-agent2 -y      

Zabbix 資料庫部分

建立資料庫執行個體、使用者

cd /tmp
sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix      

在第一條指令執行時,需要輸入賬戶的密碼,這個在下面會用到

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

登入資料庫測試,是否正常

psql -U zabbix -h 127.0.0.1      
Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

這裡和以前不一樣,以前需要改權限,可以看看配置檔案

vim /var/lib/pgsql/14/data/pg_hba.conf      

如果用 host 方式是可以采用使用者名密碼方式的登入的,而 local 需要切換相關使用者才能登入,是以這裡無需更改

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

由于采用了 Timescale插件,原有的連接配接數是不夠的,是以需要修改連接配接數,不然會出現下面情況

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

連接配接數由25改為100

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

重新開機資料庫

systemctl restart postgresql-14      

導入 Zabbix 相關資料檔案

zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix      
Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

啟用 Timescale 插件

echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u zabbix psql zabbix      
Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

導入超表檔案

cat /usr/share/zabbix-sql-scripts/postgresql/timescaledb.sql | sudo -u zabbix psql zabbix      
Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

Zabbix 配置部分

修改 Zabbix 配置,本文需要修改兩個部分,如下圖

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

DBHost 改為 IP

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

資料庫密碼改為前面 Zabbix 使用者的密碼

啟動元件

systemctl start zabbix-server zabbix-agent2 httpd php-fpm
systemctl enable zabbix-server zabbix-agent httpd php-fpm      

前端配置

本文采用的 apache,預設通路位址為 http://server ip 位址/zabbix

本文為​​http://192.168.21.53/zabbix​​

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

環境檢查,下一步

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

資料庫界面需要關注4點,host 部分由 localhost 改為 127.0.0.1,Database schema

部分填寫 public,Password 部分填寫使用者的密碼即可,TLS加密取消

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

時區、伺服器名稱自行調整,下一步

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

Zabbix Server資訊,下一步

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

完成安裝

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

登入頁,使用者名/密碼依然為 Admin/zabbix

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

效果圖

首頁

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

Dashboard

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

最新資料

Zabbix 6 系列學習 07:包安裝(時序資料庫篇)

最後