数据库监控:关键指标和注意事项

【squids.cn】 全网zui低价RDS,免费的迁移工具DBMotion、数据库备份工具DBTwin、SQL开发工具等

听到模糊的说法“我们的数据库有问题”对于任何数据库管理员或管理员来说都是一场噩梦。有时是真的,有时不是,到底问题出在哪里呢?真的是数据库有问题吗?或者是网络、应用程序、用户或其他可能情况的问题?如果是数据库的话,有什么问题吗?

图片

图 1:DBMS 使用情况

数据库是现代企业的重要组成部分,需要考虑多种供应商和类型。数据库可以托管在数据中心、云中,或同时托管在两者中以进行混合部署。数据库中存储的数据可以通过多种方式使用,包括网站、应用程序、分析平台等。

作为数据库管理员或管理者,您希望了解数据库的运行状况和趋势。数据库监控与数据库本身一样重要。如果您不能保证数据的可用性和准确性,您的数据有多好?

数据库监控注意事项

数据库引擎和数据库是托管在复杂 IT 基础设施上的系统,该基础设施由各种组件组成:服务器、网络、存储、电缆等。应全面考虑数据库监控,同时考虑所有基础设施组件和数据库监控本身。

图片

图2:数据库监控三叶草

我们再来谈谈数据库监控。如图 2 所示,我将监控分为四个支柱:可用性、性能、活动和合规性。这些是广泛但相互关联且重叠的支柱。您可以添加第五片“三叶草”来进行安全监控,但我将监控的这一方面纳入到活动和合规性中,出于同样的原因,容量规划属于可用性监控。

让我们更深入地了解监控概念。虽然可用性监控似乎是一个很好的起始主题,但我将故意从性能开始,因为性能问题可能会导致数据库不可用,而且可用性监控对于任何系统都是“监控 101”。

性能监控

性能监控是捕获、分析硬件、操作系统、网络和数据库层的性能指标并发出警报的过程。它可以帮助避免计划外停机、改善用户体验并帮助管理员有效管理其环境。

本机数据库监控

大多数(如果不是全部)企业级数据库系统都附带一组工具,允许数据库专业人员检查内部和/或外部数据库状况以及操作状态。这些是特定于系统的技术工具,需要中小企业知识。在大多数情况下,它们是时间点性能数据,历史价值有限或不存在。一些供应商提供了额外的工具来简化性能数据收集和分析。

随着基于云的产品(PaaS 或 IaaS)的扩展,我注意到监控数据收集以及可用的分析和报告选项方面有了一些改进。然而,本机性能监控仍然是数据库中小企业的一套工具。

企业监控系统

企业监控系统 (EMS) 提供了一种集中方法来系统地审查 IT 系统。此类系统允许监控大多数 IT 基础设施组件,从而将受监督的系统与一组仪表板整合在一起。有多家供应商提供全面的数据库监控系统来满足您的部分或全部监控需求。此类解决方案可以涵盖多个数据库引擎或特定于特定数据库引擎或监控方面。例如,如果您只需要监视 SQL 服务器并且对查询的性能感兴趣,那么您需要一个能够识别瓶颈和争用的监视系统。

让我们讨论分布在全球多个数据中心的数千个数据库实例(本地和云中)的环境。这涉及通过许多受监控设备、数据库类型多样性以及数据中心的地理位置和您监控的实际数据来监控复杂性的增长。必须对同一管理下的所有数据库系统有一个全局视图,并能够识别问题,最好是在问题影响用户之前。

EMS 旨在帮助组织将数据库监控与 IT 基础设施监控保持一致,大多数解决方案包括一组开箱即用的仪表板、报告、图表、警报、有用提示以及运行状况历史和趋势分析。他们还为性能计数器/指标预设了行业概述的阈值,应根据您的具体情况进行调整。

可管理性和行政开销

本机数据库监控通常由数据库管理员 (DBA) 团队处理。如果需要自动化、扩展或进行任何其他修改,那么 DBA/开发团队将负责处理。这可以由大型企业环境中的 DBA 在内部 DBA 特定用例的基本级别上进行有效管理。

引入第三方系统(如EMS)需要管理。假设,供应商已为您的公司安装并配置了监控。这种伙伴关系可以继续下去,或者内部人员可以接管 EMS 管理(经过适当的培训)。没有“错误”的方法——它完全取决于您公司的运营模式并进行相应的评估。

