Grafana SAP HANA® 数据源
SAP HANA® 是一个高性能内存数据库,可加快数据驱动的实时决策和行动。它由 SAP® 开发和销售。Grafana 的 SAP HANA 数据源插件可帮助您将 SAP HANA 实例连接到 Grafana。
借助 SAP HANA® Grafana Enterprise 插件,您可以将 SAP HANA 数据与 Grafana 中的所有其他数据源以及上下文中的日志和指标数据一起可视化。此插件包含内置的查询编辑器,支持注解,并允许您设置警报阈值、控制访问、设置权限等。此插件适用于拥有 Grafana Enterprise 许可证的客户。
充分利用 SAP HANA® 和 Grafana Enterprise
无需移动数据即可可视化 SAP HANA 数据:Grafana 直接查询数据所在位置,而不是移动数据,这通常需要您为冗余存储和采集付费。
从多个数据源组合面板:通过预构建和定制的 Dashboard,在单个 Dashboard 中呈现来自许多不同数据源的数据。
在用户层面进行转换和计算:只需较少的数据准备,用户即可转换数据并运行各种计算。
在面板中组合、计算和可视化:创建混合数据源面板,显示来自 SAP HANA 和其他数据源的相关数据。
要求
此插件有以下要求
- SAP HANA® URL、用户名和密码,以及必要的权限
- Grafana 服务器与 SAP HANA® 服务器之间的连接性,可能受防火墙规则保护,在这种情况下,您需要允许 Grafana 的 IP 进行连接
- 以下任一账户类型
- 任何免费或付费的 Grafana Cloud 套餐或已激活的本地 Grafana Enterprise 许可证。合同约定的 Cloud 客户应参考其协议。
特性
查询编辑器:该插件附带内置的 SQL 查询编辑器,具有语法高亮功能,允许您可视化时序或表格数据,并自动补全基本的 Grafana 宏。
数据源权限:控制谁可以在 Grafana 中查看或查询 SAP HANA 数据。
注解:将 SAP HANA 事件或数据叠加到任何 Grafana 图形上,以将事件与其他图形数据关联起来。
警报:根据存储在 SAP HANA 中的指标设置警报。
查询变量:在 Grafana 中创建基于 SAP HANA 数据的模板变量,并在 SAP HANA 查询中包含变量,以使 Dashboard 具有交互性。
租户数据库:可以通过主机和端口,或通过主机、数据库名称和实例号连接到租户。
查询编辑器
SAP HANA® Grafana 插件附带一个 SQL 查询编辑器,您可以在其中输入任何 HANA 查询。如果您的查询返回时序数据,您可以将其格式化为时序,以便在图形面板中进行可视化。
查询编辑器提供对支持的 Grafana 宏的自动补全以及 SQL 查询的语法高亮。
注解
您可以将 SAP HANA 查询用作 Grafana 注解的来源。您的注解查询应至少返回一个时间列和一个文本列。有关注解的更多信息,请参阅注解。
从 SAP HANA 创建注解
- 点击Dashboard 设置齿轮图标。
- 从左侧菜单中,点击注解,然后点击新建。
- 从数据源下拉菜单中,选择您的 SAP HANA 数据源实例。
- 在查询字段中,输入一个至少返回一个时间字段和一个文本字段的 SAP HANA 查询。
- 从格式化为下拉菜单中,选择时序。
- 对于每个注解,配置起始字段。
注意:注解功能在 Grafana 7.2 或更高版本中可用。
注解编辑器
图形面板中的注解
模板和变量
有关变量的更多信息,请参阅模板和变量。
从 SAP HANA 查询创建 Grafana 变量
要添加新的 SAP HANA 查询变量,请参阅添加查询变量。
- 从Dashboard 设置齿轮图标中,点击变量,然后点击新建按钮。
- 使用查询变量类型,选择 SAP HANA 数据源作为数据源。
- 输入返回项目列表的 SAP HANA 查询。
示例
以下查询返回 users
表中唯一的 username
列表
select distinct("username") from "users"
另一种选择是可以创建键/值变量的查询。该查询应返回两个名为 __text
和 __value
的列。__text
列的值应是唯一的(如果不是唯一的,则使用第一个值)。下拉菜单中的选项将具有文本和值,允许您使用友好名称作为文本,将 ID 作为值。以下是一个以 hostname 作为文本,ID 作为值的示例查询
SELECT host_name AS "__text", host_id AS "__value" FROM hosts_list_table
确保您的变量查询只选择 1 列。如果您的查询返回 2 列,请确保正确设置了
__text
和__value
列。否则,第一列将用作显示值,第二列将用作变量的实际值。如果您的查询返回超过 2 列,则仅使用第一列,其余列将被忽略。
在 SAP HANA 查询中使用 Grafana 变量
您可以在查询中使用任何 Grafana 变量。以下示例展示了如何在查询中使用单个/多个变量。
-- For example, following query
select * from "users" where "city" = ${city}
-- will be translated into
select * from "users" where "city" = 'london'
--- where you can see ${city} variable translated into actual value in the variable
与文本类似,变量也适用于数字字段。在以下示例中,${age}
是一个文本框变量,它接受数字,然后与表中的数字字段进行比较。
select * from "users" where "age" > ${age}
--- wil be translated into
select * from "users" where "age" > '36'
如果您的变量返回多个值,您可以在 SAP HANA 查询的 in
条件中使用它,如下所示。请注意变量周围的方括号,以使 where in
条件在 SAP HANA 中有效。
select * from "users" where "city" in (${cities})
--- will be translated into
select * from "users" where "city" in ('london','perth','delhi')
--- where you can see ${cities} turned into a list of grafana variables selected.
--- You can also write the same query using shorthand notation as shown below
select * from "users" where "city" in ($cities)
SAP HANA® 查询中的宏
宏 | 描述 |
---|---|
$__timeFilter(<time_column>) | 在原始查询中使用时,将 Grafana 的时间范围应用于指定的列。适用于日期/时间戳/长时列。 |
$__timeFilter(<time_column>,<format>) | 同上。但可以指定存储在数据库中的时间列的格式。 |
$__timeFilter(<time_column>,"epoch",\<format>) | 同上,但当您的时间列是 epoch 格式时可以使用。format 可以是 ’s’、‘ms’ 或 ’ns’ 之一。 |
$__fromTimeFilter(<time_column>) | 根据 Grafana 的起始时间返回时间字段的条件 |
$__fromTimeFilter(<time_column>,<comparison_predicate>) | 同上,但可以指定 comparison_predicate |
$__fromTimeFilter(<time_column>,<format>) | 同上,但可以指定时间列的格式 |
$__fromTimeFilter(<time_column>,<format>,<comparison_predicate>) | 同上,但可以指定 comparison_predicate |
$__toTimeFilter(<time_column>) | 根据 Grafana 的结束时间返回时间字段的条件 |
$__toTimeFilter(<time_column>,<comparison_predicate>) | 同上,但可以指定 comparison_predicate |
$__toTimeFilter(<time_column>,<format>) | 同上,但可以指定时间列的格式 |
$__toTimeFilter(<time_column>,<format>,<comparison_predicate>) | 同上,但可以指定 comparison_predicate |
$__timeGroup(<time_column>,<interval>) | 将时间列扩展为间隔组。适用于日期/时间戳/长时列。 |
$__fromTimeStamp() | 扩展为 Dashboard 的起始时间戳。例如:timestamp'2023-01-11T00:02:03Z' |
$__toTimeStamp() | 扩展为 Dashboard 的结束时间戳。例如:timestamp'2023-01-12T00:02:03Z' |
$__timeFilter(<time_column>) 宏
以下示例解释了 $__timeFilter(<time_column>)
宏。
-- In the following example, the query
select ts, temperature from weather where $__timeFilter(ts)
--- will be translated into
select ts, temperature from weather where ts > '2021-02-24T12:52:48Z' AND ts < '2021-03-24T12:52:48Z'
--- where you can see the grafana dashboard's time range is applied to the column ts in the query.
$__timeFilter(<time_column>,\<format>)
宏
在某些情况下,数据库中的时间列可能以自定义格式存储。以下示例解释了 $__timeFilter(<time_column>,<format>)
宏,该宏可根据时间选择器过滤自定义时间戳。
SELECT TO_TIMESTAMP("TS",'YYYYMMDDHH24MISS') AS METRIC_TIME , "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TS","YYYYMMDDHH24MISS") -- TS is in 20210421162012 format
SELECT TO_TIMESTAMP("TS",'YYYY-MON-DD') AS METRIC_TIME , "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TS","YYYY-MON-DD") -- TS is in 2021-JAN-15 format
在宏中,format 可以是与您的时间戳列匹配的有效 HANA 格式之一。示例:当您的数据存储在 20210421162012
格式时,YYYYMMDDHH24MISS
是一个有效格式。
$__timeFilter(<time_column>,"epoch",\<format>)
宏
在某些情况下,您的数据库中可能存储 epoch 时间戳。以下示例解释了 $__timeFilter(<time_column>,"epoch",<format>)
宏,该宏可根据时间选择器过滤 epoch 时间戳。在宏中,format 可以是 ms
、s
或 ns
之一。如果未指定,则 s
将被视为默认格式。
SELECT ADD_SECONDS('1970-01-01', "TIMESTAMP") AS "METRIC_TIME", "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TIMESTAMP","epoch") -- Example : TIMESTAMP field stored in epoch_second format 1257894000
SELECT ADD_SECONDS('1970-01-01', "TIMESTAMP") AS "METRIC_TIME", "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TIMESTAMP","epoch","s") -- Example : TIMESTAMP field stored in epoch_second format 1257894000
SELECT ADD_SECONDS('1970-01-01', "TIMESTAMP"/1000) AS "METRIC_TIME", "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TIMESTAMP","epoch","ms") -- Example : TIMESTAMP field stored in epoch_ms format 1257894000000
SELECT ADD_SECONDS('1970-01-01', "TIMESTAMP"/1000000000) AS "METRIC_TIME", "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TIMESTAMP","epoch","ns") -- Example : TIMESTAMP field stored in epoch_nanoseconds format 1257894000000000000
除了使用 $__timeFilter
的第三个参数外,您还可以使用 epoch_s
、epoch_ms
或 epoch_ns
中的一个作为您的第二个参数。
SELECT ADD_SECONDS('1970-01-01', "TIMESTAMP"/1000) AS "METRIC_TIME", "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TIMESTAMP","epoch","ms")
-- is same as
SELECT ADD_SECONDS('1970-01-01', "TIMESTAMP"/1000) AS "METRIC_TIME", "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TIMESTAMP","epoch_ms")
$__fromTimeFilter()
& $__toTimeFilter()
宏
$__fromTimeFilter()
宏根据时间选择器的起始时间扩展为时间字段上的条件。
这接受三个参数。第一个参数是时间字段名。您可以将 comparison_predicate
或时间列的格式作为第二个参数传递。如果您想同时传递两者,则格式是第二个参数,并将 comparison_predicate
用作第三个参数。
<format> 如果未指定格式,插件将假定时间列是时间戳/日期类型。如果您的时间列以时间戳/日期以外的任何其他格式存储,则将格式作为第二个参数传递。<format> 可以是 epoch_s
、epoch_ms
、epoch_ns
之一,或任何其他自定义格式,例如 YYYY-MM-DD
。
<comparison_predicate>:可选参数。如果未传递,插件将使用 >
作为比较谓词。<comparison_predicate> 可以是 =
、!=
、<>
、<
、<=
、>
、>=
之一
$__toTimeFilter()
的工作方式与 $__fromTimeFilter()
相同。它使用 Grafana 的结束时间,而不是起始时间。默认比较谓词也将是 <
。
请参阅下面的宏示例。
$__timeGroup(<time_column>,<interval>) 宏
例如,宏 $__timeGroup(timecol,1h)
在查询中扩展为 SERIES_ROUND("timecol", 'INTERVAL 1 HOUR')
。有关 SERIES_ROUND
函数的更多信息,请参阅SAP HANA® 文档。以下间隔在 SAP HANA 间隔查询中有效。
间隔 | 持续时间 |
---|---|
m | 分钟 |
s | 秒 |
h | 小时 |
d | 天 |
M | 月 |
y | 年 |
示例
以下示例解释了 $__timeGroup(<time_column>,<interval>)
宏。间隔应为 1h
、3m
等格式之一。
SELECT $__timeGroup(timestamp,1h), "user", sum("value") as "value"
FROM "salesdata"
WHERE $__timeFilter("timestamp")
GROUP BY $__timeGroup(timestamp,1h), "user"
ORDER BY $__timeGroup(timestamp,1h) ASC
将转换为以下查询,其中 $__timeGroup(timestamp,1h)
扩展为 SERIES_ROUND("timestamp", 'INTERVAL 1 HOUR')
SELECT SERIES_ROUND("timestamp", 'INTERVAL 1 HOUR') as "timestamp", "user", sum("value") as "value"
FROM "salesdata"
WHERE "timestamp" > '2020-01-01T00:00:00Z' AND "timestamp" < '2020-01-01T23:00:00Z'
GROUP BY SERIES_ROUND("timestamp", 'INTERVAL 1 HOUR'), "user"
ORDER BY "timestamp" ASC
注意:在使用
$__timeGroup
宏进行分组时,请确保您的 select、sort by 字段名称与 group by 字段名称相同。否则,HANA 可能无法识别该查询。
如果您不想在 $__timeGroup()
函数中硬编码间隔,则可以将其留给 Grafana,只需指定 $__interval
作为您的间隔。Grafana 将根据 Dashboard 的时间范围计算该间隔。以下是示例查询。
SELECT $__timeGroup(timestamp, $__interval), sum("value") as "value"
FROM "salesdata"
WHERE $__timeFilter("timestamp")
GROUP BY $__timeGroup(timestamp, $__interval)
ORDER BY $__timeGroup(timestamp, $__interval) ASC
将根据 Dashboard 的时间范围转换为以下查询。
SELECT SERIES_ROUND("timestamp", 'INTERVAL 1 MINUTE'), sum("value") as "value"
FROM "salesdata"
WHERE "timestamp" > '2019-12-31T23:09:14Z' AND "timestamp" < '2020-01-01T23:17:54Z'
GROUP BY SERIES_ROUND("timestamp", 'INTERVAL 1 MINUTE')
ORDER BY SERIES_ROUND("timestamp", 'INTERVAL 1 MINUTE') ASC
您还可以使用此处描述的任何其他宏。
宏示例
以下是当 Grafana 的起始时间为 2014-11-12T11:45:26.371Z
,结束时间为 2015-11-12T11:45:26.371Z
时,不同宏的示例。
格式 | 扩展为 |
---|---|
$__timeFilter("TS") | "TS" > '2014-11-12T11:45:26Z' AND "TS" < '2015-11-12T11:45:26Z' |
$__timeFilter("TS","YYYYMMDDHH24MISS") | TO_TIMESTAMP("TS",'YYYYMMDDHH24MISS') > '2014-11-12T11:45:26Z' AND TO_TIMESTAMP("TS",'YYYYMMDDHH24MISS') < '2015-11-12T11:45:26Z' |
$__timeFilter("TS","epoch_ms") | "TS" > '1415792726000' AND "TS" < '1447328726000' |
$__timeFilter("TS","epoch_ns") | "TS" > '1415792726000000000' AND "TS" < '1447328726000000000' |
$__fromTimeFilter("TS") | "TS" > '2014-11-12T11:45:26Z' |
$__fromTimeFilter("TS","epoch") | ADD_SECONDS( '1970-01-01', "TS" ) > '2014-11-12T11:45:26Z' |
$__fromTimeFilter("TS","epoch_s") | ADD_SECONDS( '1970-01-01', "TS" ) > '2014-11-12T11:45:26Z' |
ADD_SECONDS( '1970-01-01', "TS" ) > '2014-11-12T11:45:26Z' | $__fromTimeFilter("TS","epoch_ms") |
ADD_SECONDS( '1970-01-01', ("TS" / 1000)) > '2014-11-12T11:45:26Z' | $__fromTimeFilter("TS","epoch_ns") |
ADD_SECONDS( '1970-01-01', ("TS" / 1000000000)) > '2014-11-12T11:45:26Z' | $__fromTimeFilter("TS","YYYYMMDDHH24MISS") |
TO_TIMESTAMP("TS",'YYYYMMDDHH24MISS') > '2014-11-12T11:45:26Z' | $__fromTimeFilter("TS",">=") |
"TS" >= '2014-11-12T11:45:26Z' | $__fromTimeFilter("TS","epoch_ms",">=") |
ADD_SECONDS( '1970-01-01', ("TS" / 1000)) >= '2014-11-12T11:45:26Z' | $__fromTimeFilter("TS","YYYYMMDDHH24MISS",">=") |
TO_TIMESTAMP("TS",'YYYYMMDDHH24MISS') >= '2014-11-12T11:45:26Z' | $__toTimeFilter("TS") |
"TS" < '2015-11-12T11:45:26Z' | $__timeGroup("TS","1h") |
SERIES_ROUND("TS", 'INTERVAL 1 HOUR') | $__timeGroup("TS","$__interval") |
将数据可视化为日志
要在 Explore 中的日志查看器中可视化数据,请在查询中使用 Logs
格式。
当您使用 Logs
格式进行查询时,请在查询中至少包含一个时间列和一个字符串列或内容列。可选地,您可以通过使用名为 level
的第三列来设置特定行的日志级别。有关支持的日志级别及其关键字的信息,请参阅Explore 中的日志。如果查询返回任何附加列,它们将被视为日志中的附加字段或检测到的字段。
以下是一个有效的日志查询示例
SELECT 'hello foo' AS "content", timestamp'2021-12-31 23:59:59' AS "start_time", 'warn' AS "level" FROM DUMMY UNION
SELECT 'hello bar' AS "content", timestamp'2021-12-30 14:12:59' AS "start_time", 'error' AS "level"FROM DUMMY UNION
SELECT 'hello baz' AS "content", timestamp'2021-12-30 23:59:59' AS "start_time", 'warn' AS "level" FROM DUMMY UNION
SELECT 'hello qux' AS "content", timestamp'2021-12-29 23:59:59' AS "start_time", 'info' AS "level" FROM DUMMY UNION
SELECT 'hello quux' AS "content", timestamp'2021-12-28 23:59:59' AS "start_time", 'unknown' AS "level" FROM DUMMY UNION
SELECT 'hello quuz' AS "content", timestamp'2021-12-27 23:59:59' AS "start_time", 'info' AS "level" FROM DUMMY;
警报
轻松设置针对特定 SAP HANA 指标或您创建的查询的警报
在 Grafana 中创建 SAP HANA 警报的步骤
- 在 Dashboard 中创建一个图形面板。
- 创建时序格式的 SAP HANA 查询。
- 点击警报选项卡并指定警报条件。
- 点击测试规则按钮以测试您的警报查询。
- 指定警报接收者、消息和错误处理。
- 保存 Dashboard。
对非时序数据设置警报
如果您需要对非时序数据设置警报,请使用 TO_TIMESTAMP('${__to:date}')
宏将非时序指标转换为时序。这将把您的指标转换为单点时序查询。查询格式如下
SELECT TO_TIMESTAMP('${__to:date}'), <METRIC> FROM <TABLE> WHERE <YOUR CONDITIONS>
示例
在以下示例中,表有四个字段:username
、age
、city
和 role
。此表没有任何时间字段。我们希望在拥有 dev
角色的用户数量少于 3 时发出通知。
SELECT TO_TIMESTAMP('${__to:date}'), count(*) as "count" FROM (
SELECT 'John' AS "username", 32 AS "age", 'Chennai' as "city", 'dev' as "role" FROM dummy
UNION ALL SELECT 'Jacob' AS "username", 32 AS "age", 'London' as "city", 'accountant' as "role" FROM dummy
UNION ALL SELECT 'Ali' AS "username", 42 AS "age", 'Delhi' as "city", 'admin' as "role" FROM dummy
UNION ALL SELECT 'Raja' AS "username", 12 AS "age", 'New York' as "city", 'ceo' as "role" FROM dummy
UNION ALL SELECT 'Sara' AS "username", 35 AS "age", 'Cape Town' as "city", 'dev' as "role" FROM dummy
UNION ALL SELECT 'Ricky' AS "username", 25 AS "age", 'London' as "city", 'accountant' as "role" FROM dummy
UNION ALL SELECT 'Angelina' AS "username", 31 AS "age", 'London' as "city", 'cxo' as "role" FROM dummy
) WHERE "role" = 'dev'
配置
安装 SAP HANA® Grafana 插件后,请按照以下步骤配置数据源
- 以管理员用户身份登录。
- 从左侧 Grafana 菜单导航到配置。
- 点击数据源 > 添加数据源,然后选择SAP HANA。
- 提供配置编辑器部分说明的必要信息。
配置编辑器
配置编辑器需要以下信息
字段名称 | 详情 |
---|---|
服务器地址 | 必填 提供 SAP HANA 实例的基本地址(不包括 http/https 前缀)。示例:xxxxxxx-xxxx-xxxx-xxxx-xxxxxxx.hana.trial-us10.hanacloud.ondemand.com |
用户名 | 必填 用于连接 SAP HANA 实例的用户名。注意:如下所述,此用户必须具有查询数据库所需的权限 |
服务器端口 | 可选 提供 SAP HANA 实例的端口。示例:443 / 39013 。通常可以通过 443 连接 SAP HANA Cloud 实例,通过各自的端口连接本地/多租户实例。对于租户实例,除了使用端口外,还可以填写数据库名称和实例号 |
跳过 TLS 验证 | 可选 如果需要跳过 TLS 验证,请启用此选项。默认值:false |
TLS 客户端认证 | 可选 如果需要提供客户端证书和密钥,请启用此选项。默认值:false |
使用 CA 证书 | 可选 用于验证自签名 TLS 证书。默认值:false |
默认 Schema | 可选 要使用的默认 Schema。如果未指定,您需要在每个查询中指定 Schema。 |
数据库名称 | 可选 对于租户。您要连接的数据库名称 |
实例号 | 可选 对于租户。实例号。我们将使用此信息根据以下公式推断服务器端口:3<instance>13 SAP HANA® 文档 |
填写完上述信息后,点击保存并测试。此操作将验证连接设置和用户凭据。
注意:保存并测试验证不检查对 Schema 的任何访问权限。您可能需要明确授予用户 Schema 读取权限。
查找正确的连接端口
创建数据源配置时,您需要指定 SAP HANA® 实例的正确端口号。对于 SAP HANA® Cloud 实例,通常为 443
。对于本地/多租户实例,您可以通过SAP HANA® 文档中提供的指导找到相应的端口号。
您可以通过查询 M_SERVICES
系统视图来确定特定租户数据库使用的端口,无论是从租户数据库本身还是从系统数据库。
- 从租户数据库:
SELECT SERVICE_NAME, PORT, SQL_PORT, (PORT + 2) HTTP_PORT FROM SYS.M_SERVICES WHERE ((SERVICE_NAME='indexserver' and COORDINATOR_TYPE= 'MASTER') or (SERVICE_NAME='xsengine'))
- 从系统数据库:
SELECT DATABASE_NAME, SERVICE_NAME, PORT, SQL_PORT, (PORT + 2) HTTP_PORT FROM SYS_DATABASES.M_SERVICES WHERE DATABASE_NAME='<DBNAME>' and ((SERVICE_NAME='indexserver' and COORDINATOR_TYPE= 'MASTER') or (SERVICE_NAME='xsengine'))
访问与权限
要将 Grafana 连接到 SAP HANA®,请使用专用凭据。仅向用户提供所需的权限。
步骤 1
创建具有用户名和密码的受限用户。以下查询是创建受限用户的示例。此查询还禁用强制更改密码
CREATE RESTRICTED USER <USER> PASSWORD <PASSWORD> NO FORCE_FIRST_PASSWORD_CHANGE;
步骤 2
允许用户通过 Grafana 等客户端连接到系统
ALTER USER <USER> ENABLE CLIENT CONNECT;
步骤 3
授予用户访问必要的视图、表和 Schema 的权限
ALTER USER <USER> GRANT ROLE PUBLIC;
GRANT SELECT ON SCHEMA <SCHEMA> TO <USER>;
用户级别权限
通过在数据源配置页面的“权限”选项卡上启用数据源权限来限制对 SAP HANA 的访问。在权限页面上,管理员可以启用权限并将查询权限限制给特定的用户和团队。
Provisioning
除了 Grafana UI,您还可以使用 Grafana 的Provisioning 功能配置数据源。例如,请参阅以下 YAML 代码块
apiVersion: 1
datasources:
- name: SAP HANA
type: grafana-saphana-datasource
uid: sap_hana
access: proxy
orgId: 1
jsonData:
server: xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx.hana.trial-us10.hanacloud.ondemand.com
port: 443
username: GRAFANA_HANA_USERNAME
tlsSkipVerify: false
tlsAuth: false
tlsAuthWithCACert: false
defaultSchema: EXAMPLE
databaseName: DATABASE
instance: "01"
secureJsonData:
password: $SECURE_HANA_PASSWORD_FROM_ENVIRONMENT_VAR
tlsCACert:
tlsClientCert:
tlsClientKey:
version: 1
editable: false
了解更多
- 添加注解。
- 配置和使用模板和变量。
- 添加转换。
- 设置警报;请参阅警报概述。
- SAP HANA®.
- SAP HANA® 文档.
- SAP HANA® SQL 参考.
- SAP HANA® 时序数据参考.
SAP HANA® 是 SAP SE 或其附属公司在德国和多个其他国家/地区的商标或注册商标。