You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Prometheus无法抓取服务发现已识别的Istiod指标问题求助

Prometheus无法抓取服务发现已识别的Istiod指标问题求助

我最近在尝试用Prometheus抓取Istiod的监控指标,但遇到了个棘手的问题:明明在Prometheus的服务发现里已经能看到Istiod的相关端点信息,可这个端点却被归到了“未定义服务”里,指标完全抓不到,实在搞不清问题出在哪。

下面是我的相关配置信息,麻烦帮忙看看:

Istiod Service 配置

apiVersion: v1
kind: Service
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app":"istiod","install.operator.istio.io/owning-resource":"unknown","install.operator.istio.io/owning-resource-namespace":"istio-system","istio":"pilot","istio.io/rev":"default","operator.istio.io/component":"Pilot","operator.istio.io/managed":"Reconcile","operator.istio.io/version":"1.16.1","release":"istio"},"name":"istiod","namespace":"istio-system"},"spec":{"ports":[{"name":"grpc-xds","port":15010,"protocol":"TCP"},{"name":"https-dns","port":15012,"protocol":"TCP"},{"name":"https-webhook","port":443,"protocol":"TCP","targetPort":15017},{"name":"http-monitoring","port":15014,"protocol":"TCP"}],"selector":{"app":"istiod","istio":"pilot"}}}
  creationTimestamp: "2023-01-22T17:46:10Z"
  labels:
    app: istiod
    install.operator.istio.io/owning-resource: unknown
    install.operator.istio.io/owning-resource-namespace: istio-system
    istio: pilot
    istio.io/rev: default
    operator.istio.io/component: Pilot
    operator.istio.io/managed: Reconcile
    operator.istio.io/version: 1.16.1
    release: istio
  name: istiod
  namespace: istio-system
  resourceVersion: "1477"
  uid: 3bb086a7-ce4c-41db-ab84-a62aa8d32451
spec:
  clusterIP: 10.105.229.189
  clusterIPs:
  - 10.105.229.189
  internalTrafficPolicy: Cluster
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  ports:
  - name: grpc-xds
    port: 15010
    protocol: TCP
    targetPort: 15010
  - name: https-dns
    port: 15012
    protocol: TCP
    targetPort: 15012
  - name: https-webhook
    port: 443
    protocol: TCP
    targetPort: 15017
  - name: http-monitoring
    port: 15014
    protocol: TCP
    targetPort: 15014
  selector:
    app: istiod
    istio: pilot
  sessionAffinity: None
  type: ClusterIP
status:
  loadBalancer: {}

ServiceMonitor 配置

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: istio-component-monitor
  namespace: prometheus
  labels:
    monitoring: istio-components
    release: prom
spec:
  jobLabel: istio
  targetLabels: [app]
  selector:
    matchExpressions:
    - {key: istio, operator: In, values: [pilot]}
  namespaceSelector:
    matchNames:
    - istio-system
  endpoints:
  - port: http-monitoring
    interval: 15s

Prometheus服务发现中的端点信息

