首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >弹性APM不同索引名

弹性APM不同索引名
EN

Stack Overflow用户
提问于 2020-07-27 13:31:58
回答 1查看 2.1K关注 0票数 0

就在几周前,我们在kubernetes集群上运行的dotnet核心应用程序中添加了file节拍、节拍器和apm。这一切都很好,最近我们发现file节拍和节拍器能够在几个规则上编写不同的索引。

我们希望对APM也这样做,但是搜索文档我们找不到任何选项来设置要写入的索引的名称。

这是否可能,如果是的话,它是如何配置的?

我还试图在代码库中找到当前名称apm-*,但是在配置它时找不到匹配的名称。

我们想解决的问题是,kibana中的每个空间都可以看到每个应用程序的apm指标。某些应用程序不应该在这个空间内,因此我认为一个新的apm-application-*索引会起作用.

编辑

因为它不应该在代理上配置,而应该在云服务控制台中配置。我有麻烦‘用户-覆盖’设置,以我的喜好。

我想要的规则是:

  1. 当应用程序执行时,而不是位于kubernetes名称空间中,default kube-system写入一个名为apm-7.8.0-application-type-2020-07的索引
  2. 其他命名空间中的所有其他应用程序都应保留在默认索引中。

我认为您可以添加output.elasticsearch.indices来实现这一点:Array of index selector rules supporting conditionals and formatted string.

我试过这样做,复制了我对节拍器的相同内容,并将其更新为使用apm语法,并得到了以下“用户重写”。

代码语言:javascript
运行
复制
output.elasticsearch.indices:
- index: 'apm-%{[observer.version]}-%{[kubernetes.labels.app]}-%{[processor.event]}-%{+yyyy.MM}'
  when:
    not:
      or:
        - equals:
            kubernetes.namespace: default
        - equals:
            kubernetes.namespace: kube-system

但是当我使用这个设置时,它告诉我:

代码语言:javascript
运行
复制
Your changes cannot be applied
'output.elasticsearch.indices.when': is not allowed

Set output.elasticsearch.indices.0.index to apm-%{[observer.version]}-%{[kubernetes.labels.app]}-%{[processor.event]}-%{+yyyy.MM}
Set output.elasticsearch.indices.0.when.not.or.0.equals.kubernetes.namespace to default
Set output.elasticsearch.indices.0.when.not.or.1.equals.kubernetes.namespace to kube-system

然后我更新了这个例子,但得出了同样的结论,因为它也是无效的。

EN

回答 1

Stack Overflow用户

发布于 2020-07-27 14:58:27

在ES控制台中,您需要编辑集群配置,滚动到APM部分,然后单击“用户覆盖设置”。在这里,您可以通过添加以下属性来覆盖目标索引:

代码语言:javascript
运行
复制
output.elasticsearch.index: "apm-application-%{[observer.version]}-{type}-%{+yyyy.MM.dd}"

注意,如果更改此设置,还需要修改相应的索引模板以匹配新的索引名称。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63116459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档