0

我在 K8s 上运行我的应用程序和 metricbeat。我的应用程序有一个导出 prometheus 指标的端点,metricbeat 能够获取指标并将它们添加到弹性中。

问题在于,对于使其成为弹性的给定文档,字段名称添加了 k8 命名空间。例如,给定的文档将有一个名为prometheus.my-namespace-1.runtime_memory_max_heap.value

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

我希望只调用字段名称prometheus.runtime_memory_max_heap.value

4

1 回答 1

0

事实证明,问题出在我的配置上。我有以下内容:

        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"
于 2019-09-23T20:36:13.440 回答