BethuneX白皮书 数据库智能监控巡检平台 2023-05v1.9 云和恩墨(北京)信息技术有限公司 目录 Contents 01产品简介01 02核心优势03 2.1专业高效04 2.2自动智能04 2.3快速灵活04 03基础架构05 3.1架构组件06 3.2运行流程06 3.3架构优势07 04功能介绍08 4.1多种类数据库09 4.2趋势看板09 4.3事件看板10 4.4巡检中心11 4.5自定义监控12 4.6自定义数据看板16 4.7健康风险指数17 4.8告警下钻18 4.9监控大屏19 4.10性能下钻20 4.11容量管理21 4.12多样告警方式21 05适用场景22 5.1对数据库稳定性要求高23 5.2数据库环境复杂23 5.3灵活监控及个性化健康需求23 06环境配置25 07公司介绍27 01 产品简介 ProductOverview 01产品简介 BethuneX数据库智能监控巡检一体机(简称:BethuneX),是面向企业的数据库环境,帮助运维人员和IT管理者提高运维质量和效率,减少重复巡检监控工作的智能运维平台。 BethuneX可以对数据库及支撑数据库运行的主机、操作系统、网络、存储等组件进行统一运维监控,帮助企业打造安全、稳定、高效的数据库环境,构建秒级响应的运维能力,平稳支撑业务持续发展。 ❖多种类数据库支持,满足丰富的应用场景 ❖可感知的巡检服务,清晰展示巡检过程 ❖动态数据库风险评分,让评分展示数据库实时动态情况 ❖细粒度,灵活的自定义监控及自定义展示,让监控无所不能 ❖告警事件管理,聚合告警信息,聚焦关键问题 ❖告警、性能下钻,双下钻功能深入了解数据库问题 ❖邮件、短信、企业微信和声音告警,全面触达用户 ❖流式计算,监控更实时 ❖全开源,无Agent架构,安全可控 02 核心优势 ProductAdvantages 02核心优势 2.1专业高效 BethuneX秉承最少限度影响目标数据库环境的理念,采用了目标环境无侵入设计,用户无需在被监控的数据库环境上安装Agent代理,只用通过JDBC连接数据库或采用非ROOT的SSH加密连接访问,并采用了开源数据库MySQL作为资料库。这种设计具有以下优势: ❖无Agent代理,对目标环境的软件及版本要求降低,可以稳定支持AIX、Linux等操作系统; ❖直连的架构设计,提高信息传输的效率,信息无需在代理中转,避免因为Agent代理的性能和 故障带来的风险; ❖代码设计采用开源的技术,易于维护,平台的资料库使用了MySQL数据库,节省商业成本的同时,保证了运维平台的开发应用质量; ❖创新地采用流式计算引擎,高保真还原数据库现场的真相,及时发现问题提醒相关人员,保证企业的SLA能力水平。 2.2自动智能 BethuneX着重将数据库的性能和监控详情还原展示在平台上,并通过几十种专业的巡检算法,多维 度地评测数据库的风险指数,帮助DBA发掘潜在风险点,及时通过平台给出的建议做出判断。 ❖智能巡检将DBA日常巡检及特殊巡检需求都包含其中,并根据数据库专家经验,总结出了九大类巡检模块,百余种巡检算法,DBA可以根据实际需要进行选择; ❖通过生动的图表化展示,不仅仅将性能数据呈现出来,还能够让用户自主选择某一时段,下钻分析该时段最需要关注的内容,如TOP5SQL、TOP5会话等等; ❖监控覆盖了围绕数据库的各方面和角度,提供最佳模板帮助用户快速构建监控环境; ❖告警方式的多样化,考虑到用户的特定的场景,最大程度保证用户能够及时接收到告警消息,避免错过最佳修复时间。 2.3快速灵活 传统的运维软件仅关注于数据库层面的信息,很少细化到表空间级别的监控,且难以灵活应对用户的个性化监控需求。BethuneX在平台的交互理念和框架设计上做了很大创新: ❖BethuneX可以做到全方位监控数据库及相关组件,并且可以根据用户需要自由设置监控对象及告警规则,随需修改,做到灵活调整,快速响应; ❖BethuneX预先设置好了一套默认的最佳配置监控参数,用户可以直接在此基础上进行修改,操作简单可靠,对于运维经验不足的用户十分友好。 03 基础架构 LogicalArchitecture 03基础架构 3.1架构组件 BethuneX的架构如下: ❖Nivana-Scrape:云和恩墨自研的数据采集引擎,负责统一的目标端数据采集调度; ❖Riemann:流式计算引擎,用于分析采集数据并根据特定规则响应; ❖InfluxDB:提供高性能、持久化的时序数据库存储、查询服务; ❖BethuneX:面向用户,提供浏览器端的报表展示、元信息管理、巡检触发及规则计算等功能; ❖MySQL资料库:存储元信息、用户数据和报表数据等。 3.2运行流程 BethuneX采用JDBC技术连接目标环境的数据库,以及SSH加密的方式连接目标端的操作系统,使用Nivana-Scrape采集巡检和监控的数据,如状态、日志和性能等信息,Riemann对采集的数据进行分析,实时判断下一步动作,如告警或回查目标端数据库详情,并通过内置的BethuneX将结果通过清晰美观的方式呈现等。 图3-1BethuneX运行流程图 3.3架构优势 ❖无Agent代理 新一代BethuneX较之前的版本做了颠覆式的创新调整,取消了Agent代理,所有的应用组件都部署于服务端,将目标环境的主动权交还给客户,安全风险降至最低,并节省用户维护组件的运维成本。 图3-2无Agent代理图 ❖支持多种数据库 BethuneX当前支持Oracle数据库和MySQL数据库的巡检、监控和告警功能,并支持AIX、Linux等操作系统的信息监控。后续会持续更新支持SQLServer、DB2、国产数据库等。 ❖全开源架构 BethuneX采用开源数据库MySQL作为后端存储元信息、报表数据、用户数据的资料库。作为主流的开源数据库,MySQL避免了商业风险,且拥有完善的社区生态,易于维护,并采用开放的巡检规则引擎,用户可以方便地调用该类库以组建集成化的管理平台。 ❖高时效性的设计 BethuneX采用了Riemann流式计算引擎,能够准确反映数据库环境运行的真实情况。BethuneX采集到数据后,不用写入数据库即可判断是否触发告警、是否回查目标端实时数据库的详情信息,做到近乎实时的响应处理,时效性极高,使运维人员第一时间接到告警信息,并通过告警下钻快速定位风险点,及时进行处理。 04 功能介绍 FunctionsandFeatures 04功能介绍 BethuneX提供了趋势看板、事件看板、智能巡检、实时监控、自定义数据看板、健康风险指数、告警下钻、监控大屏、性能下钻、容量管理、多样告警等功能,并能够包含但不限于以下功能介绍中的内容。 4.1多种类数据库 作为DBA的效率工具,需要具备支持多种类数据库的能力,以覆盖更多的使用场景,目前已经支持了Oracle、MySQL、PolarDB、PostgreSQL、SQLServer、未来将会支持更多云数据库以及更多的开源和国产数据库。 4.2趋势看板 趋势看板总览数据库概览、容量和会话统计概览、数据库风险统计图和性能趋势图,并可对关注的数据库环境收藏起来,方便用户快速查看。 ❖展示近期容量占用最快的数据库排行,帮助用户快速定位,避免因表空间占用影响业务的正常运转; ❖直观查看数据库的风险指数,分值越高,代表数据库健康度越差,并通过饼状图可以了解数据库的风险等级分布情况; ❖直观查看性能趋势,可选择查看性能指标:CPU使用率、DB_Time、活动会话数、I/O效率、连接数。对于Oracle12C数据库,可以切换实例和容器数据库两种视角进行查看; ❖MySQL的趋势看板可选择查看的性能指标有:CPI使用率、连接数、活跃连接数、平均每秒事务数、平均每秒查询数和I/O使用率等; ❖PostgreSQL和PolarDB的趋势看板可选的性能指标有:CPU使用率、活跃连接数、实例事务数、返回行数、获取行数。 · 图4-1趋势看板例-Oracle 4.3事件看板 BethuneX重新定义了告警事件的管理方法,将一个告警事件定义了策略、对象、连续性三个边界,并具有持续中、已忽略、已恢复和过期四种状态。通过设置告警策略中的告警次数,当告警信息的告警次数超过阈值时,则通知DBA处理。 事件看板则是对告警事件的集中管理入口,包括了矩阵树图、告警事件列表和告警详情三部分。 矩阵树图通过对象类别,事件级别和状态展示各种告警事件的分布情况。可总览Oracle、MySQL、PolarDB、PostgreSQL和主机等告警对象的的事件级别和状态分布,用户能够快速定位到关注的告警类别。 告警事件列表则聚合展示每个事件的名称、当前所处的告警状态,用户可根据状态快速聚焦关键的 告警,查看该告警事件的详情,并可以通过下钻功能探寻更深层次的问题分析。 图4-2事件看板 4.4巡检中心 巡检中心包括了九大数据库健康分类和百余种巡检算法支持,可灵活选择巡检内容和目标数据库,巡检结果按照健康分类层级展示,直观查看系统风险及问题。 九大数据库健康分类包含基础状态和智能巡检两部分,具体功能如下: ❖基础状态:查看当前数据库实例状态,空间剩余,性能负载,DG延迟等瞬时状态数据 ❖参数设置:检查数据库各项参数设置是否符合版本最佳实践 ❖对象类:检查数据库存在的失效对象;SCN健康检查;分区表健康检查;统计信息30天未更新的对象检查;Sequence健康检查 ❖用户权限:检查是否有用户的密码是否在将在一周内到期 ❖SQL:检查性能发生明显衰变的SQL ❖软件版本:检查各个版本cve漏洞;PSU提示 ❖数据备份:检查数据库是否存在备份;检查数据库备份完整性;检查数据库备份的及时性 ❖操作系统:操作系统内核参数设置 ❖集群状态:集群资源状态检查 图4-3巡检中心列表示例图 巡检结果会记录在BethuneX上,并支持历史巡检结果查看,按照健康分类层级显示,显示该分类的问题个数、问题描述和优化建议。 图4-4巡检结果示例图 4.5自定义监控 得益于BethuneX的框架设计,实时监控的时效性和灵活性能够适应大部分用户的数据库监控需求。它支持自定义数据采集,并支持告警策略和告警模板的自定义,可以将数据库有关的绝大多数监控项目纳入其中。 图4-5Oracle默认监控模版展示图 4.5.1自定义采集项 采集任务分为三类:SQL采集任务、命令行采集任务和日志采集任务,以满足用户的多样化自定义监控需求。 ❖会根据用户输入的SQL脚本,自动识别可监控的字段及类型(如Number、String、Bigint等),应用于告警策略中,将该条语句会定时调度到目标数据库执行,并返回的结果与预设的阈值进行比对,判断并告警通知 ❖自定义SQL强大的扩展功能可以将任何能够用SQL结果表示的信息监控起来,真正做到灵活个性化 ❖命令行采集Shell脚本,对不同的主机环境支持友好,支持Linux、AIX、Solaris、HP-Unix等操 作系统 ❖日志监控支持用户的自定义,支持主机、操作系统、网络、存储、SAN和数据同步软件等组件的监控管理,通过用户自行设置调度,把监控数据按照特定格式写入日志文件,技术上采用了增量读取日志文件获取监控信息。 图4-6采集项视图 4.5.2自定义监控配置 每个数据库可以指定一个监控模板作为告警的判断依据,可随需选择某些监控项和对应的告警策略, 做到最大限度的个性化设置。 图4-7为数据库配置监控模板 告警策略涵盖了数据库、操作系统和主机、日志三大类型,将数据库工程师的专业智慧做成默认模板供客户参考使用,目前预设了十余种告警参数配置,对数据库监控不熟悉的用户也可以很快上手使用。 告警分类 数据采集监控项 告警分级 数据库/Oracle 可用性 Hang监控 更新时间范围>15s 严重 数据库/Oracle 应用 长锁等待 获得锁的时间>