Ubuntu上可用的SQL Server性能监控工具清单
一 内置数据库工具
- SQL Server Management Studio SSMS:在图形界面查看活动监视器、执行计划、性能报告,便于快速定位阻塞、慢查询等问题。适合在本地或跳转机上使用。
- 扩展事件 Extended Events:轻量级事件捕获框架,可用 T‑SQL 创建会话,聚焦SQL 语句完成、登录/注销、死锁等事件,开销小、可长期留存。
- 动态管理视图 DMVs:通过查询如sys.dm_exec_requests、sys.dm_os_wait_stats、sys.dm_os_performance_counters获取实时的会话、等待、性能计数器等内部状态,适合做自定义监控与报表。
- SQL Server Profiler:传统图形化跟踪工具,用于捕获SQL:BatchStarting、RPC:Starting等事件以分析查询与事务;在 Linux 场景中更推荐用 Extended Events 替代。
二 命令行与系统层工具
- sqlcmd:在 Ubuntu 终端执行 T‑SQL 查询 DMVs/性能视图,便于脚本化巡检与告警集成。
- 系统监控:使用 top/htop、vmstat、iostat、netstat、free、df、uptime 观察 CPU、内存、磁盘 I/O、网络、连接数 等系统资源瓶颈,与数据库指标联动排查。
- 通用系统监控:glances、dstat、Netdata 提供跨平台、实时的资源与健康概览,适合做主机层面的“兜底”观测。
三 可视化与第三方监控
- Prometheus + Grafana:以时间序列方式存储与展示指标,配合相应的 SQL Server Exporter 抓取数据库与 OS 指标,Grafana 用于构建可视化仪表盘与告警面板。
- 商业与综合监控:如 SolarWinds Database Performance Analyzer、Red Gate SQL Monitor、ManageEngine OpManager、Paessler PRTG,提供开箱即用的监控、告警、容量分析等能力,适合企业级统一管理。
四 选型与落地建议
- 以“DMVs/Extended Events + sqlcmd”做数据库内视,覆盖等待、会话、语句级问题定位;用“系统工具”排查资源瓶颈;用“Prometheus/Grafana”做长期可视化与告警。
- 生产环境控制采集粒度与保留周期,避免Profiler/高频率 XE带来的额外开销;对关键业务库优先使用轻量事件与采样。
- 统一命名规范与标签(实例、库、应用),将数据库指标与主机/容器指标关联,便于根因分析。
- 建立基线与阈值,对阻塞、长事务、错误激增、磁盘/内存压力设置分级告警与演练手册。