CentOS7下Zabbix5.0+PostgreSQL12+TimescaleDB部署实践

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: CentOS7下Zabbix5.0+PostgreSQL12+TimescaleDB部署实践

640.jpg

CentOS7下Zabbix5.0+PostgreSQL12+TimescaleDB部署实践

640.png

一、Zabbix Server 安装


1、YUM源配置及基础环境准备


curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo


常用软件安装


yum install -y lrzsz bash-completion vim wget net-tools ncdu iftop


关闭SELINUX


setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config


2、zabbix源配置并安装Zabbix Server


rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i "s#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#g"  /etc/yum.repos.d/zabbix.repo
yum clean all
yum install zabbix-server-pgsql zabbix-agent

640.jpg

3、安装zabbix web


yum install centos-release-scl
sed -i "s/enabled=0/enabled=1/g" /etc/yum.repos.d/zabbix.repo
yum install zabbix-web-pgsql-scl zabbix-nginx-conf-scl

640.jpg

640.jpg

4、安装数据库PostgreSQL12


wget https://mirrors.aliyun.com/postgresql/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
rpm -ivh pgdg-redhat-repo-latest.noarch.rpm 
sed -i "s#https://download.postgresql.org/pub/#https://mirrors.aliyun.com/postgresql/#g" /etc/yum.repos.d/pgdg-redhat-all.repo
yum install -y postgresql12-server

640.jpg

PostgreSQL数据库初始化

/usr/pgsql-12/bin/postgresql-12-setup initdb 
systemctl enable --now postgresql-12 
systemctl status postgresql-12.service


640.jpg


5、TimescaleDB安装与配置


先配置timesacledb源


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


yum方式安装timesacleDB


yum install -y timescaledb-postgresql-12

640.jpg

640.jpg


注意这里yum方式安装里会默认安装timescaledb-2-loader-postgresql-12-2.4.0-0.el7.x86_64这个包

而timescaledb-postgresql-12为1.7.5版本

需要降级timescaledb-2-loader-postgresql 为1.7.5版本

可以手动官网下载1.7.5版本并进行安装

640.jpg



yum remove timescaledb-2-loader-postgresql-12-2.4.0-0.el7.x86_64
rpm -ivh timescaledb-loader-postgresql-12-1.7.5-0.el7.x86_64.rpm
yum install -y timescaledb-postgresql-12

640.jpg640.jpg


脚本进行参数初始化并重启postgresql


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


640.jpg

640.jpg


6、zabbix数据库创建与数据库脚本导入


创建初始zabbix数据库并导入


创建zabbix用户设置密码
sudo -u postgres createuser --pwprompt zabbix
创建zabbix数据库
sudo -u postgres createdb -O zabbix zabbix

640.jpg

开启timescaledb 插件


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

640.jpg

导入zabbix的postgresql和timescaledb数据库脚本


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

640.jpg

7、postgresql数据库远程连接与认证配置


PostgreSQL不支持远程连接,修改配置文件,添加或修改如下


vim /var/lib/pgsql/12/data/postgresql.conf
listen_addresses = '*’
port = 5432                           
max_connections = 500

640.jpg

配置使用md5方式认证


vim /var/lib/pgsql/12/data/pg_hba.conf
host    all             all             0.0.0.0/0               md5

640.jpg

修改完成后重启postgresql-12


systemctl restart postgresql-12

640.jpg

修改zabbix server配置文件中的数据库信息


vim /etc/zabbix/zabbix_server.conf
DBHost=127.0.0.1
DBPassword=zabbix@2021

640.jpg


8、修改php参数和nginx配置文件


vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
主要修改时区和ACL
listen.acl_users = apache,nginx
php_value[date.timezone] = Asia/Shanghai

640.jpg

cd /etc/opt/rh/rh-nginx116/nginx/
vim nginx.conf
默认的80端口修改为81


640.jpg

vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
取消注释,使用80端口

640.jpg


9、重启所有服务并配置开机自启动


systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
firewall-cmd  --permanent  --zone=public --add-port=10051/tcp
firewall-cmd  --permanent  --zone=public --add-port=80/tcp
firewall-cmd  --permanent  --zone=public --add-port=5432/tcp
firewall-cmd  --reload

