本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
注意
在支持版本 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。浏览器 = 必须可在浏览器中访问 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。
最小时间间隔
按时间间隔自动分组的下限。建议设置以写入频率;例如,如果您的数据每分钟写入一次,则为 1m
。也可以在控制面板的数据来源选项下覆盖/配置此选项。此值的格式必须为数字,后跟有效的时间标识符;例如,1m
(1 分钟)或 30s
(30 秒)。支持以下时间标识符。
标识符 | 描述 |
---|---|
y
|
Year |
M
|
Month |
w
|
周 |
d
|
天 |
h
|
小时 |
m
|
分钟 |
s
|
秒 |
ms
|
毫秒 |
日志
在 Explore 中可视化日志时,可选择从数据来源设置页面配置 Message field name
和 Level field
name
这两个参数,以确定日志消息和日志级别将使用哪些字段。
例如,如果您使用 Filebeat 的默认设置将日志传送到 OpenSearch,则以下配置应该起作用。
-
消息字段名称:message
-
级别字段名称:fields.level
数据链接
数据链接可根据指定字段创建链接,该链接可在 Explore 的日志视图中访问。
每个数据链接配置由以下部分组成:
-
字段:数据链接使用的字段名称。
-
URL/查询:如果是外部链接,则输入完整的链接 URL。如果是内部链接,则此输入将用作目标数据来源的查询。在这两种情况下,您都可以使用
${__value.raw }
宏从字段中插值。 -
内部链接:选择此选项以确定是内部链接还是外部链接。如果是内部链接,您可以使用数据来源选择器选择目标数据来源。仅支持跟踪数据来源。
使用 OpenSearch 数据源
指标查询编辑器
OpenSearch 查询编辑器允许您选择多个指标并按多个术语或筛选条件进行分组。使用右侧的加号和减号图标添加/移除指标或 group by 子句。一些指标和 group by 子句具有选项。选择选项文本展开行,以查看和编辑指标或分组依据选项。
序列命名和别名模式
您可以通过 Alias
输入字段控制时间序列的名称。
模式 | 描述 |
---|---|
{{term fieldname}}
|
替换为术语 Group By 的值。 |
{{metric}}
|
替换为指标名称(例如 Average、Min、Max)。 |
{{field}}
|
替换为指标字段名称。 |
管道指标
一些指标聚合称为管道聚合;例如,移动平均线和衍生物。 OpenSearch 管道指标需要另一个指标作为依据。使用指标旁边的眼睛图标可隐藏指标,使其不显示在图表中。这对于查询中仅包含用于管道指标的指标很有用。
模板化
您可以在指标查询中使用变量来代替服务器、应用程序和传感器名称等硬编码的内容。变量显示为控制面板顶部的下拉选择框。您可以使用这些下拉框来更改控制面板中显示的数据。
有关模板化和模板变量的更多信息,请参阅 模板和变量。
查询变量
OpenSearch 数据源支持两种类型的查询,您可以在查询变量的查询字段中使用。该查询是使用自定义 JSON 字符串编写的。
Query | 描述 |
---|---|
{"find": "fields",
"type": "keyword"}
|
返回索引类型为 keyword 的字段名称列表。 |
{"find": "terms",
"field": "@hostname",
"size": 1000}
|
使用术语聚合返回字段的值列表。查询将使用当前控制面板的时间范围作为查询的时间范围。 |
{"find": "terms",
"field": "@hostname",
"query": '<lucene query>'}
|
使用术语聚合和指定的 Lucene 查询筛选条件返回字段的值列表。查询将使用当前控制面板的时间范围作为查询的时间范围。 |
术语查询的默认大小限制为 500。要设置自定义限制,请在查询中设置大小属性。您可以在查询中使用其他变量。以下代码示例显示了一个名为 $host
的变量的查询定义。
{"find": "terms", "field": "@hostname", "query": "@source:$source"}
在前面的示例中,我们在查询定义中使用了另一个名为 $source
的变量。只要通过下拉列表更改 $source
变量的当前值,就会启动 $host
变量更新。更新后,$host
变量仅包含按(在本例中为 @source
文档属性)筛选的主机名。
默认情况下,这些查询按术语顺序返回结果(然后可以按字母顺序或数字顺序对任何变量进行排序)。要生成按文档计数排序的术语列表(前 N 个值列表),请添加 doc_count
的 orderBy
属性。这将自动选择降序排序。可通过设置 order:
"asc"
将 asc
与 doc_count(后 N 个值列表)结合使用,但不建议这样做,因为会增加文档计数的误差。要使术语按文档计数顺序排列,请将变量的排序下拉列表设置为禁用。或者,您也可以使用按字母顺序对其重新排序。
{"find": "terms", "field": "@hostname", "orderBy": "doc_count"}
在查询中使用变量
共有两种语法:
-
$<varname>
示例:@hostname:$hostname -
[[varname]]
示例:@hostname:[[hostname]]
为什么是两种? 第一种语法更容易读写,但不能在词中间使用变量。启用多值或包含所有值选项后,Grafana 会将标签从纯文本转换为兼容 Lucene 的条件。
在前面的示例中,我们有一个 lucene 查询,该查询使用名为 $hostname
的变量根据 @hostname
属性筛选文档。同时使用了术语分组依据字段输入框中的变量。这让您可以使用变量快速更改数据的分组方式。
Annotations
您可以使用注释在图形上叠加丰富的事件信息。您可以通过控制面板菜单或注释视图添加注释查询。Grafana 可以查询 OpenSearch 任何索引中的注解事件。有关更多信息,请参阅 Annotations。
名称 | 描述 |
---|---|
Query
|
您可以将搜索查询留空,也可以指定 Lucene 查询。 |
Time
|
时间字段的名称;必须是日期字段。 |
Time End
|
时间结束字段的可选名称必须是日期字段。如果设置,注释将被标记为介于 time 和 time-end 之间的区域。 |
Text
|
事件描述字段。 |
Tags
|
用于事件标签的可选字段名称(可以是数组或 CSV 字符串)。 |
查询 日志
在 “浏览” 中可以查询和显示来自 OpenSearch 的日志数据。要显示您的日志,请选择 OpenSearch 数据源,然后根据需要输入 Lucene 查询。有关更多信息,请参阅 Explore。
日志查询
返回结果后,日志面板会显示日志行列表和条形图,其中 x 轴显示时间,y 轴显示频率或计数。
筛选日志消息
或者,在查询字段中输入 Lucene 查询以筛选日志消息。例如,如果使用默认的 Filebeat 设置,则可以使用 fields.level:error
仅显示错误日志消息。