使用TiDB为Zabbix构建分布式MySQL数据库支持

简介: 当我们在生产上部署Zabbix进行企业级监控后,随着监控规模的扩大和时间的变化,MySQL逐渐会成为Zabbix的瓶颈,很多大的企业开始着手进行MySQL表分区、数据清理与优化,甚至来实现Zabbix数据库的分库分表。这些都让运维管理的复杂度大大增加。
TiDB介绍

TiDB 是一个分布式 NewSQL 数据库。支持水平扩展、高可用、ACID 事务、SQL 等特性。同时 TiDB 还支持 MySQL 语法和 MySQL 协议。
TiDB项目地址:https://github.com/pingcap/tidb
由PingCAP公司开发并开源:https://github.com/pingcap/tidb
对于熟悉Codis的小伙伴们来说,就更好解释了,就是当初豌豆荚开发Codis的团队出来创业组建的。

TiDB项目架构:

61bd2b9516507f12006d67613f89e0ba.png

TiDB部署

详细的内容请看github上的中文手册。来了解并部署TiDB。
https://github.com/pingcap/docs-cn

TiDB在Zabbix使用中授权注意事项

这里不会去介绍Zabbix Server的安装步骤,有几个注意事项需要说明下。

1.注意:在Tidb授权的时候,不能直接使用grant授权并设置密码。应该使用下面的方式。
MySQL [(none)]> create user 'zabbix'@'192.168.99.0/255.255.255.0' identified by 'zabbix';
Query OK, 1 row affected (0.00 sec)

MySQL [(none)]> grant all on zabbix.* to 'zabbix'@'192.168.99.0/255.255.255.0';
Query OK, 2 rows affected (0.01 sec)

注意:TiDB 支持对用户授权,这里只是支持授权语法,并且记录在系统表中。但是实际上只对 DropTable 语句进行权限检查,对其他的语句并不会做权限检查。实现用户授权主要是为了兼容已有的 MySQL 业务。 请参考:https://github.com/pingcap/docs-cn/blob/master/faq.md

2.TiDB在创建Zabbix表结构的时候会比较慢

当我们初始化安装创建Zabbix表结构的时候,会发现卡住迟迟不动,这主要是TiDB的设计方式,为了数据的一致性和业务不受影响,DDL操作会比较慢。

zcat create.sql.gz | mysql -h 192.168.99.x -P 4000 -uzabbix -pzabbix zabbix

官方是这么介绍的:TiDB 实现了 Google F1 的在线 Schema 变更算法(具体参见 F1 论文 和我们的一篇 Blog)。 一般情况下,DDL 并不是一个频繁的操作,我们首先要保证的是数据的一致性以及线上业务不受影响。一个完整的 DDL 过程会有 2 到 5 个阶段(取决于语句类型),每个阶段至少会执行 2lease 时间,假设 lease 设为 1分钟,对于 Drop Table 语句(需要两个阶段),会执行 22*1 = 4 分钟。除此之外,DDL 的时间还取决其他的条件,比如做 Add Index 操作时,表中已有的数据量是影响 DDL 时间的主要因素。我们也了解过 Google 内部在 F1 上是如何做 DDL,一般是提交给 DBA,DBA 再通过专用的工具执行,执行的时间会很长。

耐心的等待着哦!如果不放心,可以use zabbix;show tables;看看表是不是在不停的增长!喝杯咖啡吧,这可能是一个漫长的过程。

TiDB运维技术交流QQ群:
  • 群名称:TiDB技术交流群
  • 群 号:463640808

d233d0130d79877eebb0d435fe459d4c.jpg
近期我也在不停的测试TiDB,并持续给官方进行反馈,有兴趣的小伙伴环境,加入一起交流TiDB在生产环境中的使用经验。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
10月前
|
人工智能 Java Nacos
基于 Spring AI Alibaba + Nacos 的分布式 Multi-Agent 构建指南
本文将针对 Spring AI Alibaba + Nacos 的分布式多智能体构建方案展开介绍,同时结合 Demo 说明快速开发方法与实际效果。
5554 114
|
10月前
|
监控 应用服务中间件 nginx
基于Zabbix的SLA监控体系构建与实践
本文由Zabbix社区专家褚凤彬分享,详解SLA在Zabbix中的应用。通过Trigger与Service联动,构建Web应用的多层级监控体系,并介绍SLA计算规则、维护期处理及升级注意事项,助力企业精准掌控服务可用性。
724 36
|
11月前
|
存储 Kubernetes 微服务
Dapr:用于构建分布式应用程序的便携式事件驱动运行时
Dapr 是一个可移植、事件驱动的运行时,简化了分布式应用程序的开发。它支持多语言、多框架,适用于云和边缘计算环境,提供服务调用、状态管理、消息发布/订阅等构建模块。通过 sidecar 模式,Dapr 帮助开发者轻松应对微服务架构的复杂性,实现弹性、可扩展的应用部署。
624 9
Dapr:用于构建分布式应用程序的便携式事件驱动运行时
|
10月前
|
负载均衡 Java API
《深入理解Spring》Spring Cloud 构建分布式系统的微服务全家桶
Spring Cloud为微服务架构提供一站式解决方案,涵盖服务注册、配置管理、负载均衡、熔断限流等核心功能,助力开发者构建高可用、易扩展的分布式系统,并持续向云原生演进。
|
11月前
|
消息中间件 缓存 监控
中间件架构设计与实践:构建高性能分布式系统的核心基石
摘要 本文系统探讨了中间件技术及其在分布式系统中的核心价值。作者首先定义了中间件作为连接系统组件的"神经网络",强调其在数据传输、系统稳定性和扩展性中的关键作用。随后详细分类了中间件体系,包括通信中间件(如RabbitMQ/Kafka)、数据中间件(如Redis/MyCAT)等类型。文章重点剖析了消息中间件的实现机制,通过Spring Boot代码示例展示了消息生产者的完整实现,涵盖消息ID生成、持久化、批量发送及重试机制等关键技术点。最后,作者指出中间件架构设计对系统性能的决定性影响,
|
12月前
|
数据采集 存储 NoSQL
Scrapy 框架实战:构建高效的快看漫画分布式爬虫
Scrapy 框架实战:构建高效的快看漫画分布式爬虫
|
监控 安全 Linux
在Linux中,zabbix如何监控脑裂?
在Linux中,zabbix如何监控脑裂?
|
运维 监控 安全
【案例分享】中国通号卡斯柯公司:ZABBIX如何破解轨道交通监控难题
本文根据2023上海峰会上朱林贤的演讲整理,聚焦中国通号卡斯柯公司如何借助Zabbix实现轨道交通信号系统的智能化管理。作为中外合资企业,卡斯柯通过统一平台整合设备监控,大幅降低成本并提升灵活性,成功应用于国内外项目。文章探讨了传统监控系统的痛点、研发维护经验及国产化与开源技术挑战,为行业转型提供了宝贵启示。未来,开放协作将是推动轨道交通智能化发展的关键。
818 8
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
425 25
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
266 23

推荐镜像

更多