前言:
目前你们对“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
6.安装TimescaleDB
dnf install -y timescaledb-postgresql-12
7.Timescale插件初始化PG
timescaledb-tune --pg-config=/usr/pgsql-12/bin/pg_config
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
5.配置pg配置文件
vi /var/lib/pgsql/12/data/postgresql.conf
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
Nginx配置
由于Nginx默认占用80端口,导致无法访问zabbix,需要进行调整
vi /etc/nginx/nginx.conf
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
前端关键页面
结语
基于Timescale的PG安装过程比较复杂,但是解决了mysql的瓶颈,所以值得一试,根据官方的测试,压缩比大概在25倍左右,读写速度远超mysql,这也是时序数据库的优势,如果大家在安装的时候有任何疑问可以留言私信我。
标签: #zabbix安装的时候连接不到数据库