菜单
文档breadcrumb arrow Grafana 文档breadcrumb arrow 数据源breadcrumb arrow Microsoft SQL Server
Grafana Cloud Enterprise 开源 RSS

Microsoft SQL Server 数据源

Grafana 内置支持 Microsoft SQL Server (MS SQL)。您可以查询和可视化来自任何 Microsoft SQL Server 2005 或更高版本(包括 Microsoft Azure SQL Database)的数据。

本文档解释了 Microsoft SQL Server 数据源的特定配置。

有关如何将数据源添加到 Grafana 的说明,请参阅管理文档。只有具有组织管理员角色的用户才能添加数据源。管理员还可以通过 Grafana 的 Provisioning 系统使用 YAML 配置数据源。

添加 Microsoft SQL Server 数据源后,您可以对其进行配置,以便 Grafana 实例的用户在构建仪表盘和使用Explore 时可以在其查询编辑器中创建查询。

配置数据源

要配置数据源的基本设置,请完成以下步骤:

  1. 点击左侧菜单中的连接 (Connections)

  2. 在“您的连接 (Your connections)”下,点击数据源 (Data sources)

  3. 在搜索栏中输入 Microsoft SQL Server

  4. 选择Microsoft SQL Server

    显示数据源的设置 (Settings) 选项卡。

  5. 设置数据源的基本配置选项

名称描述
名称设置在面板和查询中引用此数据源时使用的名称。
默认设置新面板预选的数据源。
主机设置 MS SQL 实例的 IP 地址/主机名和可选端口。默认端口为 0,即驱动程序的默认设置。您可以通过分号 (;) 分隔每个属性来指定多个连接属性,例如 ApplicationIntent
数据库设置 MS SQL 数据库的名称。
身份验证设置身份验证模式,可使用 SQL Server 身份验证、Windows 身份验证(Windows 用户单点登录)、Azure Active Directory 身份验证或各种形式的 Windows Active Directory 身份验证。
用户定义数据库用户的用户名。
密码定义数据库用户的密码。
加密确定是否以及在何种程度上与服务器协商安全的 SSL TCP/IP 连接。选项包括:disable - 客户端和服务器之间发送的数据不加密;false - 客户端和服务器之间发送的数据除登录包外不加密;true - 客户端和服务器之间发送的数据加密。默认值为 false
最大打开连接数设置到数据库的最大打开连接数。默认值为 100
最大空闲连接数设置空闲连接池中的最大连接数。默认值为 100
自动 (最大空闲)如果设置,将最大空闲连接数设置为最大打开连接数。默认值为 true
最大生命周期设置数据源可以重用连接的最大秒数。默认值为 14400 (4 小时)。

您还可以配置 Microsoft SQL Server 数据源的特定设置。这些选项将在下面的章节中介绍。

最小时间间隔

最小时间间隔 (Min time interval) 设置定义了 $__interval 和 [$__interval_ms][add-template-variables-interval_ms] 变量的下限。

此值必须格式化为数字后跟有效的时间标识符

标识符描述
y
M
w
d
h小时
m分钟
s
ms毫秒

我们建议将此值设置为与 Microsoft SQL Server 的写入频率匹配。例如,如果 Microsoft SQL Server 每分钟写入一次数据,则使用 1m

您还可以在仪表盘面板的数据源选项中覆盖此设置。

连接超时

连接超时 (Connection timeout) 设置定义了在超时前等待连接到数据库的最大秒数。默认值为 0,表示无超时。

UDP 首选限制

UDP 首选限制 (UDP Preference Limit) 设置定义了 Kerberos 库在尝试通过 UDP 连接发送数据包后,转而使用 TCP 重试之前的数据包最大大小。默认值为 1,表示始终使用 TCP。

DNS 查找 KDC

DNS 查找 KDC (DNS Lookup KDC) 设置控制是否在 DNS 中查找 KDC。默认值为 true。

KRB5 配置文件路径

KRB5 配置文件路径 (KRB5 config file path) 存储 krb5 配置文件的位置。默认值为 /etc/krb5.conf

数据库用户权限

Grafana 不会验证查询是否安全,并且可能包含任何 SQL 语句。例如,如果查询用户有权限,Microsoft SQL Server 将执行诸如 DELETE FROM user;DROP TABLE user; 等破坏性查询。

为了防止这种情况,我们强烈建议您创建一个具有受限权限的特定 MS SQL 用户。

仅将您在添加数据源时指定的数据库用户授予对您想要查询的指定数据库和表的 SELECT 权限

sql
CREATE USER grafanareader WITH PASSWORD 'password'
GRANT SELECT ON dbo.YourTable3 TO grafanareader

此外,请确保该用户不具有公共角色赋予的任何不必要的权限。

诊断连接问题

如果您使用较旧版本的 Microsoft SQL Server,例如 2008 和 2008R2,您可能需要在连接数据源之前禁用加密。

我们建议您使用最新的服务包以获得最佳兼容性。

配置数据源

您可以将数据源定义并配置在 YAML 文件中,作为 Grafana Provisioning 系统的一部分。有关 Provisioning 的更多信息以及可用配置选项,请参阅配置 Grafana

配置示例

yaml
apiVersion: 1

datasources:
  - name: MSSQL
    type: mssql
    url: localhost:1433
    user: grafana
    jsonData:
      database: grafana
      maxOpenConns: 100
      maxIdleConns: 100
      maxIdleConnsAuto: true
      connMaxLifetime: 14400
      connectionTimeout: 0
      encrypt: 'false'
    secureJsonData:
      password: 'Password!'

查询数据源

在使用 MS SQL 数据源的面板编辑器中编辑面板时,您可以使用 Microsoft SQL Server 数据源的查询编辑器创建查询。

有关详细信息,请参阅查询编辑器文档

使用模板变量

除了在指标查询中硬编码服务器、应用程序和传感器名称等详细信息外,您还可以使用变量。Grafana 在仪表盘顶部列出这些变量的下拉选择框,帮助您更改仪表盘中显示的数据。Grafana 将此类变量称为模板变量。

有关详细信息,请参阅模板变量文档