监测 Microsoft SQL Server
安装 Instana 代理后, Microsoft SQL Server 传感器会自动部署和安装。
支持信息
要确保 Microsoft SQL Server 传感器与您当前的设置兼容,请查看以下支持信息部分:
受支持的操作系统
传感器支持以下操作系统
- Windows
- Linux
支持的版本和支持政策
传感器支持以下版本的 Microsoft SQL Server :
- SQL Server 2016
- SQL Server 2017
- SQL Server 2019
- SQL Server 2022
下表列出了最新支持的版本和支持政策:
| 技术 | 支持策略 | 最新技术版本 | 最新的受支持版本 |
|---|---|---|---|
| Microsoft SQL Server | 45 天 | 2022 年 | 2022 年 |
有关支持政策的更多信息,请参阅 《传感器支持策略》。
支持客户端跟踪
对于这项技术,Instana 支持以下语言和运行时的客户端跟踪:
配置 MS SQL Server 传感器
Instana 支持本地和远程监控 MS SQL 传感器。
在使用Instana配置MS SQL监控时,请确保实例名称和端口均正确无误。 在身份验证过程中 SQL Server ,端口号优先于实例名称。 因此,即使实例名称不正确,使用指定的端口和用户凭据仍可建立连接。 但是,错误的端口可能会导致 Instana 监控错误的实例。
本地
您必须在安装 Microsoft SQL Server 的同一系统上安装 Instana 主机代理。 要在 Windows 上安装 Instana 主机代理,请参阅《 在 Windows 上安装主机代理 》主题。 要在 上安装 Instana 主机代理, Linux 请参阅《 在 上安装主机 Linux 代理》主题。
安装 Instana 代理后,默认情况下会启用 MS SQL Server 传感器。 您可以选择 Instana 代理连接到 SQL Server 的方式,如下所示:
SQL Server 身份验证:如果在代理配置文件
*instanaAgentDir*/etc/instana/configuration.yaml中提供实例、用户名、密码和端口(明文),如以下配置所示,代理将通过 SQL Server 身份验证连接到 SQL Server :本地监控传感器的设计已更新,以支持使用该 SQL Server 身份验证的多数据库实例。 因此,所有本地监控配置现在都必须在
local标签下定义。 不过,该设计仍与监控单一数据库实例的现有配置兼容,并将继续得到支持。com.instana.plugin.mssql: local: # multiple configurations supported - instance: 'MSSQLSERVER' # instance name of MsSQL Server user: 'mssql' password: 'password' port: '1433' poll_rate: 60 # seconds. top_queries_poll_rate: 120 # seconds.Windows 身份验证:如果不注释代理配置文件中的配置部分,或将用户名和密码留空,代理会尝试使用 Windows 身份验证进行连接。 使用 Windows 身份验证时,代理使用其运行时的凭据进行身份验证。
poll_rate:指定轮询速率。 默认值为 1 秒。top_queries_poll_rate:指定顶级查询的轮询率。 默认值为 60 秒。使用 Windows 身份验证时,请确保您的账户具有所需服务器或数据库权限部分所述的适当权限。
远程
要进行远程监控,请使用以下配置:
com.instana.plugin.mssql:
remote: # multiple configurations supported
- host: 'host-1'
instance: 'MSSQLSERVER02' #Instance name of MSSQL Server
user: 'mssql'
password: 'password'
port: '1434'
availabilityZone: 'MSSQLSERVER02_REMOTE'
poll_rate: 60 # seconds
top_queries_poll_rate: 120 # seconds
然后,配置的远程 MS SQL 实例会在 Instana UI 的基础设施仪表板上指定的 availabilityZone 中显示为一个单独的框。
设置 SSL 或 TLS 支持
要让 Instana 代理安全地连接到 MS SQL Server ,请按如下方式配置代理配置文件<agent_install_dir>/etc/instana/configuration.yaml :
本地
对于本地监控,请使用以下配置:
com.instana.plugin.mssql:
local:
...
sslTrustStoreLocation: '/path/to/truststore.jks'
sslTrustStorePassword: 'trustStorePassword'
远程
要进行远程监控,请使用以下配置:
com.instana.plugin.mssql:
remote:
...
sslTrustStoreLocation: '/path/to/truststore.jks'
sslTrustStorePassword: 'trustStorePassword'
网络设置
如果在 Windows 系统上运行 Microsoft SQL 数据库和 Instana 代理,请确保 TCP/IP 协议已启用,且 SQL Server 浏览器服务正在运行。
设置自定义端口
如果要指定传感器必须用于监控实例的自定义端口(默认端口 1433 除外),请在代理配置文件中指定端口字段:
com.instana.plugin.mssql:
port: 2529 # custom Microsoft SQL TCP port
所需的服务器或数据库权限
Instana 通过使用代理配置文件中指定的用户凭证在 SQL Server 上查询动态管理视图 (DMV)。 确保代理配置文件中指定的 SQL 用户具有 VIEW SERVER STATE 和 VIEW DATABASE STATE 权限。 有关这些权限的更多信息,请参阅系统动态管理视图。
指标收集
要查看指标,请在 Instana 用户界面侧边栏中选择基础架构 ,单击特定受监控主机,然后就能看到包含所有收集的指标和受监控进程的主机仪表板。
配置数据
- 实例名称
- 版本
- 进程标识
- 开始时间
绩效指标
| 指标 | 描述 | 精度 |
|---|---|---|
| 用户连接数 | 用户连接的数量 | 1 秒 |
| 最大连接数 | 最大并发用户连接数。 默认情况下,该值为 0,这意味着可连接的用户数量不受限制。 要更改此值,请参阅 “配置用户连接”服务器配置选项。 | 1 秒 |
| 在服务器上的等待时间 | 页面 IO-Latch EX、Page IO-Latch SH、Async Network IO、CX-Packet 和 Writelog | 1 秒 |
| 读取数和写入数 | 虚拟文件读写量(以字节计) | 1 秒 |
| 事务 | 写入事务的数量 | 1 秒 |
| 错误 | 用户、数据库脱机和终止连接错误 | 1 秒 |
| 锁定数 | 锁定请求和死锁的数量 | 1 秒 |
| 数据库内存 | 数据库使用的内存和容量(MB | 1 秒 |
| 虚拟内存 | 虚拟内存(MB | 1 秒 |
| 响应时间 | 交易响应时间 | 1 秒 |
| 数据库高速缓存命中率 | 数据库缓存命中率(百分比 | 1 秒 |
数据库
| 指标 | 描述 | 精度 |
|---|---|---|
| 用户连接数 | 用户连接的数量 | 1 秒 |
| 读取数和写入数 | 虚拟文件读写量(以字节计) | 1 秒 |
| 事务 | 写入事务的数量 | 1 秒 |
| 可疑状态 | 指示数据库是否处于某种 SUSPECT 状态。 Yes 数据库已损坏或不可用,且无法自动恢复。 No 数据库运行正常。 |
每传感器轮询速率 |
| 非同步状态 | 指示数据库在镜像过程中是否处于非活动状态 SYNCHRONIZING 。 Yes 镜像未与主数据库同步。 No 镜像正在与主数据库同步。 |
每传感器轮询速率 |
排名靠前的查询
您可以在 SQL Server 的仪表板上找到 "热门查询 "部分。 该表列出了针对受监控实例发出的前 50 个查询(基于这些查询所消耗的时间)。 除了已处理的 SQL 语句外,您还可以看到以下指标:
| 指标 | 描述 | 精度 |
|---|---|---|
| 执行时间 | 总执行时间和上次执行时间 | 60 秒 |
| 逻辑读取数 | 上次逻辑读取数 | 60 秒 |
| 逻辑写入数 | 上次逻辑写入数 | 60 秒 |
对加密连接(SSL 或 TLS)进行故障排除
如果 Instana 代理无法连接到加密的 MSSQL 服务器,请使用以下 keytool 命令将可信证书导入 JRE 的 cacerts (jvm/jre/lib/security/cacerts) 文件:
keytool -import -alias ALIAS_NAME -keystore "/path/to/jre/cacerts" -file YOUR_CERTIFICATE_NAME.crt