iVampireSP 的物语

与所有美好的存在又多了一年的物语

Istio 使用外部 Prometheus

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: prometheus-oper-istio-controlplane
  namespace: istio-system
  labels:
    release: prometheus
spec:
  jobLabel: istio
  selector:
    matchExpressions:
      - {key: istio, operator: In, values: [mixer,pilot,galley,citadel,sidecar-injector]}
  namespaceSelector:
    any: true
  endpoints:
  - port: http-monitoring
    interval: 15s
    honorLabels: true
    relabelings:
    - sourceLabels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
      action: keep
      regex: "true"
    - action: drop
      sourceLabels: [__meta_kubernetes_service_annotation_prometheus_io_scrape_slow]
      regex: "true"
    - action: replace
      regex: (https?)
      sourceLabels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
      targetLabel: __scheme__
    - action: replace
      regex: (.+)
      sourceLabels: [__meta_kubernetes_service_annotation_prometheus_io_path]
      targetLabel: __metrics_path__
    - action: replace
      regex: (.+?)(?::\d+)?;(\d+)
      replacement: $1:$2
      sourceLabels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
      targetLabel: __address__
    - action: labelmap
      regex: __meta_kubernetes_service_annotation_prometheus_io_param_(.+)
      replacement: __param_$1
    - action: labelmap
      regex: __meta_kubernetes_service_label_(.+)
    - action: replace
      sourceLabels: [__meta_kubernetes_namespace]
      targetLabel: namespace
    - action: replace
      sourceLabels: [__meta_kubernetes_service_name]
      targetLabel: service
    - action: replace
      sourceLabels: [__meta_kubernetes_pod_node_name]
      targetLabel: node
  - port: http-policy-monitoring
    interval: 15s
    honorLabels: true
    relabelings:
    - sourceLabels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
      action: keep
      regex: "true"
    - action: replace
      sourceLabels: [__meta_kubernetes_namespace]
      targetLabel: namespace
    - action: replace
      sourceLabels: [__meta_kubernetes_service_name]
      targetLabel: service
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: prometheus-oper-istio-dataplane
  namespace: istio-system
  labels:
    monitoring: istio-dataplane
    release: prometheus
spec:
  selector:
    matchExpressions:
      - {key: istio-prometheus-ignore, operator: DoesNotExist}
  namespaceSelector:
    any: true
  jobLabel: envoy-stats
  endpoints:
  - path: /stats/prometheus
    targetPort: http-envoy-prom
    interval: 15s
    relabelings:
    - sourceLabels: [__meta_kubernetes_pod_container_port_name]
      action: keep
      regex: '.*-envoy-prom'
    - action: labelmap
      regex: "__meta_kubernetes_pod_label_(.+)"
    - action: replace
      sourceLabels: [__meta_kubernetes_namespace]
      targetLabel: namespace
    - action: replace
      sourceLabels: [__meta_kubernetes_pod_name]
      targetLabel: pod_name
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: prometheus-oper-istio-dataplane
  namespace: istio-system
  labels:
    monitoring: istio-dataplane
    release: prometheus
spec:
  selector:
    matchExpressions:
      - {key: istio-prometheus-ignore, operator: DoesNotExist}
  namespaceSelector:
    any: true
  jobLabel: envoy-stats
  endpoints:
  - path: /stats/prometheus
    targetPort: http-envoy-prom
    interval: 15s
    relabelings:
    - sourceLabels: [__meta_kubernetes_pod_container_port_name]
      action: keep
      regex: '.*-envoy-prom'
    - action: labelmap
      regex: "__meta_kubernetes_pod_label_(.+)"
    - sourceLabels: [__meta_kubernetes_namespace]
      action: replace
      targetLabel: namespace
    - sourceLabels: [__meta_kubernetes_pod_name]
      action: replace
      targetLabel: pod_name

原文:https://zhuanlan.zhihu.com/p/281747776

3 条回复

  1. 这个水平高了

  2. 有生之年终于更新了😭

    1. 入了云原生后处处都是坑,有些东西得做个笔记防止忘掉(哭

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注