数据访问和审计合规性监控

您的数据库必须安全!未经授权访问敏感数据可能与数据丢失一样有害。数据泄露、恶意活动(有意或无意)——没有公司会对这样的宣传感到高兴。这让我们需要审计合规性和数据访问监控。关于数据合规性有许多法律法规。有些是行业间通用的,有些是行业特定的,有些是国家特定的。例如,许多国家的所有上市公司都要求遵守 SOX,而美国医疗保健必须遵守 HIPAA 法规。

数据库管理团队必须实施一套政策、程序和流程,以执行适用于其公司的法律和法规。审计报告可能是一个乏味且繁琐的过程,但它可以而且应该自动化。在实施审计合规性和数据访问监控的同时,您还可以改进数据库审计报告 - 它实际上是相同的数据集。

为了遵守各种法律法规,我们需要监控哪些内容?这些通常是强制性的:

  • 访问更改和访问尝试

  • 设置和/或对象修改

  • 数据修改/访问

  • 数据库备份

谁应该受到监控?通常,对数据库或数据进行更改的访问受到严格控制:

  • 特权帐户——通常是 DBA;理想情况下,他们不应该能够访问数据,但这在他们的工作中并不总是可能的,因此必须监控活动

  • 服务帐户 – 具有修改对象或数据权限的数据库或应用程序服务帐户

  • “超级”帐户 – 有权修改数据库对象或数据的用户

  • “较低”帐户 – 具有只读活动的帐户

与性能监控一样,大多数数据库引擎都提供了一组审核工具和机制。另一种选择是第三方合规性软件,它使用数据库本机审计、日志和跟踪来捕获与合规性相关的数据。它提供审计数据存储功能,最重要的是,提供一组合规性报告和仪表板,以遵守各种合规性策略。合规性复杂性直接取决于适用于您公司的法规以及数据库生态系统的多样性和规模。

在我们监控访问和合规性的同时,我们希望确保我们的数据不被滥用。当检测到未经授权的访问或异常数据使用时,应采取适当的措施。一些审计合规性监控系统提供了阻止异常活动的方法。

数据损坏和威胁

数据库数据损坏是一个严重的问题,可能导致有价值数据的永久丢失。通常,数据损坏是由于硬件故障造成的,但也可能是由于数据库错误甚至编码错误造成的。现代数据库引擎具有检测并有时防止数据损坏的内置功能。数据损坏将生成适当的错误代码,应对其进行监视和突出显示。检查数据库完整性应该是定期维护过程的一部分。

其他威胁包括有意或无意的数据修改和勒索软件。虽然 DBA 可以检测到数据损坏和恶意数据修改,但勒索软件威胁超出了数据库专业人员的监控范围。必须有一个防弹备份来从这些威胁中恢复。

关键数据库性能指标

数据库性能指标是极其重要的数据点,可衡量数据库系统的健康状况并帮助数据库专业人员保持高效的支持。有些指标特定于数据库类型或供应商,我将它们概括为“内部计数器”。

可用性

监控的第一步是确定设备或资源是否可用。系统和数据库可用性之间只有一线之隔。数据库可能已启动并正在运行,但客户端可能无法访问它。话虽如此,我们需要监控以下指标:

  • 网络状态– 您可以通过网络访问数据库吗?如果是,延迟是多少?虽然网络状态通常不属于 DBA 的直接责任,但数据库组件的配置参数可能会导致连接丢失。

  • 服务器上/下

  • 存储可用性

  • 服务上/下——数据库和操作系统支持团队之间的另一个共享领域

  • 数据库是否在线或离线

CPU、内存、存储和数据库内部指标

本质上可能升级为可用性问题的下一组重要服务器组件是 CPU、内存和存储。以下四个绩效领域紧密相连并相互影响:

  • 缺乏可用内存

  • CPU利用率高

  • 存储延迟或吞吐量瓶颈

  • 一组数据库内部计数器,可以为利用率问题提供更多内容

例如,内存不足可能会迫使数据库引擎更频繁地读取和写入数据,从而在 IO 系统上产生争用。100% CPU 使用率通常会导致整个数据库服务器停止响应。许多数据库内部计数器可以帮助数据库专业人员分析使用趋势并确定适当的操作来减轻潜在影响。

可观测性