640.jpg


二、Zabbix5.0 Web界面初始化


640.jpg

640.jpg

注意Database host 要由localhost改为127.0.0.1

640.jpg


640.jpg

640.jpg

640.jpg


640.jpg

默认密码Admin/zabbix


640.jpg



三、Zabbix5.0 Agent安装


1、zabbix agent安装


rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i "s#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#g"  /etc/yum.repos.d/zabbix.repo
yum install zabbix-agent

640.jpg


2、修改配置文件


修改配置文件中Server和ServerActive地址


sed -i "s/Hostname=Zabbix server/Hostname=centos.walkingcloud.cn/g" /etc/zabbix/zabbix_agentd.conf
sed -i "s/ServerActive=127.0.0.1/ServerActive=192.168.31.232/g" /etc/zabbix/zabbix_agentd.conf
sed -i "s/Server=127.0.0.1/Server=192.168.31.232/g" /etc/zabbix/zabbix_agentd.conf
cat /etc/zabbix/zabbix_agentd.conf | grep Server=
cat /etc/zabbix/zabbix_agentd.conf | grep ServerActive=
cat /etc/zabbix/zabbix_agentd.conf | grep Hostname=

640.jpg

3、启动zabbix-agent相关服务并设置为开机自启动


zabbix-agent需要在防火墙中放通10050端口


firewall-cmd  --permanent  --zone=public --add-port=10050/tcp
firewall-cmd --reload
systemctl enable zabbix-agent
systemctl start zabbix-agent
systemctl status zabbix-agent
tail -f /var/log/zabbix/zabbix_agentd.log

640.jpg

4、ZabbixServer Web上添加主机

640.png

5、验证Agent数据是否正常采集

640.jpg

总结:本次部署主要使用 PostgreSQL12+TimescaleDB,安装配置比较多,对比MySQL数据库部署的方式,性能是否有大的提升,还需要后续进行测试和验证

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
2月前
|
监控 前端开发 Linux
centos7系统安装部署zabbix5.0
【9月更文挑战第23天】在CentOS 7系统上部署Zabbix 5.0的步骤包括:安装MariaDB数据库及必要软件包,配置Zabbix仓库,设置数据库并导入Zabbix数据库架构,配置Zabbix服务器与前端参数,启动相关服务,并通过浏览器访问Web界面完成安装向导。
142 0
|
2月前
|
Oracle Java 关系型数据库
CentOS 7.6操作系统部署JDK实战案例
这篇文章介绍了在CentOS 7.6操作系统上通过多种方式部署JDK的详细步骤,包括使用yum安装openjdk、基于rpm包和二进制包安装Oracle JDK,并提供了配置环境变量的方法。
273 80
|
18天前
|
存储 监控 Linux
如何在 CentOS 7 中进行磁盘分区和挂载,包括准备工作、创建分区、格式化分区、创建挂载点、挂载分区及实践经验分享
随着业务扩展和技术进步,服务器硬盘容量需求不断增加。本文通过具体案例介绍如何在 CentOS 7 中进行磁盘分区和挂载,包括准备工作、创建分区、格式化分区、创建挂载点、挂载分区及实践经验分享,帮助读者更好地管理和利用磁盘空间。
59 3
|
1月前
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
177 0
虚拟机centos7.9一键部署docker
|
2月前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
421 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
2月前
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
123 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
1月前
|
Oracle 关系型数据库 MySQL
CentOS7安装MariaDB成功的实践
CentOS7安装MariaDB成功的实践
51 0
|
2月前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
120 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
关系型数据库 Linux PostgreSQL
Linux centos8 docker中安装postgresql12.4及远程访问设置
Linux centos8 docker中安装postgresql12.4及远程访问设置
673 0
|
存储 安全 关系型数据库
CentOS7 如何离线安装PostgreSQL数据库
如果CentOS所在的服务器限于安全原因,客户并未给我们配置访问外网的权限,那么如何安装PostgreSQL数据库呢?本文将通过具体步骤来详细讲解如何在CentOS7 系统上离线安装PostgreSQL12数据库。
3879 0
CentOS7 如何离线安装PostgreSQL数据库
下一篇
无影云桌面