您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[OceanBase]:蔡飞志:看Zabbix如何基于OceanBase高效解决监控系统三大痛点 - 发现报告

蔡飞志:看Zabbix如何基于OceanBase高效解决监控系统三大痛点

信息技术2024-08-23-OceanBase王***
AI智能总结
查看更多
蔡飞志:看Zabbix如何基于OceanBase高效解决监控系统三大痛点

看Zabbix如何基于OceanBase高效解决监控系统三大痛点 蔡飞志 OceanBase技术专家 Contents目录 01业务背景介绍 Zabbix监控系统和使用介绍 02监控数据管理的痛点 监控数据量大,磁盘占用高,分区表维护困难,增删耗时长 03OceanBase实践 OceanBase的七大竞争力、Zabbix存储由MySQL替换为OceanBase、测试遇到的问题 04总结 用技术让海量数据的管理和使用更简单 0101业务背景介绍 Zabbix监控系统介绍 Zabbix监控系统架构 Zabbix功能简介 •可从任何设备、系统、应用程序上采集数据•可以自定义数据采集•自定义灵活的问题阈值•对趋势预测作出积极反应•关键问题告警•通过强大的数据可视化 •ZabbixServer:负责接收和处理从各个监控代理(Agent)或主动模式(Active mode)的监控信息,并将结果存储在数据库中。•监控代理(Agent):安装在被监控设备上,负责采集并发送监控数据给Zabbix Server。•数据库:用于存储ZabbixServer接收到的监控信息。•前端界面:提供Web界面,用于配置监控项、图像、触发器等,并展示监控数据。•报警机制:当监控项的值超出预设的阈值时,Zabbix可以通过邮件、短信等方式进行报警。•远程命令执行:Zabbix还支持通过远程命令执行功能来控制、管理被监控设备。 为何选择Zabbix 性能强大 兼容性高 开源稳定 支持多种监控方式、监控对象(网络、系统、硬件、存储、应用等等)、告警机制;丰富的API和扩展方式 高效的数据收集和处理能力,监控设备接近上万,监控项数量千万级别,触发器数量百万级别 替换商业监控软件,降低运维成本,经过多年社区的发展,已经成为一种成熟、稳定、可靠的监控解决方案 02监控数据管理的痛点 监控数据量大 Zabbix作为企业级监控解决方案,可以监控多种组件,如服务器、网络设备、数据库、应用程序等。在企业级监控中,需要监控的项目数量通常较多,每个项目又可能需要监控多个指标,导致产生的数据量非常庞大。以一台MySQL服务器为例,一台就有近300个监控项,涉及到硬件状态、服务状态等。 低峰期数据每日新增约50G 磁盘容量有限,业务高峰时磁盘告警频发 性能瓶颈,MySQL出现单点读写瓶颈 分区表维护困难 在Zabbix中,有几张数据写入非常大的表,需要定期清理,在生产环境中,监控数据保留三个月。将原始表进行改造,把非分区表改为按时间分区的分区表(range分区类型)。并通过分区表维护脚本来维护分区表,删除保留期限之外的数据。 OceanBase的极致弹性 单机升级分布式 弹性扩缩容 对应用透明的扩展性-Zone内扩展(垂直扩容) 弹性扩缩容 对应用透明的扩展性-水平扩zone(水平扩容) 资源池化–多租户 大集群&多租户 大集群:将长尾应用的多实例MySQL统一进行管理,有效提高资源密度,消除存储碎片。 多租户:实现数据库内核级虚拟化,满足数据安全隔离的同时,提供基于业务画像的可伸缩计算资源,同时通过Leader打散实现混部。 通过提升资源密度的方式,实现满足相同业务需求的情况下,降低资源成本。 03OceanBase实践 OceanBase原生分布式 数据一致性 动态扩缩容 数据库内置多种强校验机制,能够自动发现多副本数据的不一致、网络数据错误、磁盘静默错误、索引与主表的不一致错误等,保证数据可靠。基于paxos选举协议在故障发生时进行自主选举。少数派节点发生宕机时,支持快速无损自动切换,RTO<30秒 集群级: 与传统单机数据库相比,基于分布式架构的OceanBase数据库提供灵活的在线扩展性。在集群持续可用的前提下,提供在线扩缩容 租户级: •水平扩缩容:调整租户资源池的UNIT_NUM数•垂直扩缩容:调整UNIT的资源规格 高可用性 数据高可靠服务高可用 超 越6级 国 标 灾难恢复能力,同一中心数据库异常、跨数据中心中断时数据不丢失,业务不停机 使用4.x遇到的问题 库的collation显示不正确 在Zabbix server连接OceanBase后,会获取数据库的collation。Zabbix报错: 10310:20230406:224022.650Zabbixsupports only "utf8_bin,utf8mb3_bin,utf8mb4_bin" collation(s). Database "zabbix" has default collation"utf8mb4_general_ci" 从zabbix代码中可以看到是查了information_schema.SCHEMATA表的数据。 查看information_schema.SCHEMATA这张视图,发现在定义的时候,DEFAULT_COLLATION_NAME默认固定为‘utf8mb4_general_ci’ 使用4.x遇到的问题 不支持共享锁(lock in share mode) Zabbix系统在升级过程中会涉及到表结构的修改,比如会涉及到把把text修改为varchar,而OB3.1.x版本不支持这一操作,造成升级失败。 OceanBase: MySQL: 在MySQL中能很好的支持lock in share mode语法。 在OceanBase 4.1.0版本测试lock in share mode,会报错语法不支持。 问题总结 遗留问题 易处理问题 难点问题 •版本号问题:通过修改OBProxy的参数解决。 •慢查询问题:在测试中发现了大量的慢查询,需要优化。 •lock in share mode语法支持和功能实现。•库的collation显示不正确的问题。 04总结 突破数据瓶颈,提升运维效率 在Zabbix存储替换项目中,OceanBase的高级压缩特性、多副本Paxos强一致特性以及分区表易于管理的在线DDL等优点,在实践过程中大大提升了用户数据存储和处理效率,有效降低了成本。 谢谢 谢谢 谢谢