《分布式数据库运维-从自动化到智能化_徐戟.pdf》由会员分享,可在线阅读,更多相关《分布式数据库运维-从自动化到智能化_徐戟.pdf(25页珍藏版)》请在三个皮匠报告上搜索。
1、从自动化到智能化徐戟基石数据技术总监分布式数据库运维分布式数据库运维数据库运维中的最大困难是未知运维领域的至理名言 运维知识与经验极其匮乏 复杂的集群架构 复杂的用户租户结构 超级复杂的指标与状态体系 不同的数据库产品之间的特性差异太大 日常运维诉求场景 IT核心资产的状况掌握 IT组件当前运行健康状态感知 大量耗费人力的日常巡检如何自动化 关键系统上线时的专家护航 安全监管考核要求的合规检查 性能瓶颈点的快速溯源和诊断 SQL审计与诊断分析 常见运维故障场景的快速响应分布式数据库运维的挑战横向扩展,性能无忧通过横向扩展解决系统容量问题分布式并行执行,提高大型查询的效率多副本读写分离,充分利用
2、硬件资源不过扩容时是最容易出问题的时候分布式数据库的复杂性带来的运维新问题网络问题引发的性能与运行问题比较难以发现与解决不怕硬件故障,就怕硬件时好时坏集群数据分布不合理导致的性能问题集群节点负载不均衡导致的性能问题指标背后的运维知识十分模糊出现问题后定位较为困难架构上的高可用特性,简化了部分运维特性无单点故障故障自动切换小问题无需运维介入,出事都是大问题分布式数据库运维的特点集群整体监控的难点z z分布式数据库的服务能力取决于整个集群,因此集群的整体健康监控十分关键但是某个单一节点的问题很可能会对集群整体造成影响,又不能不关注。宏观与微观必须全面兼顾,出了问题需要先发现问题是属于宏观的集群问题
3、还是属于微观的组件问题。下面是OceanBase 数据库的一个集群拓扑。分布式数据库与集中式数据库不同,多节点,多组件,多租户等特复杂特性,让指标采集、性能诊断、故障定位、监控预警等的复杂度都极大的提升。z z 指标的复杂性 时间同步 操作系统健康 可用内存/OOM SCORE/NUMA节点内存 IO负载与IO延时 CPU是否长时间处于瓶颈 负载是否均衡 长时间负载不均衡说明数据分布,业务负载分布等存在问题,影响数据库健康 分布式执行计划不合理可能导致某节点负载过高 数据分布不均衡可能daozhi某个节点负载过高 网络健康 网络延时 网络吞吐量 网络丢包 容量管理 分布式数据库节点容量高水位不
4、宜过高分布式数据库运维的一些特殊方面在分布式数据库里,每个指标在各个节点上都有差异,因此指标采集和汇聚也会存在不同。需要对指标进行加工处理后才更有价值。以Oceanbase为例:问题多节点、多租户的集群带来极大的复杂性,依靠人工监控与运维难度极大。自动化智能化是分布式数据库运维的必由之路分布式数据库中的指标知识库算法库案例库战役拉动智能化算法智能化算法基于“运维知识自动化”理念可以构建一套自动化的体系,将专家知识、大数据分析、智能算法融为一体,从而将知识固化在系统中,实现真正的知识积累。并用积累下来的知识帮助运维人员分析问题,诊断故障,从而简化分布式数据库的运维。标准指标体系标准指标体系数据库
5、运维新思路战役拉动基础数据能力增强是实现智能化运维的基础。指标标准也是一种运维知识,通过运维专家对运维对象指标体系的分解,构建了能够支持进行全面、准确分析的标准化指标体系。运维对象梳理要点管理类对象关系运维要点关键操作命令配置类配置文件核心参数技术类指标类日志运维基础数据能力01 关键建设工作 运维对象梳理 运维对象健康要点分析 运维对象指标集梳理 运维对象关键指标梳理 运维对象编码标准设计 指标分类标准设计 指标编码标准设计 指标标准属性设计 指标存储结构设计 指标分级存储规范设计 指标订阅与应用接口规范设计02 指标采集原则 采集方式安全可靠,不会破坏生产系统 遵循数据与网络安全规范安全可
6、靠 避免过多消耗生产系统的资源 避免带来生产系统故障隐患最小影响 一次采集,多处使用,避免同一指标多次采集 只采集基础数据,采集后平台里加工,减少同类指标采集次数避免重复 一次连接采集多个指标,不允许单一指标建立独立连接采集 尽可能在一个命令中采集多个指标批量采集基础数据能力建设模式基础数据能力构成节点操作系统数据库服务网络存储服务存储分布式数据库集群组件负载均衡采集运维对象运行数据采集运维对象日志数据从数据中台获取加工数据指标原始数值时间段增量差值时间段平均值单次平均值加权平均值统计分析值平均值稳定性趋势评估值风险评估值预测值直方图标准差/方差每秒/每分最近5分钟最近一小时繁忙时段空闲时段空
7、闲时段日平均周平均月平均指标分类及加工标准构建OceanBase知识的重要参考资料面向 OceanBase 的监控能力在基础数据能力增强的帮助下,实现更加全面的监控。针对各类数据库系统的关键指标、健康状态、运行状态、关键SQL等进行全面的监控。预警能力通过智能化算法实现动态基线,并不断积累故障模型的知识,实现模型对运维故障90%以上的覆盖,真正做到问题发生前能提前预知,问题发生时能及时告警。分析能力运维知识图谱建设是数字化能力的基础。通过知识梳理形成完善的知识库体系,并根据实际应用案例不断提炼和丰富知识图谱,使分析能力不断提升。基于运维知识图谱可以实现智能化推理,获得超越专家的能力。实现智能诊
8、断的基础指标知识指标的含义指标影响的主要因素指标可能的衍生影响指标和哪些数据库的行为与特点相关,指标异常可能影响哪些方面等待事件知识与等待事件相关的因素等待事件的风险等级等待事件的关联性哪些等待事件出现说明系统存在风险,风险主要集中在什么方面,如何消除风险故障场景通过运维经验积累故障场景对故障场景进行深度分析相关指标的异常相关等待事件相关异常哪些故障场景是我们需要关注,哪些需要预警。出现某个故障场景如何进行分析知识图谱构建(1)-OceanBase fuse cache (加强行缓冲命中率)=+内存与配置问题数据问题并发问题应用问题加强行缓冲加强行缓冲命中率异常命中率异常资源池内存不足缓冲区配
9、置不合理数据异常增长数据版本过多访问模式问题,较少重复访问某一行数据SQL语句问题应用BUGSQL并发执行量过大分布式调度不均衡扫描范围过大执行计划错误知识图谱构建(2)-OceanBase io延时平均读延时=平均读流量=平均读lO延时过高读读ioio性能分析性能分析平均读IO流量过大O 平均读IO流量正常 IO设备问题 负载问题 SQL语句问题 负载问题平均读IO延时STD较大&分区数据不均衡 内存问题 平均读IO流量STD较大知识点工具巡检知识点用于某个巡检项由于巡检与故障分析的尺度不同,因此无法与分析诊断共享分析诊断知识点用于分析某个具体问题只用于问题分析路由知识点用于建立知识点之间的
10、关联可用于智能异常检测,不能用于具体定位问题验证知识点仅用于问题收敛时的确认与排除基于知识图谱的自动化诊断问题感知知识点知识点知识点知识点知识点知识点指标规则指标规则指标指标指标指标指标知识点指标问题发现利用知识库进行问题发现与隐性问题发现通过知识图谱找出指标集异常检测问题归纳诊断路径推荐诊断工具推荐异常检测ADFADFADFADF智能路径推荐诊断结论工具工具工具工具运维模式的升级自动化运维通过基线、专家模型等方式自动处理采集回来的数据通过自动化工具代替部分人工运维具有基于规则的自动预警能力配置成本较高对于已知问题的处理效率较高知识积累成本较高智能化运维通过智能化算法辅助运维配置成本低,基线自
11、动管理知识积累成本较低可用于复杂的未知问题分析,辅助专家诊断监控自动采集数据以人为主的运维模式需要主动监控采集数据较为简单技术路线的选择以 NPM 为核心的全链路监控 优势:可以较为全面的观察到链路上每个环节的运行效率 缺点:较难深入的对具体IT组件进行下钻分析大数据分析+算法为核心的智能化分析 优势:利用大数据分析和算法的能力可能发现专家忽视的问题 缺点:需要大量的专家标注,成本较高,效率太低专家模型+运维知识图谱+算法 优势:针对具体IT组件的分析能力较强,根因溯源较容易实现 缺点:需要高水平专家参与,全链路整合分析数据聚合工作量较大简单的采用某种方法都存在较大缺陷,很难达到预定目标日常监控采用方法一+方法二可以构建较为全面的监控与诊断能力方法二比较适合于分析重点问题,不太适合日常监控,方法二的结果可以用于提升方法三的能力采用方法三可以较快速的构建可长期起效的产品化的解决方案并进行长期迭代自动化运维&智能化运维各自擅长的领域自动化 指标监控 基线管理 系统日检 数据库巡检 合规性检查 SQL审计智能化 健康模型 故障模型 智能基线 故障诊断 关联性分析 智能指标分析可探索的新方向-CHATGPT的启示Thank you!欢迎交流