Prometheus 中 discoveredLabels 和 labels 之间的区别目标端点

Difference between discoveredLabels and labels in Prometheus targets endpoint

我有一个关于普罗米修斯标签的问题。当我调用目标端点 (<prometheus address>/api/v1/targets) 时,我得到一个 json,其中包含包含不同键值对的抓取目标。在给定的上下文中,键“discoveredLabels”和“labels”之间有什么区别。当我查询来自特定目标的指标时,Prometheus 似乎包含 "labels" 键中列出的标签。 "discoveredLabels used" 在哪里?下面显示了包含两个键的示例摘录(不完整)。

{u'discoveredLabels': {u'__address__': u'12.13.0.3:9090',
                                                     u'__meta_kubernetes_namespace': u'monitoring',
                                                     u'__meta_kubernetes_pod_annotation_prometheus_io_port': u'9090',
                                                     u'__meta_kubernetes_pod_annotation_prometheus_io_scrape': u'true',
                                                     u'__meta_kubernetes_pod_container_name': u'prometheus',
                                                     u'__meta_kubernetes_pod_container_port_name': u'',
                                                     u'__meta_kubernetes_pod_container_port_number': u'9090',
                                                     u'__meta_kubernetes_pod_container_port_protocol': u'TCP',
                                                     u'__meta_kubernetes_pod_host_ip': u'11.0.3.12',
                                                     u'__meta_kubernetes_pod_ip': u'132.14.0.1',
                                                     u'__meta_kubernetes_pod_label_name': u'prometheus',
                                                     u'__meta_kubernetes_pod_label_pod_template_hash': u'6bwedd76d9',
                                                     u'__meta_kubernetes_pod_name': u'prometheus-6bwedd76d9-nxlvr',
                                                     u'__meta_kubernetes_pod_node_name': u'minikube',
                                                     u'__meta_kubernetes_pod_ready': u'true',
                                                     u'__metrics_path__': u'/metrics',
                                                     u'__scheme__': u'http',
                                                     u'job': u'kubernetes-pods'},
                               u'health': u'up',
                               u'labels': {u'instance': u'12.13.0.3:9090',
                                           u'job': u'kubernetes-pods',
                                           u'kubernetes_namespace': u'monitoring',
                                           u'kubernetes_pod_name': u'prometheus-6bwedd76d9-nxlvr',
                                           u'name': u'prometheus',
                                           u'pod_template_hash': u'6bwedd76d9'},

discoveredLabels 是来自服务发现的所有内容,您可以在目标重新​​标记中使用这些内容。 labels 是该过程的输出,也就是最终的目标标签。