指定 Metricbeat Prometheus 字段名称
Specify Metricbeat Prometheus Field Names
我是 运行 我的应用程序和 K8s 上的 metricbeat。
我的应用程序有一个导出 prometheus 指标的端点,metricbeat 能够获取指标并将它们添加到弹性。
问题在于,对于使其成为弹性的给定文档,字段名称添加了 k8 命名空间。例如,给定的文档将有一个名为 prometheus.my-namespace-1.runtime_memory_max_heap.value
的字段
这会产生一个问题,因为这意味着我添加到我的集群的每个应用程序都会强制在 Kibana 上重建索引以检测字段类型。此外,这意味着我无法为我的指标制作一个通用仪表板,然后在命名空间上进行过滤,因为每个应用程序都有自定义字段名称。
我希望字段名称只被称为 prometheus.runtime_memory_max_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"
我是 运行 我的应用程序和 K8s 上的 metricbeat。 我的应用程序有一个导出 prometheus 指标的端点,metricbeat 能够获取指标并将它们添加到弹性。
问题在于,对于使其成为弹性的给定文档,字段名称添加了 k8 命名空间。例如,给定的文档将有一个名为 prometheus.my-namespace-1.runtime_memory_max_heap.value
这会产生一个问题,因为这意味着我添加到我的集群的每个应用程序都会强制在 Kibana 上重建索引以检测字段类型。此外,这意味着我无法为我的指标制作一个通用仪表板,然后在命名空间上进行过滤,因为每个应用程序都有自定义字段名称。
我希望字段名称只被称为 prometheus.runtime_memory_max_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"