tencent cloud

Prometheus 监控服务

产品简介
产品概述
产品优势
应用场景
基本概念
相关限制
功能特性
开服地域
购买指南
计费概述
按量付费(后付费)
免费试用介绍
托管采集器付费介绍
归档存储付费介绍
购买方式
欠费说明
快速入门
接入指南
抓取配置说明
自定义监控
EMR 接入
Java 应用接入
Golang 应用接入
Exporters 接入
Nacos 接入
通用组件监控
健康巡检
TKE 集群内安装组件说明
云监控
非腾讯云主机监控
通过 Remote Read 读取云托管 Prometheus 实例数据
Agent 自助接入
Pushgateway 接入
安全组开放说明
操作指南
实例
容器监控
集成中心
数据多写
预聚合
实例诊断
归档存储
告警策略
标签管理
访问控制
Grafana
API 使用指南
容器服务指标
相关资源使用及计费说明
实践教程
自建 Prometheus 迁入
云服务器场景下自定义接入
容器场景监控
TKE Serverless 集群如何放通外网
Prometheus 监控服务如何接入本地 Grafana
Prometheus 实例访问公网
配置 Prometheus 公网地址
Terraform
Terraform 概述
使用 Terraform 管理 Prometheus 实例
使用 Terraform 管理 Prometheus 实例的集成中心
使用 Terraform 采集容器监控数据
使用 Terraform 配置告警策略
常见问题
基础问题
集成容器服务相关
产品咨询
使用&技术问题
云监控问题
服务等级协议
TMP 政策
TMP 隐私协议
TMP 数据处理和安全协议

SQL Server Exporter 接入

PDF
聚焦模式
字号
最后更新时间: 2025-11-07 14:49:59

操作场景

Microsoft SQL Server Exporter 是社区专门为采集 Microsoft SQL Server(简称:MSSQL) 数据库监控指标而设计开发,通过 MSSQL Exporter 上报性能和健康状况等的指标数据,用于监控大盘展示和异常报警。腾讯云可观测平台 Prometheus 提供了与 MSSQL Exporter 集成及开箱即用的 Grafana 监控大盘。
说明:
如果需要监控的 MSSQL 是腾讯云 云数据库 SQL Server,推荐使用集成中心 云监控集成,支持一键采集云产品指标。

接入方式

方式一:一键安装(推荐)

操作步骤

2. 在实例列表中,选择对应的 Prometheus 实例。
3. 进入实例详情页,选择数据采集 > 集成中心
4. 在集成中心找到并单击 MSSQL,即会弹出一个安装窗口,在安装页面填写指标采集名称和地址等信息,并单击保存即可。


配置说明

参数
说明
名称
集成名称,命名规范如下:
名称具有唯一性。
名称需要符合下面的正则:'^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$'。
用户名
MSSQL 的用户名称,账号创建及授权请参见 账号创建及授权
密码
MSSQL 的密码。
域名
MSSQL 的服务域名。
地址
MSSQL 的服务端口。
标签
给指标添加自定义 Label。

方式二:自定义安装

说明
为了方便安装管理 Exporter,推荐使用腾讯云 容器服务 来统一管理。

前提条件

在 Prometheus 实例对应地域及私有网络(VPC)下,创建腾讯云容器服务 Kubernetes 集群,并为集群创建 命名空间
Prometheus 监控服务控制台 选择对应的 Prometheus 实例,然后在数据采集 > 集成容器服务中找到对应容器集群完成关联集群操作。可参见指引 关联集群

操作步骤

步骤1:Exporter 部署
2. 在左侧菜单栏中单击集群。
3. 单击需要获取集群访问凭证的集群 ID/名称,进入该集群的管理页面。
4. 执行以下 部署 MSSQL Exporter > 验证 步骤完成 Exporter 部署。
步骤2:部署 MSSQL Exporter
1. 在左侧菜单中选择工作负载 > Deployment,进入 Deployment 管理页面。
2. 在页面右上角单击 YAML 创建资源,创建 YAML 配置,选择对应的命名空间来进行部署服务,可以通过控制台的方式创建。如下以 YAML 的方式部署 Exporter, 配置示例如下:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
k8s-app: mssql-exporter # 根据业务需要调整成对应的名称,建议加上 MSSQL 实例的信息
name: mssql-exporter # 根据业务需要调整成对应的名称,建议加上 MSSQL 实例的信息
namespace: mssql-demo # 根据业务需要调整成对应的命名空间
spec:
replicas: 1
selector:
matchLabels:
k8s-app: mssql-exporter # 根据业务需要调整成对应的名称,建议加上 MSSQL 实例的信息
template:
metadata:
labels:
k8s-app: mssql-exporter # 根据业务需要调整成对应的名称,建议加上 MSSQL 实例的信息
spec:
containers:
- env:
- name: SERVER
value: "127.0.0.1" # 根据业务需要调整成对应的 MSSQL 的域名
- name: PORT
value: "1433" # 根据业务需要调整成对应的 MSSQL 的端口
- name: USERNAME
value: user # 根据业务需要调整成对应的 MSSQL 的用户名
- name: PASSWORD
value: "123456" # 根据业务需要调整成对应的 MSSQL 的密码
- name: EXPOSE
value: "4000" # 暴露指标端口,根据业务需要调整成对应的端口
image: ccr.ccs.tencentyun.com/rig-agent/common-image:mssql-exporter-v1.3.0
imagePullPolicy: IfNotPresent
name: mssql-exporter
ports:
- containerPort: 4000 # 开放上述环境变量 EXPOSE 所对应的端口
name: metric-port
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
imagePullSecrets:
- name: qcloudregistrykey
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30

