Beats:使用 Elastic Agent 来摄入数据并迁移定制的仪表盘
Posted Elastic 中国社区官方博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Beats:使用 Elastic Agent 来摄入数据并迁移定制的仪表盘相关的知识,希望对你有一定的参考价值。
在我之前的文章 “Observability:使用 Elastic Agent 来摄入日志及指标 - Elastic Stack 8.0” 我详述了如何使用 Elastic Agent 来摄入数据。事实上,在之前的最新的几版 7.14 里,Elastic Agent 已经是正式版发布了。
我们知道在之前我们使用 Filebeat 进行数据采集时,在 Elasticsearch 中,我们看到的索引名称是 filebeat-* 这样的索引,而且 filebeat-* 也被当做 index pattern 来方式所有的数据集。我们的很多定制的仪表盘或者可视化图是依据 filebeat-* 来进行绘制的。这种情况也适合 Metricbeat 的数据采集。我们最终的所有数据都是以 metricbeat-* 来进行绘制的。
随着 Fleet 及 Elastic Agent 的引入,我们的数据采集的索引名称也发生了变化。详细阅读,请参阅我之前的文章 “Elastic data stream 命名方案介绍”。 比如针对日志来说,我们的索引名称的命名是这样的:
Elastic data stream 的命名方案是由时间序列数据,由数据集分割成不同的数据。它使用以下命名约定。
- type(类型):通用类型描述数据,比如 logs, metrics, traces ...
- dataset(数据集):描述摄入的数据和它的结构,比如 nginx.access
- namespace(命名空间):用户可配置的任意分组,比如 production, testing
各个部分由 “-” 结合在一起,这样就会导致像 logs-nginx.access-production 这样名称的数据流。在所有三个部分中,“-” 字符是不允许的。这意味着所有的数据流通过以下方式命名:
type-dataset-namespace
从上面,我们可以看出来索引的命名完全是不同的。我们可能有很多不同的小的索引,而不是都是以 filebeat-* 这样的形式出现的。
Elastic integration 包提供了许多资产,例如预构建的仪表板,让你更轻松地可视化数据。 但是,在某些情况下,你可能需要迁移自定义仪表板。
由于 Elastic Agent 使用不同的数据流,因此 Elastic Agent 导出的字段与导出的 Beats 略有不同。 你为 Beats 创建的任何自定义仪表板都需要修改或重新创建才能使用新字段。
你有几个用于迁移自定义仪表板的选项:
- 根据新数据流重新创建自定义仪表板 - 这是推荐的方法。
- 创建索引别名以指向新数据流并继续使用自定义仪表板。
在下面,我们来介绍一下如何使用别名来指向 data stream。这样做的好处是,我们不需要修改以前定制的仪表盘。为此,请使用索引别名将数据流馈送到你现有的自定义仪表板中。
例如,指向 filebeat- 或 metricbeat- 的自定义仪表板可以使用别名来使用等效的数据流、日志和指标。
要使用别名:
1)将 filebeat 别名添加到日志数据流。 例如:
POST _aliases
"actions": [
"add":
"index": "logs-*",
"alias": "filebeat-"
]
2)将 metribeat 别名添加到 metrics- 数据流。
POST _aliases
"actions": [
"add":
"index": "metrics-*",
"alias": "metricbeat-"
]
重要:这些别名必须添加到索引模板和现有索引中。
在我们做完上面的配置后,请停用你的 Beats,并仅使用 Elastic Agent 来采集数据,否则你的仪表盘中将会有重复的数据。
以上是关于Beats:使用 Elastic Agent 来摄入数据并迁移定制的仪表盘的主要内容,如果未能解决你的问题,请参考以下文章
Observability:使用 Elastic Agent 来摄入日志及指标 - Elastic Stack 8.0
Observability:我们该选 Beats 还是 Elastic Agents 来采集数据?
Observability:我们该选 Beats 还是 Elastic Agents 来采集数据?