1、从自动化到智能化徐戟基石数据技术总监分布式数据库运维分布式数据库运维数据库运维中的最大困难是未知运维领域的至理名言 运维知识与经验极其匮乏 复杂的集群架构 复杂的用户租户结构 超级复杂的指标与状态体系 不同的数据库产品之间的特性差异太大 日常运维诉求场景 IT核心资产的状况掌握 IT组件当前运行健康状态感知 大量耗费人力的日常巡检如何自动化 关键系统上线时的专家护航 安全监管考核要求的合规检查 性能瓶颈点的快速溯源和诊断 SQL审计与诊断分析 常见运维故障场景的快速响应分布式数据库运维的挑战横向扩展,性能无忧通过横向扩展解决系统容量问题分布式并行执行,提高大型查询的效率多副本读写分离,充分利用
2、硬件资源不过扩容时是最容易出问题的时候分布式数据库的复杂性带来的运维新问题网络问题引发的性能与运行问题比较难以发现与解决不怕硬件故障,就怕硬件时好时坏集群数据分布不合理导致的性能问题集群节点负载不均衡导致的性能问题指标背后的运维知识十分模糊出现问题后定位较为困难架构上的高可用特性,简化了部分运维特性无单点故障故障自动切换小问题无需运维介入,出事都是大问题分布式数据库运维的特点集群整体监控的难点z z分布式数据库的服务能力取决于整个集群,因此集群的整体健康监控十分关键但是某个单一节点的问题很可能会对集群整体造成影响,又不能不关注。宏观与微观必须全面兼顾,出了问题需要先发现问题是属于宏观的集群问题
3、还是属于微观的组件问题。下面是OceanBase 数据库的一个集群拓扑。分布式数据库与集中式数据库不同,多节点,多组件,多租户等特复杂特性,让指标采集、性能诊断、故障定位、监控预警等的复杂度都极大的提升。z z 指标的复杂性 时间同步 操作系统健康 可用内存/OOM SCORE/NUMA节点内存 IO负载与IO延时 CPU是否长时间处于瓶颈 负载是否均衡 长时间负载不均衡说明数据分布,业务负载分布等存在问题,影响数据库健康 分布式执行计划不合理可能导致某节点负载过高 数据分布不均衡可能daozhi某个节点负载过高 网络健康 网络延时 网络吞吐量 网络丢包 容量管理 分布式数据库节点容量高水位不
4、宜过高分布式数据库运维的一些特殊方面在分布式数据库里,每个指标在各个节点上都有差异,因此指标采集和汇聚也会存在不同。需要对指标进行加工处理后才更有价值。以Oceanbase为例:问题多节点、多租户的集群带来极大的复杂性,依靠人工监控与运维难度极大。自动化智能化是分布式数据库运维的必由之路分布式数据库中的指标知识库算法库案例库战役拉动智能化算法智能化算法基于“运维知识自动化”理念可以构建一套自动化的体系,将专家知识、大数据分析、智能算法融为一体,从而将知识固化在系统中,实现真正的知识积累。并用积累下来的知识帮助运维人员分析问题,诊断故障,从而简化分布式数据库的运维。标准指标体系标准指标体系数据库
5、运维新思路战役拉动基础数据能力增强是实现智能化运维的基础。指标标准也是一种运维知识,通过运维专家对运维对象指标体系的分解,构建了能够支持进行全面、准确分析的标准化指标体系。运维对象梳理要点管理类对象关系运维要点关键操作命令配置类配置文件核心参数技术类指标类日志运维基础数据能力01 关键建设工作 运维对象梳理 运维对象健康要点分析 运维对象指标集梳理 运维对象关键指标梳理 运维对象编码标准设计 指标分类标准设计 指标编码标准设计 指标标准属性设计 指标存储结构设计 指标分级存储规范设计 指标订阅与应用接口规范设计02 指标采集原则 采集方式安全可靠,不会破坏生产系统 遵循数据与网络安全规范安全可
6、靠 避免过多消耗生产系统的资源 避免带来生产系统故障隐患最小影响 一次采集,多处使用,避免同一指标多次采集 只采集基础数据,采集后平台里加工,减少同类指标采集次数避免重复 一次连接采集多个指标,不允许单一指标建立独立连接采集 尽可能在一个命令中采集多个指标批量采集基础数据能力建设模式基础数据能力构成节点操作系统数据库服务网络存储服务存储分布式数据库集群组件负载均衡采集运维对象运行数据采集运维对象日志数据从数据中台获取加工数据指标原始数值时间段增量差值时间段平均值单次平均值加权平均值统计分析值平均值稳定性趋势评估值风险评估值预测值直方图标准差/方差每秒/每