我们往往在谈论zabbix的优缺点的时候,提到最多的依然还是数据库(默认采用关系型数据库),一但并发过大或者数据量过大,处理能力就显得捉襟见肘,这也是Zabbix让人诟病的地方,终于在4.2版本正式加入了Timescale时序性数据库,该数据库在基于PG的基础上加入时序插件,超高压缩比和提升了写的能力,具体细节可以去官网看看,今天来介绍如何基于PG的Timescale时序数据库来安装Zabbix。
本文环境
- ubuntu 20.04
- Postgresql 14
- Timescale 2.0
- PHP 7.4
- Zabbix 6.0
准备工作
安装 Postgresql14
1 2 3 4 5 6 7 8 9
| apt update
wget -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sh -c 'echo "deb [arch=amd64] http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
apt update
apt-get install postgresql-14
|


安装TimescaleDB
1 2 3 4 5 6 7 8
| echo "deb https://packagecloud.io/timescale/timescaledb/ubuntu/ $(lsb_release -c -s) main" | sudo tee /etc/apt/sources.list.d/timescaledb.list
wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo apt-key add -
apt update
apt install timescaledb-2-postgresql-14
|


初始化TimescaleDB
该脚本文件会根据配置情况调整为最优配置,一路 Y 即可.
1
| timescaledb-tune --pg-config=/usr/lib/postgresql/14/bin/pg_config
|



修改数据库的最大连接数
本文设置为100,该值根据实际情况而调整
1
| vim /etc/postgresql/14/main/postgresql.conf
|

重启数据库
1
| systemctl restart postgresql
|
Zabbix 部分
安装 Zabbix 官方源
1 2 3
| wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu20.04_all.deb dpkg -i zabbix-release_6.0-4+ubuntu20.04_all.deb apt update
|

安装 Zabbix 相关组件
1
| apt install zabbix-server-pgsql zabbix-frontend-php php7.4-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
|

创建 Zabbix 数据库
1 2 3
| cd /tmp sudo -u postgres createuser --pwprompt zabbix sudo -u postgres createdb -O zabbix zabbix
|

开启TimescaleDB 插件
1
| echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
|

导入 Zabbix 所需架构文件
1
| zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
|

导入时序插件数据文件
1
| cat /usr/share/zabbix-sql-scripts/postgresql/timescaledb.sql | sudo -u zabbix psql zabbix
|

修改 Zabbix server 配置文件
本文仅仅需要修改 Zabbix Password 字段,其他默认即可(实际情况可根据数据库的情况及时调整)
1
| vim /etc/zabbix/zabbix_server.conf
|

修改 Nginx 配置文件
Nginx 的配置文件需要修改默认端口,如果不在意,可以不修改默认端口
1 2 3 4
| vim /etc/nginx/sites-available/default
vim /etc/nginx/conf.d/zabbix.conf
|


重启服务
需要注意的是安装 PHP 部分会安装 apache2,导致80端口被占用,需要关闭掉.
1 2 3
| systemctl stop apache2 systemctl restart zabbix-server zabbix-agent nginx php7.4-fpm systemctl enable zabbix-server zabbix-agent nginx php7.4-fpm
|
前端部分
访问网页 **http://ip

预检测部分全部 OK,或者直接能下一步即可

数据库部分与 MySQL 有点区别,其中的 Database schema 需要填写 public




默认用户名/密码为 **Admin/zabbix

