本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Connect 连接到 OpenSearch 数据源
注意
在支持版本 9 或更高版本的工作空间中,此数据源可能需要您安装相应的插件。有关更多信息,请参阅 使用插件扩展您的工作空间。
借助 Amazon Managed Grafana,您可以添加OpenSearch
OpenSearch 作为数据源添加
注意
为了能够添加 OpenSearch 数据源,你需要将你的 Grafana IAM 账户添加到 ALL_ACCESS 和 SECURITY_MANAGER 角色中。
-
选择顶部标题中的 Grafana 图标,打开侧面菜单。
-
在仪表板链接下的侧面菜单中,您应该找到命名为 “数据源” 链接。
-
选择顶部标题中的 “+ 添加数据源” 按钮。
-
OpenSearch从 “类型” 下拉列表中选择。
注意
如果您在侧面菜单中看不到数据源链接,则表示您当前的用户没有该Admin
角色。
名称 | 描述 |
---|---|
Name
|
数据源名称。这就是您在面板和查询中查看数据源的方式。 |
Default
|
默认数据源意味着将为新面板预先选择该数据源。 |
Url
|
您的 OpenSearch 服务器的 HTTP 协议、IP 和端口。 |
Access
|
服务器(默认)= 必须可以从 Grafana 后端/服务器访问网址。浏览器 = URL 必须可以从浏览器访问。 |
访问模式控制如何处理对数据源的请求。如果没有其他说明,服务器应该是首选方式。
服务器访问模式(默认)
所有请求都是从浏览器向 Grafana 后端或服务器发出的,后端或服务器会将请求转发到数据源,从而规避了可能的跨源资源共享 (CORS) 要求。如果选择此访问模式,则必须可以从 Grafana 后端或服务器访问该 URL。
浏览器(直接)访问
Amazon Managed Grafana 不支持通过浏览器直接访问数据源。 OpenSearch
索引设置
在这里,您可以为指定默认值time field
并指定 OpenSearch 索引的名称。您可以使用时间模式作为索引名称或通配符。
OpenSearch/Elasticsearch
在版本下拉菜单中指定您的版本 OpenSearch 或旧版 Elasticsearch 版本。版本很重要,因为每个版本的查询组成方式各不相同。目前,Grafana 支持 1.0.x OpenSearch 。支持的 Elasticsearch 版本有2.0+
、5.0+
、5.6+
6.0+
、和。7.0+
该值5.6+
表示版本 5.6 或更高版本,但低于 6.0。该值6.0+
表示版本 6.0 或更高版本,但低于 7.0。最后,7.0+
表示版本 7.0 或更高版本,但低于 8.0。
最小时间间隔
按时间间隔划分的 auto 分组的下限。建议设置为写入频率;例如,1m
如果您的数据每分钟写入一次。也可以在仪表板面板的数据源选项下覆盖/配置此选项。此值的格式必须为一个数字,后跟一个有效的时间标识符;例如,1m
(1 分钟)或30s
(30 秒)。支持以下时间标识符。
标识符 | 描述 |
---|---|
y
|
年 |
M
|
月 |
w
|
周 |
d
|
天 |
h
|
小时 |
m
|
分钟 |
s
|
秒 |
ms
|
毫秒 |
日志
可以选择从数据源设置页面配置两个参数,即Message field name
和Level field
name
,用于确定在可视化登录时哪些字段将用于日志消息和日志级别。探索
例如,如果您使用 Filebeat 的默认设置将日志传送到 OpenSearch,则以下配置应该起作用。
-
消息字段名称:消息
-
级别字段名称:fields.level
数据链接
数据链接可根据指定字段创建链接,该链接可在 “浏览” 的日志视图中进行访问。
每种数据链路配置都包含以下内容:
-
字段-数据链接使用的字段的名称。
-
URL/Query-如果链接是外部链接,则输入完整链接 URL。如果链接是内部链接,则此输入将用作对目标数据源的查询。在这两种情况下,您都可以使用宏对字段中的值进行
${__value.raw }
插值。 -
内部链接-如果链接是内部链接还是外部链接,请选择此选项。如果链接是内部链接,则数据源选择器允许您选择目标数据源。仅支持跟踪数据源。
使用 OpenSearch 数据源
指标查询编辑器
OpenSearch 查询编辑器允许您选择多个指标并按多个术语或筛选条件进行分组。使用右边的加号和减号图标添加/删除指标或按子句分组。一些指标和分组依据子句有选项。选择选项文本以展开行以查看和编辑指标或按选项分组。
系列命名和别名模式
您可以通过Alias
输入字段控制时间序列的名称。
模式 | 描述 |
---|---|
{{term fieldname}}
|
替换为 “分组依据” 一词的值。 |
{{metric}}
|
替换为指标名称(例如 平均值、最小值、最大值)。 |
{{field}}
|
替换为指标字段名称。 |
管道指标
一些指标聚合称为管道聚合;例如,移动平均线和衍生物。 OpenSearch 管道指标需要另一个指标作为依据。使用指标旁边的眼睛图标可隐藏指标不显示在图表中。这对于查询中只有在管道指标中使用的指标很有用。
模板化
无需在指标查询中对服务器、应用程序和传感器名称等内容进行硬编码,而可以使用变量代替它们。变量显示为仪表板顶部的下拉选择框。您可以使用这些下拉框来更改控制面板中显示的数据。
有关模板和模板变量的更多信息,请参阅模板和变量。
查询变量
OpenSearch 数据源支持两种类型的查询,您可以在查询变量的查询字段中使用。该查询是使用自定义 JSON 字符串编写的。
查询 | 描述 |
---|---|
{"find": "fields",
"type": "keyword"}
|
返回索引类型的字段名称列表keyword 。 |
{"find": "terms",
"field": "@hostname",
"size": 1000}
|
使用术语聚合返回字段的值列表。Query 将使用当前仪表板的时间范围作为查询的时间范围。 |
{"find": "terms",
"field": "@hostname",
"query": '<lucene query>'}
|
使用术语聚合和指定的 Lucene 查询过滤器返回字段的值列表。Query 将使用当前仪表板的时间范围作为查询的时间范围。 |
术语查询的默认大小限制为 500。要设置自定义限制,请在查询中设置大小属性。你可以在查询中使用其他变量。以下代码示例显示了名为的变量的查询定义$host
。
{"find": "terms", "field": "@hostname", "query": "@source:$source"}
在前面的示例中,我们在查询定义中使用了另一个名为$source
的变量。每当你通过下拉列表更改$source
变量的当前值时,它都会启动$host
变量的更新。更新后,该$host
变量仅包含由 d @source
ocument 属性筛选的主机名。
默认情况下,这些查询按术语顺序返回结果(然后可以像任何变量一样按字母顺序或数字排序)。要生成按文档计数排序的术语列表(前 N 个值列表),请添加一个orderBy
属性。doc_count
这将自动选择降序排序。asc
与 doc_count(底部 N 个列表)一起使用可以通过设置来完成order:
"asc"
,但不鼓励这样做,因为它会增加文档计数的错误。要使术语按文档计数顺序排列,请将变量的 “排序” 下拉列表设置为 “已禁用”。或者,您可能仍然想使用字母顺序对它们进行重新排序。
{"find": "terms", "field": "@hostname", "orderBy": "doc_count"}
在查询中使用变量
有两种语法:
-
$<varname>
示例:@hostname:$hostname -
[[varname]]
示例:@hostname:[[主机名]]
为什么是两种方式? 第一种语法更易于阅读和编写,但它不允许在单词中间使用变量。启用 “多值” 或 “包括所有值” 选项后,Grafana 会将标签从纯文本转换为兼容 Lucene 的条件。
在前面的示例中,我们有一个 lucene 查询,它使用名为的变量根据@hostname
属性筛选文档。$hostname
它还在按字段分组的术语输入框中使用一个变量。这允许您使用变量来快速更改数据的分组方式。
注释
标注允许您将丰富的事件信息叠加在图表之上。您可以通过 “控制板” 菜单或 “批注” 视图添加注释查询。Grafana 可以查询 OpenSearch 任何索引中的注解事件。有关更多信息,请参阅 注释。
名称 | 描述 |
---|---|
Query
|
您可以将搜索查询保留为空白或指定 Lucene 查询。 |
Time
|
时间字段的名称;必须是日期字段。 |
Time End
|
时间结束字段的可选名称必须是日期字段。如果设置,则注释将被标记为介于时间和时间结束之间的区域。 |
Text
|
“事件描述” 字段。 |
Tags
|
用于事件标签的可选字段名称(可以是数组或 CSV 字符串)。 |
查询 日志
在 “浏览” 中可以查询和显示来自 OpenSearch 的日志数据。要显示您的日志,请选择 OpenSearch 数据源,然后根据需要输入 Lucene 查询。有关更多信息,请参阅 探索。
记录查询
返回结果后,日志面板将显示日志行列表和条形图,其中 x 轴显示时间,y 轴显示频率或计数。
筛选日志消息
或者,在查询字段中输入 Lucene 查询以筛选日志消息。例如,使用默认 Filebeat 设置,您应该fields.level:error
能够使用仅显示错误日志消息。