__address__="172.17.0.4:15012"
__meta_kubernetes_endpoint_address_target_kind="Pod"
__meta_kubernetes_endpoint_address_target_name="istiod-5b86c45f48-7m2w9"
__meta_kubernetes_endpoint_node_name="istio-prometheus-v1.23.9"
__meta_kubernetes_endpoint_port_name="https-dns"
__meta_kubernetes_endpoint_port_protocol="TCP"
__meta_kubernetes_endpoint_ready="true"
__meta_kubernetes_endpoints_label_app="istiod"
__meta_kubernetes_endpoints_label_install_operator_istio_io_owning_resource="unknown"
__meta_kubernetes_endpoints_label_install_operator_istio_io_owning_resource_namespace="istio-system"
__meta_kubernetes_endpoints_label_istio="pilot"
__meta_kubernetes_endpoints_label_istio_io_rev="default"
__meta_kubernetes_endpoints_label_operator_istio_io_component="Pilot"
__meta_kubernetes_endpoints_label_operator_istio_io_managed="Reconcile"
__meta_kubernetes_endpoints_label_operator_istio_io_version="1.16.1"
__meta_kubernetes_endpoints_label_release="istio"
__meta_kubernetes_endpoints_labelpresent_app="true"
__meta_kubernetes_endpoints_labelpresent_install_operator_istio_io_owning_resource="true"
__meta_kubernetes_endpoints_labelpresent_install_operator_istio_io_owning_resource_namespace="true"
__meta_kubernetes_endpoints_labelpresent_istio="true"
__meta_kubernetes_endpoints_labelpresent_istio_io_rev="true"
__meta_kubernetes_endpoints_labelpresent_operator_istio_io_component="true"
__meta_kubernetes_endpoints_labelpresent_operator_istio_io_managed="true"
__meta_kubernetes_endpoints_labelpresent_operator_istio_io_version="true"
__meta_kubernetes_endpoints_labelpresent_release="true"
__meta_kubernetes_endpoints_name="istiod"
__meta_kubernetes_namespace="istio-system"
__meta_kubernetes_pod_annotation_prometheus_io_port="15014"
__meta_kubernetes_pod_annotation_prometheus_io_scrape="true"
__meta_kubernetes_pod_annotation_sidecar_istio_io_inject="false"
__meta_kubernetes_pod_annotationpresent_prometheus_io_port="true"
__meta_kubernetes_pod_annotationpresent_prometheus_io_scrape="true"
__meta_kubernetes_pod_annotationpresent_sidecar_istio_io_inject="true"
__meta_kubernetes_pod_controller_kind="ReplicaSet"
__meta_kubernetes_pod_controller_name="istiod-5b86c45f48"
__meta_kubernetes_pod_host_ip="192.168.58.2"
__meta_kubernetes_pod_ip="172.17.0.4"
__meta_kubernetes_pod_label_app="istiod"
__meta_kubernetes_pod_label_install_operator_istio_io_owning_resource="unknown"
__meta_kubernetes_pod_label_istio="pilot"
__meta_kubernetes_pod_label_istio_io_rev="default"
__meta_kubernetes_pod_label_operator_istio_io_component="Pilot"
__meta_kubernetes_pod_label_pod_template_hash="5b86c45f48"
__meta_kubernetes_pod_label_sidecar_istio_io_inject="false"
__meta_kubernetes_pod_labelpresent_app="true"
__meta_kubernetes_pod_labelpresent_install_operator_istio_io_owning_resource="true"
__meta_kubernetes_pod_labelpresent_istio="true"
__meta_kubernetes_pod_labelpresent_istio_io_rev="true"
__meta_kubernetes_pod_labelpresent_operator_istio_io_component="true"
__meta_kubernetes_pod_labelpresent_pod_template_hash="true"
__meta_kubernetes_pod_labelpresent_sidecar_istio_io_inject="true"
__meta_kubernetes_pod_name="istiod-5b86c45f48-7m2w9"
__meta_kubernetes_pod_node_name="istio-prometheus-v1.23.9"
__meta_kubernetes_pod_phase="Running"
__meta_kubernetes_pod_ready="true"
__meta_kubernetes_pod_uid="893c8a96-2620-45fd-973a-d0f6d6c19d12"
__meta_kubernetes_service_annotation_kubectl_kubernetes_io_last_applied_configuration="{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app":"istiod","install.operator.istio.io/owning-resource":"unknown","install.operator.istio.io/owning-resource-namespace":"istio-system","istio":"pilot","istio.io/rev":"default","operator.istio.io/component":"Pilot","operator.istio.io/managed":"Reconcile","operator.istio.io/version":"1.16.1","release":"istio"},"name":"istiod","namespace":"istio-system"},"spec":{"ports":[{"name":"grpc-xds","port":15010,"protocol":"TCP"},{"name":"https-dns","port":15012,"protocol":"TCP"},{"name":"https-webhook","port":443,"protocol":"TCP","targetPort":15017},{"name":"http-monitoring","port":15014,"protocol":"TCP"}],"selector":{"app":"istiod","istio":"pilot"}}} "
__meta_kubernetes_service_annotationpresent_kubectl_kubernetes_io_last_applied_configuration="true"
__meta_kubernetes_service_label_app="istiod"
__meta_kubernetes_service_label_install_operator_istio_io_owning_resource="unknown"
__meta_kubernetes_service_label_install_operator_istio_io_owning_resource_namespace="istio-system"
__meta_kubernetes_service_label_istio="pilot"
__meta_kubernetes_service_label_istio_io_rev="default"
__meta_kubernetes_service_label_operator_istio_io_component="Pilot"
__meta_kubernetes_service_label_operator_istio_io_managed="Reconcile"
__meta_kubernetes_service_label_operator_istio_io_version="1.16.1"
__meta_kubernetes_service_label_release="istio"
__meta_kubernetes_service_labelpresent_app="true"
__meta_kubernetes_service_labelpresent_install_operator_istio_io_owning_resource="true"
__meta_kubernetes_service_labelpresent_install_operator_istio_io_owning_resource_namespace="true"
__meta_kubernetes_service_labelpresent_istio="true"
__meta_kubernetes_service_labelpresent_istio_io_rev="true"
__meta_kubernetes_service_labelpresent_operator_istio_io_component="true"
__meta_kubernetes_service_labelpresent_operator_istio_io_managed="true"
__meta_kubernetes_service_labelpresent_operator_istio_io_version="true"
__meta_kubernetes_service_labelpresent_release="true"
__meta_kubernetes_service_name="istiod"
__metrics_path__="/metrics"
__scheme__="http"
__scrape_interval__="15s"
__scrape_timeout__="10s"
__tmp_prometheus_job_name

我原本以为按照这个配置,Prometheus应该能正常抓取Istiod的http-monitoring端口(15014)的指标,但现在服务发现里显示的地址是172.17.0.4:15012(也就是https-dns端口),而且还被归到未定义服务里,完全达不到预期效果。有没有大佬能帮忙分析下问题出在哪?

备注:内容来源于stack exchange,提问作者VYG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 15:32:27