活动预告:数据库百家争鸣的背景下,Oracle究竟值不值得继续学习?未来Oracle DBA向何处去?如何在新的环境下站稳脚跟?
本周六,在北京将迎来一年一度的 ACOUG年会,在本次年会上,行业技术专家将带来一场多层次、多维度、多行业的年度分享,欢迎大家一起交流学习。本次年会也开放了直播通道,名额不多,报名从速哦。https://www.modb.pro/event/94(复制到浏览器中打开或者点击文末左下角的“阅读原文”)。
作者 | Renaud Larue-Langlois
译者 | 甜梨、无明
“数据就是一切!”我们都曾听过这种大胆的说法,但其实事实真是这样,而且数据还无处不在。如今,每个企业和组织发展都需要依赖大量的数据,数据也成为了企业最有价值的资产。为了让数据发挥最大的价值,通常我们都会采用数据库监控工具,本文将为大家介绍 7 款最好用的数据库监控工具。
在开始介绍这些工具之前,我们先简要介绍一下数据库监控的概念,然后谈论一下从硬件到存储过程中可监控的数据库元素,最后,我们将为大家推荐一些目前市面上可用、好用的数据库监控工具。
什么是数据库监控?
正如数据就是组织的一切,监控是网络管理员的一切。现代网络纷繁复杂,由众多组件构成,我们不可能关注到所有的东西,尤其是在大型企业或组织中,管理员通常坐在与服务器不同的房间里,这时就需要监视工具了。
监控数据库与监控其他 IT 组件没有什么不同。数据库监控的主要目标是确保数据在需要时是可用的。这听起来很简单,但实际操作却相当复杂,部分原因在于组件的数量和种类。
虽然数据库是一个抽象概念,但它是由非常具体的东西组成的。从硬件到软件,数据库监控工具必须始终确保所有组件都是可用的,并且在正常范围内运行。
需要监控哪些东西?
让我们更深入地了解一下数据库有哪些东西需要监控的。数据库最基本的元素是它所运行的硬件。就像任何一台计算机一样,这些硬件有很多可调整的参数。例如,我们需要考虑 CPU 负载、可用内存或处理器核心温度。实际上,监控数据库服务器与监控其他服务器没有什么不同。
需要监控的下一个组件是底层操作系统。有些数据库运行在 Windows 上,有些运行在 Linux 或其他 Unix 发行版上。无论是什么操作系统,都有几个重要的参数需要监控,例如磁盘空间或磁盘使用情况。就像硬件一样,操作系统级别的数据库监控与其他类型的监控也没有什么不同。
最后是对实际数据库的监控。从本质上说,数据库只是运行在服务器上的另一款软件。因此,最基本的监控就是要确保这款软件一直处于运行状态。但大多数工具的意义远不止于此,有些会检查数据库的结构,有些会测量数据库的响应时间,有些甚至可以执行测试用的存储过程。
最好的数据库监控工具
我们找到了目前市场上最好用的数据库监控工具,这些产品中大多数都是付费产品,但也有免费试用版。
1. SolarWinds Database Performance Analyzer for SQL Server
SolarWinds 是公认的网络和系统管理工具的最佳提供商之一。它提供了几乎涵盖所有主题的各种工具。该公司的旗舰产品“网络性能监视器(Network Performance Monitor)”一直名列最佳网络带宽监控工具之列。
SolarWinds Database Performance Analyzer(DPA)用于监控和分析 SQL 数据库实例。它采用了响应时间分析法,主要关注查询请求与数据库相应响应之间的时间,并通过分析等待类型和事件找出数据库的瓶颈。
免费试用:
https://www.addictivetips.com/go/database-performance-analyzer/
下载链接:
https://www.solarwinds.com/database-performance-analyzer
这个工具的界面十分易用,可以帮你快速、轻松地查找问题。可以在主屏幕上查看数据库实例、等待时间、查询建议、CPU(带有警告和关键警告)、内存、磁盘和会话等信息。
点进去还能查看特定数据库实例的趋势仪表盘,仪表盘以图形的形式显示用户在一个月内的总等待时间(你也可以选择查看平均或典型日等待时间)。在这张图表中,每种颜色代表一条单独的 SQL 语句,提供了运行时间最长的语句,十分直观。
DPA 提供了足够多的功能,以下是一些比较重要的特性。
单点监控所有数据库
DPA 可与微软 SQL 服务器以及大多数主要产品(包括 Oracle、SQL Server、MySQL、DB2 和 ASE)配合使用。它还支持物理和本地服务器、虚拟机(在 VMware 或 Hyper-V 中运行)和基于云的数据库。
高度可扩展
DPA 允许你根据需要监控任意数量的数据库实例。只需升级许可证,它就可以轻松地从一个实例扩展到一千个实例。
主动监控所有活跃会话
DPA 的原生轮询引擎记录了数据库实例中发生的所有事情,不会对数据库本身带来额外的负载,也不需要安装本地监控代理,从而降低(如果不是消除)DPA 可能会对数据库性能产生的影响。
跟踪、监控和分析数据库组件
DPA 可以自动关联查询、用户、文件、计划、对象、等待时间、存储和日期 / 时间 / 小时 / 分钟,以便即时发现和诊断问题。
数据库调优建议
DPA 可以为你提供有关调整单个数据库实例的建议,并确保它们始终运行在最佳状态。这是通过分析实例的所有参数并推荐优化某些查询或整个数据库实例的操作来实现的。
DPA 的起价为 1995 美元,根据要监控的数据库实例的数量和类型而有所不同。如果你想在购买之前试用该产品,可以使用功能齐全的 14 天试用版。
2. Paessler PRTG
Paessler Router Traffic Grapher(PRTG)可以监控 IT 基础设施的所有系统、设备、流量和应用程序。它是一个包罗万象的软件包,由于它在集成方面的特点,比很多网络监控工具更快、更容易安装。Paessler 声称可以在 2 分钟内开始进入监控状态。PRTG 提供了几种用户界面。你可以选择 Windows 企业控制台或基于 Ajax 的 Web 界面,以及适用于 Android、iOS 和 Windows Phone 的移动应用程序。
自动发现系统是 PRTG 提供的最好用的功能之一。它会扫描网段,并自动识别各种设备和系统,根据预定义的设备模板创建传感器。它提供了一个 map 功能,可以使用监控数据创建自定义 map,作为一种独特的数据显示方式。在警报方面,它们具有很高的灵活性,并且高度可定制。客户端应用程序可以直接接收推送通知,你还可以通过电子邮件或短信接收通知。它还提供了一组功能强大的 API,可让你编写自己的通知脚本。
这个程序可以监控很多数据库,如 Microsoft SQL、MySQL、Oracle 和 PostgreSQL。它通过使用预先配置的内置数据库传感器来实现监控。你可以使用这个工具来监控 SQL 查询的执行时间。它会测量从建立连接到连接结束所花费的时间,可以让你清楚地看到数据库在压力下的性能表现。
PRTG 的定价结构相对简单。它提供了一个免费版本,功能齐全,但最多只能监控 100 个传感器。一个参数算作一个传感器。监控 48 端口交换机的带宽需要 48 个传感器。同样,每个数据库实例都需要一个 SQL 传感器。如果传感器多于 100 个,你需要购买许可证。根据传感器数量的不同,价格从 1600 美元 500 个传感器到 14500 美元无限个传感器不等。它还提供了一个 30 天的试用版,不限传感器数量,但一旦试用期结束,将恢复到 100 个传感器的免费版本。
3. Idera Diagnostic Manager for SQL Server
Idera Diagnostic Manager for SQL Server(IDM)监控物理和虚拟环境中 SQL 数据库的性能。这个工具提供来自物理服务器、虚拟机及其底层主机硬件的性能统计信息、指标和警报。它监视多个操作参数,如 CPU、内存、硬盘使用情况和空间,以及网络使用情况。该产品还提供了对 SQL 查询的主动监控以及事务 SQL 监控。它还可以为 SQL 数据库的健康状况提供建议。
IDM 提供了基于 Web 的界面和适用于 Android、iOS 手机、平板电脑以及黑莓的移动应用程序。它提供了 SQL 服务器实例的实时和历史数据,允许管理员通过手机应用程序动态修改配置。虽然手机应用程序不如 Web 控制台功能丰富,但仍然可以执行多种管理任务,如查看和终止进程、根据需要启动和停止作业,以及运行查询来解决问题。
IDM 的其他功能包括使用 Management Pack 插件与 SCOM 集成、一个可以避免错误警报的预测警报系统,以及一个查询性能监控功能,该功能可以精确定位效率不高、性能不佳的查询。
IDM 的价格为每个数据库实例 1996 美元起,并提供了一个功能齐全的 14 天试用版。
4. SQL Power Tools
来自 SQL Power 公司的 SQL Power Tools 是一种无代理数据库性能分析解决方案。SQL Power 声称它对服务器的影响非常小,给数据库带来的负载不会超过 1%。这意味着你不需要在服务器上安装任何监控组件。此外,该产品不会往数据库中插入任何表或存储过程。所有的分析都是在远程完成的。它也不会通过数百万个查询来给数据库增加负载,因为这些查询可能会严重影响服务器的性能。
这个工具提供了仪表盘和性能热图视图,可以在浏览器中或移动设备上查看。它会分析每日 SQL 等待时间、性能计数器和作业运行时间。它还会比较服务器和时间段之间的 SQL 和 I/O 等待时间、性能计数器和作业运行时间。你可以进一步查看性能低下的 SQL 查询的 SQL 等待时间,帮你查明导致 SQL 查询不能及时完成的资源争用问题。
SQL Power Tools 的价格在每个数据库 750 美元到 2000 美元之间,如果购买的许可越多,价格就会越低。如果你想要试用该产品,可以联系 SQL Power 获得一个为期 3 周的评估版本。
5. SQL Sentry
来自 SentryOne 的 SQL Sentry 是一种流行的数据库性能监控解决方案。它收集和显示性能指标和警报,并以日历样式显示必要的事件。除了监控之外,还可以直接在仪表盘上运行详细分析来快速解决问题。该产品的性能仪表盘(提供了一个独家的专利存储性能视图)显示了关键查询的详细分析结果。
SQL Sentry 仪表盘有时候会因其过时的外观而受到批评,但它以一种巧妙的方式显示所有关键的 SQL 组件和服务,帮你管理 SQL 数据库实例并确保其可用性。该工具还可以选择查看服务器的历史数据,并将其与当前实时数据进行比较。这些功能有助于生成基线和优化数据库实例和服务器。
SQL Sentry 的价格为每实例 2495 美元,另加每年 499 美元的维护费。如果你选择了订阅方式,价格为每月 125 美元。它还提供了为期 15 天的免费试用。
6. SQL Monitor
SQL Monitor 是 Red Gate 公司提供的一组工具的一个组成部分,你可以使用它来监控、管理、更改、操作和优化 SQL 数据库。你可以用它在问题变得更加严重之前发现它们。这个产品提供了很多功能。其中,它为管理员提供了 SQL Server 集群的概览。它还具有强大的警报功能,让你在问题产生显著影响之前知道它们的存在。报告是该产品的另一个重要特性,它会创建关于服务器健康状况的报告。该工具的性能分析功能将很快让你看到哪些因素对系统的影响最大。在诊断问题时,它可以帮你发现障碍并找到问题的根源。
你可以在 SQL Monitor 的仪表盘上查看所有数据库实例,可以通过客户端在几秒钟内直接访问它们,而无需使用 VPN 或其他方法进行远程连接。仪表盘支持下钻功能,可以在几次单击后显示数据库更详细的统计信息,如等待时间、CPU 使用情况和磁盘 I/O,等等。
SQL Monitor 的基本价格是每个数据库实例 1495 美元。如果你同时购买 5 到 9 个许可证,就可以获得 15% 的折扣。如果购买 10 个或更多许可证,可以获得 20% 的折扣。这些价格中包含了 Red Gate 提供的一年支持。该产品还提供了为期 14 天的试用。
7. Bethune X
云和恩墨数据库实时监控和智能巡检平台BethuneX
BethuneX数据库实时监控和智能巡检平台,首先它的初衷和愿景依然没有改变:成为数据库运维人员最喜欢使用的,并且能够帮助他们快速发现和解决数据库问题的智慧平台。BethuneX的目标,始终是简化那些繁琐的操作或者问题分析,精确且直指数据库问题核心,灵活应对各种业务场景,因此它的主要功能都是围绕此目标展开的,让我们来一探究竟。
无Agent设计,对数据库系统零侵入
BethuneX采用了无Agent设计模式,不再需要目标系统的主机资源和Java环境,部署和连接方式更加快捷。与此同时,BethuneX平台通过CMDB为数据库系统提供统一配置和管理服务,服务运维更加高效准确。全开源架构,快速集成到标准化硬件平台
BethuneX去掉了原来的Oracle资料库,使用了开源的MySQL数据库,除了不再受商业数据库限制,整个架构也更加轻量化。从产品融合角度来说,BethuneX也可以快速集成到标准化的硬件平台,为用户提供开箱即用的标准化交付。
流式计算引擎,监控更加实时
BethuneX引入了流式计算引擎,通过统一临时状态的维护,快速完成采集数据的关联分析、告警通知等,用户感知到的监控将更加实时。流式计算引擎可以快速联动规则引擎,完成各种监控指标的判断及触发监控告警,并对监控告警进行下钻和快照抓取,为用户提供最及时的监控信息反馈。可感知的巡检服务,清晰展示巡检过程
数据库深度巡检一直是Bethune产品的核心功能和优势之一,BethuneX延续了这一产品价值,并再次进行了算法和知识库的升级,可以适应更多的应用及业务场景。BethuneX将用户关注的不同内容进行了准确区分,除了基础巡检,用户可以根据更多的对象、安全、配置等进行自定义巡检,而且整个巡检过程中用户可以了解具体的巡检内容和进度。动态数据库风险评分,量化展示数据库实时动态的健康情况BethuneX为了量化评估数据库运行健康状态,支持对不同的监控指标进行打分或权重设置,最终以总分累计的形式展示数据库风险和健康评分,并且可以动态实时的发生变化,让用户切实的关注系统整体健康变化情况。另外,针对不同的数据库应用场景,可以从不同的维度进行关注,帮助用户快速辨识数据库的最大风险或问题。
告警下钻+性能下钻,双下钻还原数据库性能真相和故障问题BethuneX在基于流式计算引擎的基础上,可以快速完成告警和性能的双下钻分析,在最短、最有效的时间范围内为用户展示数据库当前最及时的性能问题或故障,捕捉在平时那些稍纵即逝和难以回溯的问题根源。
细粒度+灵活的自定义监控,覆盖更多场景需求流式计算引擎的更高实时性,使得BethuneX平台具备更加智慧和灵活的特性,一方面细化了各项监控指标的采集与分析,另一方面也方便进行监控内容的自定义,同时嵌入用户自己的经验智慧,满足更多的监控需求。例如,用户的数据库系统除了数据库,通常还有其他组件,包括:主机,操作系统,网络,存储,SAN,数据同步软件等。这些都是支撑数据库的必要组件,那么这些组件的状态用户通常也希望监控起来。这些场景需求,用户可以通过自行设置调度(例如crontab里面配置shell脚本),把监控数据按照统一的数据模型写入一个日志文件,然后BethuneX通过增量读取日志的方式将数据输入流式计算引擎,实现快速的监控、分析和告警。
邮件+短信+企业微信+语音告警通知,全面触达用户随着企业信息管理途径的多样化,BethuneX除了满足传统的的邮件及短信告警通知,也实现了企业微信的接入,并可以在平台内进行语音播报,实时高效并全面触达客户。
在发布会上,产品经理也总结了这半年时间对BethuneX研发设计的种种思考:如何真正触及用户的核心需求和目标,如何灵活的覆盖不同用户场景,如何最准确实时的为用户传递价值信息,这些反思都引申出了BethuneX简单、灵活、可依赖的服务目标。在使用体验BethuneX产品的时候,除了看到其一贯优雅漂亮的界面,也从各种细节发现它的操作和展示是如此的简单直观,可以想象它简单的背后其实凝聚了更多的智慧和创新。
英文原文:
https://www.addictivetips.com/net-admin/database-monitoring-tools/