elasticsearch 指定Metricbeat Prometheus字段名
我正在K8s上运行我的应用程序和metricbeat。 我的应用程序有一个导出prometheus度量的端点,metricbeat能够获取度量并将其添加到elastic 问题在于,对于将其转换为elastic的给定文档,字段名中添加了k8名称空间。例如,给定文档将有一个名为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重新编制索引,
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"