数据库可观察性基于指标、跟踪和日志——我们根据上述讨论收集的内容。有很多因素可能会影响系统和应用程序的可用性以及客户体验。数据库性能指标只是一组可能的故障点。

支持数据库引擎下的基础设施是复杂的。为了成功监控数据库,我们需要在监控时清楚地了解整个生态系统及其组件的状态。从各个组件收集的相关性能数据对于在问题发生之前识别和解决问题有很大帮助。

整个数据库监控概念是数据驱动的,我们有责任让它为我们服务。监控数据需要告诉我们一个每个消费者都能理解的故事。借助数据库可观察性,这个故事可以是透明的,并提供数据库资产的清晰视图。

平衡监控

正如您从本文中可以了解到的那样,任何数据库环境中都存在许多故障点。虽然数据库监控是数据库专业人员的职责,但它需要多个团队的协作努力才能确保整个 IT 生态系统正常运行。那么什么情况下被认为是“过多”的监控,什么情况下又被认为是监控不够呢?我将使用 DBA 最喜欢的一句话:视情况而定

  • 评估您的环境- 拥有一个配置管理数据库会很有帮助。如果不这样做,请创建数据库和相应应用程序的完整清单:数据库大小、用户数量、维护计划、使用时间 - 尽可能多的详细信息。

  • 评估您的关键系统- 概述您的关键系统和相关数据库。这些很可能属于最大程度监控的类别:可用性、性能、活动和合规性。

  • 评估您的预算– 分配给 IT 运营的现金流紧张的情况并不少见。您可能有也可能没有资金购买“我们监控一切”系统,并且某些监控方面必须在内部开发。

  • 找到一个中间立场——您的数据库监控方法对于您公司的要求是独一无二的。收集没有实际或可操作应用的监控数据是低效的。为数据库监控定义可操作的 KPI 是找到平衡的关键 - 监控您的团队可以使用哪些内容来确保系统可用性、稳定性和客户满意度。

请记住:成功的数据库监控是数据驱动的、主动的、持续的、可操作的和协作的。

作者:Akim Zubarchuk

更多内容请关注公号【云原生数据库

squids.cn,云数据库RDS,迁移工具DBMotion,云备份DBTwin等数据库生态工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/168620.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《语音优先》智能语音技术驱动的交互界面设计与语音机器人设计(译者序)...

“言为心声,语为心境”,语言与对话是我们沟通与协作的重要方式。而智能语音技术是一种基于人工智能和自然语言处理技术的语音交互技术。它可以通过语音识别技术将用户的语音指令转换为文本,然后通过自然语言处理技术对文本进行分析和理解,最终…

2023Etsy入驻攻略——防封安全

2023了,跨境电商现在上车还来得及吗?当然!Etsy是一个低成本低竞争高回报的平台,相较于其他电商平台,他的佣金非常低,利润率更高,非常合适跨境小白入局。 但由于目前Etsy关闭了中国大陆卖家的注…

FTP服务器操作手册

FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。FTP协议是File Transfer Protocol(文件传输协议),专门用来传输文件的协议。FTP服务器是企业里经常用到的服务器,今天就介绍一…

Qt 项目实战 | 多界面编辑器

Qt 项目实战 | 多界面编辑器 Qt 项目实战 | 多界面编辑器界面设计创建子窗口类 官方博客:https://www.yafeilinux.com/ Qt开源社区:https://www.qter.org/ 参考书:《Qt 及 Qt Quick 开发实战精解》 Qt 项目实战 | 多界面编辑器 开发环境&…

最新Jn建站系统2.0 已集成各类源码 【附视频安装教程】

附视频安装教程|已集成各类源码 目前已集成的网站: 1.发卡网(最新) 2.代刷网(无需授权) 3. 博客网(自带模板) 4.易支付(稳定版) 5.个人导航网(简洁) 6.代理查询网 7.留言网 8.匿名网 9.表白墙(最新) 10.抽奖网 11.源码站 12.z-blog博客程序 13.织梦CM…

在Word中,图片显示不全

在今天交作业的时候,发现了一个非常SB的事情,把图片复制过去显示不完全: 使用文心一言查看搜索了一下,发现可能是以下几种原因: 图片所在行的行高设置不正确。可以重新设置行高,具体步骤包括打开图片显示…

自然语言处理---RNN经典案例之构建人名分类器

