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

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: 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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
1天前
|
关系型数据库 MySQL 分布式数据库
快速体验开源PolarDB -X 部署安装
在CentOS上部署PolarDB-X标准版集群的体验包括三步:安装python3和docker(如果未预装),然后使用venv创建环境,安装pxd并验证。接着,通过`pxd tryout -t standard`部署集群,该过程需拉取大量镜像,可能耗时且占用数GB空间,建议事先清理空间并了解资源需求。部署后,可查询集群状态和健康信息。最终,使用`pxd cleanup`清理。过程中因磁盘空间不足遇到问题,建议体验前提供系统配置需求,并允许用户自定义MySQL参数。
|
2天前
|
关系型数据库 Linux 分布式数据库
源码编译实现PolarDB-X部署安装的体验报告
本文档记录了编译安装PolarDB-X的步骤,包括设置CentOS开发环境、从GitHub获取源码、编译(耗时较长)、解决依赖和权限问题、安装部署及测试验证。作者建议优化文档细节、减少编译时间、改进错误提示,并提议提供一键安装依赖脚本、新手视频教程及加强社区支持。整个过程虽有挑战,但具有成就感。
15 0
|
3天前
|
存储 关系型数据库 Linux
CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件
CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件
26 4
|
3天前
|
关系型数据库 Java 数据库
docker部署postgresql数据库和整合springboot连接数据源
docker部署postgresql数据库和整合springboot连接数据源
13 0
|
3天前
|
存储 安全 网络协议
云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南
云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南
13 0
|
12天前
|
关系型数据库 分布式数据库 PolarDB
PolarDB产品使用合集之关于在Docker环境中部署和维护PolarDB-X,有相关文章可以参考吗
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
17天前
|
Linux 数据库 开发者
Centos7安装docker并部署halo建站
Docker 是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到可移植的容器中,然后在任何支持 Docker 的平台上运行。Docker 的核心概念包括镜像(Image)、容器(Container)和仓库(Repository)。镜像是创建容器的基础,容器是镜像的运行实例,而仓库是存储和分发镜像的中心仓库。 Docker 的优势在于快速、一致地交付应用,实现响应式部署和扩展,以及更高效地利用硬件资源。它常用于简化配置、代码流水线管理、提
43 0
|
21天前
|
运维 安全 Linux
如何在CentOS部署JumpServer堡垒机并实现无公网ip环境远程访问
如何在CentOS部署JumpServer堡垒机并实现无公网ip环境远程访问
|
24天前
|
关系型数据库 MySQL 分布式数据库
【PolarDB-X从入门到精通】 第五讲:PolarDB集中式版安装部署(源码编译部署)
4月18日本周四晚19:00,一站式学习源码编译PolarDB-X标准版(集中式),各位敬请期待,我们不见不散!
【PolarDB-X从入门到精通】 第五讲:PolarDB集中式版安装部署(源码编译部署)
|
25天前
|
数据可视化 Linux Apache
CentOS部署Apache Superset大数据可视化BI分析工具并实现无公网IP远程访问
CentOS部署Apache Superset大数据可视化BI分析工具并实现无公网IP远程访问