龙空技术网

性能不够?基于时序数据库的Zabbix 5.2安装指南

IT小白Kasar 1019

前言:

目前你们对“zabbix安装的时候连接不到数据库”大致比较看重,我们都想要分析一些“zabbix安装的时候连接不到数据库”的相关知识。那么小编在网摘上汇集了一些有关“zabbix安装的时候连接不到数据库””的相关内容,希望我们能喜欢,姐妹们一起来了解一下吧!

我们往往在谈论zabbix的优缺点的时候,提到最多的依然还是数据库(默认采用关系型数据库),由于关系型数据库所有的读写都是采用sql语句解析,一但并发过大或者数据量过大,处理能力就显得捉襟见肘,这也是Zabbix让人诟病的地方,终于在4.2版本正式加入了Timescale时序性数据库,该数据库在基于PG的基础上加入时序插件,既保证了易用性,同时也解决了关系型数据库的弊端(弊端仅仅指在监控场景),具体细节可以去官网看看,今天来介绍如何基于PG的Timescale时序数据库来安装Zabbix。

正文

环境

Linux版本:CentOS 8.2Zabbix版本:5.2Web:Nginx数据库:PG+Timescale

Zabbix相关组件安装

1.导入5.2阿里云源

cat <<EOF > /etc/yum.repos.d/zabbix.repo[zabbix]name=Zabbix Official Repository - \$basearchbaseurl=\$basearch/enabled=1gpgcheck=1gpgkey=[zabbix-non-supported]name=Zabbix Official Repository non-supported - \$basearchbaseurl=\$basearch/enabled=1gpgkey=添加 gpgkeycurl  \-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591curl  \-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

安装zabbix相关组件

dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-agent -y

PG数据库安装

由于Timescale的最低要求为PG11,所以本文所提到的PG版本为12

1.PG12的镜像源安装

dnf install -y 

安装源

2.安装PG12

dnf -qy module disable postgresql ##此条不输入会出现下面图一报错dnf -y install postgresql12 postgresql12-server

未输入第一条命令安装报错

安装成功

3.初始化数据库

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

完成数据库初始化

4.启动PG并设置为开机启动

systemctl start postgresql-12&&systemctl enable postgresql-12

启动数据库并设置为开机启动

5.添加TimescaleDB源

tee /etc/yum.repos.d/timescale_timescaledb.repo <<EOL [timescale_timescaledb]name=timescale_timescaledbbaseurl=\$basearch repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey= sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 EOL

添加TimescaleDB源

6.安装TimescaleDB

dnf install -y timescaledb-postgresql-12

完成安装TimescaleDB

7.Timescale插件初始化PG

timescaledb-tune --pg-config=/usr/pgsql-12/bin/pg_config

一直输入Y完成初始化

8.重启数据库

systemctl restart postgresql-12 

配置数据库

1.创建数据库实例及用户名密码

创建数据库、用户名密码

2.开启TimescaleDB插件

echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix

启用成功

3.导入zabbix架构文件

zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix

导入架构

4.导入Timescale架构文件

zcat /usr/share/doc/zabbix-server-pgsql*/timescaledb.sql.gz | sudo -u zabbix psql zabbix

导入TimescaleDB架构文件

5.配置pg配置文件

vi /var/lib/pgsql/12/data/postgresql.conf

开启远程访问,可以写*,也可以为指定IP,最大连接数建议写大一些

vi /var/lib/pgsql/12/data/pg_hba.conf  

两个注意点:如果all in one,则不需要在IPv4 connection改为0.0.0.0/0,第二点是认证方式全改为MD5,否则会验证失败

修改过后

5.重启数据库

systemctl restart postgresql-12

配置zabbix-server相关文件

vi /etc/zabbix/zabbix-server.conf

只需要修改DBPassword部分,修改为自己创建的密码

Nginx配置

由于Nginx默认占用80端口,导致无法访问zabbix,需要进行调整

vi /etc/nginx/nginx.conf

将Nginx的默认监听端口改为8080

vi /etc/nginx/conf.d/zabbix.conf

这里默认即可

启动zabbix服务

systemctl restart zabbix-server zabbix-agent nginx php-fpmsystemctl enable zabbix-server zabbix-agent nginx php-fpm

前端关键页面

新增PG模式选择,填写public即可

完工大吉

结语

基于Timescale的PG安装过程比较复杂,但是解决了mysql的瓶颈,所以值得一试,根据官方的测试,压缩比大概在25倍左右,读写速度远超mysql,这也是时序数据库的优势,如果大家在安装的时候有任何疑问可以留言私信我。

标签: #zabbix安装的时候连接不到数据库