1 案例介绍 关于人名分类问题:以一个人名为输入, 使用模型帮助判断它最有可能是来自哪一个国家的人名,这在某些国际化公司的业务中具有重要意义,在用户注册过程中,会根据用户填写的名字直接给他分配可能的国家或地区选项&#xff…

【C语言进阶】指针进阶(三)

指针进阶(三) 9.指针和数组笔试题解析10.指针笔试题 9.指针和数组笔试题解析 数组名的理解 数组名是数组首元素的地址 但是有2个例外: sizeof(数组名),这里的数组名表示整个数组,sizeof(数组名)计算的是整个数组的大…

SpringMVC(三)获取请求参数

1.1通过ServletAPI获取 SpringMVC封装的就是原生的servlet 我们进行测试如下所示: package com.rgf.controller.service;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;import javax.servlet.…

纺织工厂数字孪生3D可视化管理平台,推动纺织产业数字化转型

近年来,我国加快数字化发展战略部署,全面推进制造业数字化转型,促进数字经济与实体经济深度融合。以数字孪生、物联网、云计算、人工智能为代表的数字技术发挥重要作用。聚焦数字孪生智能工厂可视化平台,推动纺织制造业数字化转型…

OpenCV17-图像形态学操作

OpenCV17-图像形态学操作 1.形态学操作1.1腐蚀1.2膨胀 2.形态学应用2.1开运算2.2闭运算2.3形态学梯度2.4顶帽运算2.5黑帽运算2.6击中击不中变换2.7形态学应用示例 1.形态学操作 1.1腐蚀 图像腐蚀(Image erosion)可用于减小图像中物体的大小、填充孔洞或…

css之Flex弹性布局(子项常见属性)

文章目录 🎀前言:本篇博客介绍弹性布局flex容器中子项的常见用法🪀flex:子项目占得份数 (划分不同子项的比例)🎇align-self 控制单独一个子项在侧轴的排列方式🧸order属性定义子项的排列顺序 &a…

酷开科技 | 酷开系统,为居家生活打开更精彩的窗口

电视在我们的日常生活中扮演着重要的角色。虽然,作为客厅C位的扛把子——电视的娱乐作用深入人心,但是,它的涵义和影响力却因我们每个人的具体生活环境而存在着种种差异,而我们的生活环境又受到我们所处的社会及文化环境的影响。 …

一文了解AIGC与ChatGPT

一、AIGC简介 1.AIGC基础 (1)AIGC是什么 AIGC是人工智能图形计算的缩写,是一种基于图形处理器(GPU)的计算技术,可以加速各种计算任务,包括机器学习、深度学习、计算机视觉等。 AIGC是一种基于GPU的计算技术&#x…

Git(一)Windows下安装及使用Git Bash

目录 一、简介1.1 什么是Git?1.2 Git 的主要特点1.3 什么是 Git Bash? 二、下载三、安装3.1 同意协议3.2 选择安装位置3.3 其他配置(【Next】 即可)3.4 安装完毕3.5 打开 Git Bash 官网地址: https://www.git-scm.com/…

包管理工具

代码共享方案 放到npm仓库,下载到本地放到node_modules npm配置文件 必须填写的属性:name、version name是项目的名称; version是当前项目的版本号; description是描述信息,很多时候是作为项目的基本描述&#xff1b…

力扣每日一题61:旋转链表

题目描述: 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 1: 输入:head [1,2,3,4,5], k 2 输出:[4,5,1,2,3]示例 2: 输入:head [0,1,2], k 4 输…

CSS必学:你需要知道的盒子模型的秘密

作者:WangMin 格言:努力做好自己喜欢的每一件事 CSDN原创文章 博客地址 👉 WangMin 作为前端开发来说,要掌握的CSS基础一定很多,那么CSS中盒子模型肯定是必考必问必掌握的前端知识点,因为它是CSS基础中非常重要的内容,…

异步编程详解(.NET)

在之前写的一篇关于async和await的前世今生的文章之后,大家似乎在async和await提高网站处理能力方面还有一些疑问,很多网站本身也做了不少的尝试。今天我们再来回答一下这个问题,同时我会做一个async和await在WinForm中的尝试,并且…

Java SOAP 调用 C# 的WebService

Java SOAP 调用 C# 的WebService,C# 的WebService方法的创建可以参考上一篇文章。IntelliJ IDEA Community Edition 2021.2.3的idea64.exe新建项目,导入需要的jar,代码如下: import org.apache.axis.client.Service; import org.…