elasticsearch 指定Metricbeat Prometheus字段名,elasticsearch,kubernetes,prometheus,metricbeat,elasticsearch,Kubernetes,Prometheus,Metricbeat" /> elasticsearch 指定Metricbeat Prometheus字段名,elasticsearch,kubernetes,prometheus,metricbeat,elasticsearch,Kubernetes,Prometheus,Metricbeat" />

elasticsearch 指定Metricbeat Prometheus字段名

elasticsearch 指定Metricbeat Prometheus字段名,elasticsearch,kubernetes,prometheus,metricbeat,elasticsearch,Kubernetes,Prometheus,Metricbeat,我正在K8s上运行我的应用程序和metricbeat。 我的应用程序有一个导出prometheus度量的端点,metricbeat能够获取度量并将其添加到elastic 问题在于,对于将其转换为elastic的给定文档,字段名中添加了k8名称空间。例如,给定文档将有一个名为prometheus.my-namespace-1.runtime\u memory\u max\u heap.value的字段 这就产生了一个问题,因为这意味着我添加到集群中的每个应用程序都会强制对Kibana重新编制索引,

我正在K8s上运行我的应用程序和metricbeat。 我的应用程序有一个导出prometheus度量的端点,metricbeat能够获取度量并将其添加到elastic

问题在于,对于将其转换为elastic的给定文档,字段名中添加了k8名称空间。例如,给定文档将有一个名为
prometheus.my-namespace-1.runtime\u memory\u max\u heap.value的字段

这就产生了一个问题,因为这意味着我添加到集群中的每个应用程序都会强制对Kibana重新编制索引,以便检测字段类型。此外,这意味着我不能为我的指标创建一个通用仪表板,然后在名称空间上进行筛选,因为每个应用程序都有自定义字段名


我希望将字段名命名为
prometheus.runtime\u memory\u max\u heap.value

,因为问题出在我的配置上。我有以下几点:

        config:
          - module: prometheus
            period: 15s
            metricsets: ["collector"]
            enabled: true
            hosts: ["${data.host}:9273"]
            ssl.verification_mode: "none"
            namespace: "${data.kubernetes.namespace}"
一旦我更新了名称空间,它就工作了。我确实尝试完全删除名称空间,但这不起作用,所以我使用了一个静态值

        config:
          - module: prometheus
            period: 15s
            metricsets: ["collector"]
            enabled: true
            hosts: ["${data.host}:9273"]
            ssl.verification_mode: "none"
            namespace: "metric"