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 时可以在其查询编辑器中创建查询。
配置数据源
要配置数据源的基本设置,请完成以下步骤:
点击左侧菜单中的连接 (Connections)。
在“您的连接 (Your connections)”下,点击数据源 (Data sources)。
在搜索栏中输入
Microsoft SQL Server
。选择Microsoft SQL Server。
显示数据源的设置 (Settings) 选项卡。
设置数据源的基本配置选项
名称 | 描述 |
---|---|
名称 | 设置在面板和查询中引用此数据源时使用的名称。 |
默认 | 设置新面板预选的数据源。 |
主机 | 设置 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
权限
CREATE USER grafanareader WITH PASSWORD 'password'
GRANT SELECT ON dbo.YourTable3 TO grafanareader
此外,请确保该用户不具有公共角色赋予的任何不必要的权限。
诊断连接问题
如果您使用较旧版本的 Microsoft SQL Server,例如 2008 和 2008R2,您可能需要在连接数据源之前禁用加密。
我们建议您使用最新的服务包以获得最佳兼容性。
配置数据源
您可以将数据源定义并配置在 YAML 文件中,作为 Grafana Provisioning 系统的一部分。有关 Provisioning 的更多信息以及可用配置选项,请参阅配置 Grafana。
配置示例
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 将此类变量称为模板变量。
有关详细信息,请参阅模板变量文档。