关于Prometheus监控k8s的自动发现(k8s_sd)匹配标签(条目)解析
<kubernetes_sd_config>
Kubernetes SD 配置允许从Kubernetes 的REST API 中检索刮擦目标,并且始终与群集状态保持同步。
可以配置以下类型之一来发现目标:role
node
该角色发现每个群集节点的一个目标,该地址默认为 Kubelet 的 HTTP 端口。目标地址默认为地址类型顺序 、和 中的 Kubernetes 节点对象的第一个现有地址。node
`NodeInternalIPNodeExternalIP
NodeLegacyHostIP`NodeHostName
可用的元标签:
__meta_kubernetes_node_name
:节点对象的名称。__meta_kubernetes_node_label_<labelname>
:节点对象中的每个标签。__meta_kubernetes_node_labelpresent_<labelname>
:对于节点对象的每个标签。true
__meta_kubernetes_node_annotation_<annotationname>
:节点对象中的每个注释。__meta_kubernetes_node_annotationpresent_<annotationname>
:对于节点对象的每个注释。true
__meta_kubernetes_node_address_<address_type>
:每个节点地址类型的第一个地址(如果存在)。
此外,节点的标签将设置为从 API 服务器检索的节点名称。instance
service
该角色发现每个服务的每个服务端口的目标。这通常可用于对服务的黑盒监视。地址将设置为服务的 Kubernetes DNS 名称和相应的服务端口。service
可用的元标签:
__meta_kubernetes_namespace
:服务对象的名称空间。__meta_kubernetes_service_annotation_<annotationname>
:服务对象的每个注释。__meta_kubernetes_service_annotationpresent_<annotationname>
:服务对象的每个注释的"true"。__meta_kubernetes_service_cluster_ip
:服务的群集 IP 地址。(不适用于外部名称类型的服务)__meta_kubernetes_service_external_name
:服务的 DNS 名称。(适用于外部名称类型的服务)__meta_kubernetes_service_label_<labelname>
:服务对象的每个标签。__meta_kubernetes_service_labelpresent_<labelname>
:服务对象的每个标签。true
__meta_kubernetes_service_name
:服务对象的名称。__meta_kubernetes_service_port_name
:目标的服务端口的名称。__meta_kubernetes_service_port_protocol
:目标的服务端口的协议。__meta_kubernetes_service_type
:服务的类型。
pod
该角色发现所有窗格,并公开其容器作为目标。对于容器的每个声明端口,将生成一个目标。如果容器没有指定的端口,则每个容器创建一个无端口目标,用于通过重新标记手动添加端口。pod
可用的元标签:
__meta_kubernetes_namespace
:窗格对象的名称空间。__meta_kubernetes_pod_name
:窗格对象的名称。__meta_kubernetes_pod_ip
:窗格对象的窗格 IP。__meta_kubernetes_pod_label_<labelname>
:来自窗格对象的每个标签。__meta_kubernetes_pod_labelpresent_<labelname>
:对于来自 pod 对象的每个标签。true
__meta_kubernetes_pod_annotation_<annotationname>
:来自窗格对象的每个注释。__meta_kubernetes_pod_annotationpresent_<annotationname>
:对于来自 pod 对象的每个注释。true
__meta_kubernetes_pod_container_init
: 如果容器是InitContainertrue
__meta_kubernetes_pod_container_name
:目标地址指向的容器的名称。__meta_kubernetes_pod_container_port_name
: 容器端口的名称。__meta_kubernetes_pod_container_port_number
:容器端口的编号。__meta_kubernetes_pod_container_port_protocol
:集装箱端口的协议。__meta_kubernetes_pod_ready
:设置为 或 设置为窗格的就绪状态。true
`false`__meta_kubernetes_pod_phase
:设置为 、 或在生命周期中。Pending
`RunningSucceeded
Failed`Unknown
__meta_kubernetes_pod_node_name
:计划到的节点的名称。__meta_kubernetes_pod_host_ip
:pod 对象的当前主机 IP。__meta_kubernetes_pod_uid
:窗格对象的 UID。__meta_kubernetes_pod_controller_kind
:对象类的窗格控制器。__meta_kubernetes_pod_controller_name
: 窗格控制器的名称。
endpoints
该角色从服务列出的终结点发现目标。对于每个终结点地址,每个端口都发现一个目标。如果终结点由 pod 支持,则吊舱的所有附加容器端口(未绑定到终结点端口)也作为目标被发现。endpoints
可用的元标签:
__meta_kubernetes_namespace
:终结点对象的命名空间。__meta_kubernetes_endpoints_name
:终结点对象的名称。对于直接从终结点列表中发现的所有目标(未从基础窗格推断的目标),将附加以下标签:
__meta_kubernetes_endpoint_hostname
:终结点的主机名。__meta_kubernetes_endpoint_node_name
:托管终结点的节点的名称。__meta_kubernetes_endpoint_ready
:设置为 或 设置为终结点的就绪状态。true
`false`__meta_kubernetes_endpoint_port_name
:终结点端口的名称。__meta_kubernetes_endpoint_port_protocol
:端点端口的协议。__meta_kubernetes_endpoint_address_target_kind
:终结点地址目标的种类。__meta_kubernetes_endpoint_address_target_name
:终结点地址目标的名称。
- 如果终结点属于服务,则附加发现的所有标签。
role: service
- 对于由 pod 支持的所有目标,将附加发现的所有标签。
role: pod
ingress
该角色发现每个入口的每个路径的目标。这通常可用于黑盒对入口的监视。地址将设置为入口规范中指定的主机。ingress
可用的元标签:
__meta_kubernetes_namespace
:入口对象的命名空间。__meta_kubernetes_ingress_name
:入口对象的名称。__meta_kubernetes_ingress_label_<labelname>
:来自入口对象的每个标签。__meta_kubernetes_ingress_labelpresent_<labelname>
:来自入口对象的每个标签。true
__meta_kubernetes_ingress_annotation_<annotationname>
:来自入口对象的每个注释。__meta_kubernetes_ingress_annotationpresent_<annotationname>
:对于来自入口对象的每个注释。true
__meta_kubernetes_ingress_scheme
: 如果设置了 TLS 配置,则协议入口方案。默认值为 。https
`http`__meta_kubernetes_ingress_path
: 来自入口规格的路径。默认值为 。/
分类:
暂无分类
标签:
prometheus
版权申明
本文系作者 @Tis-FYM 原创发布在Tis-FYI站点。未经许可,禁止转载。
暂无评论数据