步骤3:验证
1. 在 Deployment 页面单击上述步骤创建的 Deployment,进入 Deployment 管理页面。
2. 单击日志页签,无报错信息输出即可,如下图所示:



3. 单击 Pod 管理页签进入 Pod 页面。
4. 在右侧的操作项下单击远程登录,即可登录 Pod,在命令行窗口中执行以下 wget 命令对应 Exporter 暴露的地址,可以正常得到对应的 MSSQL 指标。如发现未能得到对应的数据,请检查连接串是否正确,具体如下:
wget -qO- http://localhost:4000/metrics
执行结果如下图所示:



步骤4:添加采集任务
1. 登录 Prometheus 控制台,选择对应 Prometheus 实例进入管理页面。
2. 单击数据采集 > 集成容器服务,选择已经关联的集群,通过数据采集配置 > 新建自定义监控 > YAML 编辑来添加采集配置。
3. 通过服务发现添加 PodMonitors 来定义 Prometheus 抓取任务,YAML 配置示例如下:
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: mssql-exporter # 填写一个唯一名称
namespace: cm-prometheus # 按量实例: 集群的 namespace; 包年包月实例(已停止售卖): namespace 固定,不要修改
spec:
podMetricsEndpoints:
- interval: 30s
port: metric-port # 填写pod yaml中Prometheus Exporter对应的Port的Name
path: /metrics # 填写Prometheus Exporter对应的Path的值,不填默认/metrics
relabelings:
- action: replace
sourceLabels:
- instance
regex: (.*)
targetLabel: instance
replacement: 'crs-xxxxxx' # 调整成对应的 MSSQL 实例 ID
namespaceSelector: # 选择要监控 mssql exporter pod所在的namespace
matchNames:
- mssql-demo
selector: # 填写要监控pod的Label值,以定位目标pod
matchLabels:
k8s-app: mssql-exporter


账号创建及授权

腾讯云 SQL Server

1. 登录 腾讯云 SQL Server 控制台,选择对应 SQL Server 实例进入管理页面。
2. 在管理页面选择账号管理,然后单击创建账号。

填写账号的名称、密码,账号类型选择普通账号。接着选择需要监控的数据库,并将权限设置为只读。最后单击确定即可完成账号的创建。


其他 SQL Server 服务

SQL Server 监控账号需要被授予 VIEW SERVER STATE 和 VIEW ANY DEFINITION 权限。如果还需要监控某个数据库,则还需在该数据库授予相应的 db_datareader 权限。在确保客户端计算机与 SQL Server 数据库服务器连通的前提下,可以使用 SSMS 客户端或 sqlcmd 命令行工具连接到数据库,具体的连接操作指南请参见 腾讯云 SQL Server 官方文档。以下的账号创建操作均基于 SSMS 客户端进行。
1. 在 SSMS 客户端选择文件 > 连接对象资源管理器

{ip,port} 的形式填写服务器名称,身份验证选择 SQL Server 身份验证,接着填写登录名和密码,加密选择可选,最后单击连接完成数据库服务器的连接。

2. 右击上一步连接的数据库,单击新建查询

在右侧面板中输入 SQL 语句,然后单击执行即可运行该语句。

3. 创建一个 SQL Server 账号,并授予其 VIEW SERVER STATE 和 VIEW ANY DEFINITION 权限。以下示例命令展示了如何创建一个账号名和密码均为 monitor 的监控账号,并授予其监控所需的权限。
USE master;
IF NOT EXISTS (SELECT 1 FROM sys.server_principals WHERE name = 'monitor')
CREATE LOGIN [monitor] WITH PASSWORD=N'monitor', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF;
GRANT VIEW SERVER STATE TO [monitor];
GRANT VIEW ANY DEFINITION TO [monitor];
命令执行结果如下图所示:

4. 要获取某个数据库的监控数据,需要在该数据库中为监控账号创建一个同名的数据库用户,并授予其 db_datareader 角色权限。以下示例展示了如何在名为 prometheus 的数据库中为监控账号 monitor 创建相应的数据库用户并授予权限的命令。
USE prometheus;
CREATE USER [monitor] FOR LOGIN [monitor];
EXEC sp_addrolemember N'db_datareader', N'monitor';
命令执行结果如下图所示:


查看监控

前提条件

Prometheus 实例已绑定 Grafana 实例。

操作步骤

1. 登录 腾讯云可观测平台 Prometheus 控制台,选择对应 Prometheus 实例进入管理页面。
2. 在实例基本信息页面,找到绑定的 Grafana 地址,打开并登录,然后在 database 文件夹中找到 mssql 实例监控面板,查看实例相关监控数据,如下图所示:




配置告警

腾讯云 Prometheus 托管服务支持告警配置,可根据业务实际的情况来添加告警策略。详情请参见 新建告警策略

附录:MSSQL Exporter 环境变量配置

名称
描述
SERVER
必需,MSSQL 服务 IP 或 域名
PORT
MSSQL 服务端口,默认1433
USERNAME
必需,MSSQL 服务用户名
PASSWORD
必需,MSSQL 服务密码
ENCRYPT
强制加密设置,默认为true
TRUST_SERVER_CERTIFICATE
是否信任服务器的证书设置,默认为true
DEBUG
逗号分割的启用日志列表,可选 currently supports app 和 metrics

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