作者介绍
韩宇,中国银行信息科技运营中心工程师。
一、传统的 Zabbix 监控方案及主要问题
Agent:数据采集代理,部署于被监控服务器上; Server:Zabbix 的服务端,用于数据的采集和发送告警等; Web:用于数据采集和告警规则等配置,前端数据展示和 API 调用; 数据库:MySQL 用的比较多,用于配置信息和监控数据的存储。当然了,随着 Zabbix 的版本的迭代升级,除了 MySQL 也支持了其他的数据库,在后面会简要的提到一些。
二、TiDB 在 Zabbix 中的应用
2016 年:用的单实例的 Zabbix,用了 MySQL,监控了 1000 + 的 Linux 服务器,当时存储了 60 天的分钟级数据。 2017 年:使用 Zabbix Server 进行双实例部署,各监控 1000 + 的 Linux 的服务器,尝试将历史数据用 Python 写入 Elasticsearch。但是,由于中间用了 Python 的读取写入过程,不如直接往数据库里写些稳定。所以当时用了一段时间,没有继续用下去。 2018 年:开始尝试使用 TiDB 代替 MySQL,这时的生产环境开始使用原生 Zabbix ,原生的 Zabbix 方案也已经支持 Elasticsearch 作为后端存储。但是考虑到 TiDB 兼容 MySQL 协议,且 TiDB 是分布式数据库,可能比 Elasticsearch 会有一些优势。再加上 Elasticsearch 在当时的易用性也不是很好,特别是升级的操作对于刚入门的用户来说是比较痛苦的,而 TiDB 的升级就比较平滑,因此,综合考虑后开始使用 TiDB 代替 MySQL。 2019 年:通过解决若干的替换问题后,TiZabbix 监控对象达到 9000+ ,数据量达到 15T。 2020 年:TiZabbix 监控对象达到了 10000+,数据量达到 18T,每日采集的数据条目大概是 14.5 亿条。同时,稳定性也得到显著的提升,这里的稳定性,不是指单独 TiDB 的稳定性,由于 TiDB 官方建议用的硬件性能要求比较高,但是由于各种原因的限制,我们使用到的 TiZabbix 环境下 TiDB 的硬件性能不是很好,所以硬件性能的问题,会限制 TiDB 的稳定性。在 2020 年,通过解决了若干问题,在这些较差的硬件上,同样将 TiDB 的稳定性是达到了一个比较理想的水平。


三、TiZabbix 的优化提升

本文整理自韩宇在 TiDB DevCon 2020 上的演讲,大会相关视频可以关注官方 Bilibli 账号主页(ID:TiDB_Robot)。
典型实践
平安科技 | 核心系统的引入及应用
微众银行 | 数据库架构演进及 TiDB 实践经验
华泰证券 | TiDB 在华泰证券的探索与实践
Shopee | 东南亚领先电商 Shopee 业务升级
马上消费金融 | 核心账务系统归档及跑批业务
知乎 | 万亿量级业务数据下的实践和挑战
丰巢 | 支付平台百亿级数据
美团点评 | 深度实践之旅
贝壳金服 | 在线跨机房迁移实践
易果生鲜 | 实时数仓
小红书 | 从 0 到 200+ 节点的探索和应用
小米 | TiDB 在小米的应用实践
58 集团 | 应用与实践
爱奇艺 | 边控中心/视频转码/用户登录信息系统
转转二手交易网 | TiDB 在转转的应用实践
更多:https://pingcap.com/cases-cn/


文章转载自PingCAP,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。





