【CRD】Probe撰写规范

Probe定义来监控静态目标或ingress

Probe模板

# Prometheus Operator CRD 版本
apiVersion: monitoring.coreos.com/v1
# 对应 K8S 的资源类型,这里面 Probe
kind: Probe
# 对应 K8S 的 Metadata,这里只用关心 name,如果没有指定 jobLabel,对应抓取指标 label 中 job 的值为 Service 的名称。
metadata:
  name: redis-exporter # 填写一个唯一名称
  namespace: cm-prometheus  # namespace固定,不需要修改
spec:
  # 默认情况下分配给抓取指标的作业名称,可不填
  [ jobLabel: string ]
  # 用于探测目标的探针规范。prober.URL为必填参数。如果目标为空,则无法探测。
  [ prober: ProberSpec ]
      [ url: string ]
      # 用于抓取的HTTP方案。默认为http。
      [ schema: string ]
      # 收集指标的路径。默认为/probe
      [ path: string ]
      [ proxyUrl: string ]
  # 在blackbox-exporter中配置的如何探测目标:blaockbox的配置参考:https://github.com/prometheus/blackbox_exporter/blob/master/example.yml
  [ module: string ]
  # Targets定义了一组要探测的静态或动态发现的目标。
  [ targets ] 
      # 定义用于探测的静态目标集
      [ staticConfig: ProbeTargetStaticConfig ]
          # 要探测的主机列表
          [ static: []string ]
          # 给抓取的指标增加新的标签
          [ labels: map[string]string ]
          # 在抓取的时候替换标签 https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
          [ relabelingConfigs: []RelabelConfig ]
      # 定义了用于探测的Ingress对象集,operator为每一个ingress关联的host/path配置了一个target
      [ ingress: ProbeTargetIngress ] 
          [selector: Kubernetes meta/v1.LabelSelector]
          [namespaceSelector: NamespaceSelector]
          # 在抓取的时候替换标签 https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
          [ relabelingConfigs: []RelabelConfig ]
  # 使用配置的探针探测目标的时间间隔。如果没有指定,则使用Prometheus的全局抓取间隔
  [ interval: Duration ]
  # 从Prometheus导出器获取度量的超时。如果未指定,则使用Prometheus全局抓取间隔
  [ scrapeTimeout: Duration ]
  # 在抓取端点时使用的TLS配置 https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.ProbeTLSConfig
  [ tlsConfig: ProbeTLSConfig] 
  # 秘密挂载到抓取目标的读取持有者令牌。秘密需要在与探测相同的名称空间中,并且可以由Prometheus Operator访问。https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#secretkeyselector-v1-core
  [ bearerTokenSecret: Kubernetes core/v1.SecretKeySelector ]
  # 基本认证:https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.BasicAuth
  [ basicAuth: BasicAuth ]
  [ oauth2: OAuth2 ]
  # 在摄入时替换标签:https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
  [ metricRelabelings: []RelabelConfig ]
  # 使用的授权方法以及证书
  [ authorization: SafeAuthorization ] 
  # SampleLimit定义了将被接受的每次抓取样本数量的限制,sample就是一行metrics
  [ sampleLimit: uint64 ] 
  # TargetLimit定义了将被接受的抓取目标数量的限制
  [ targetLimit: uint64 ] 
  # labelLimit定义了一行metrics的limit数
  [ labelLimit: uint64 ] 
  # labelNameLengthLimit定义了每个label的长度限制
  [ labelNameLengthLimit: uint64 ] 
  # labelValueLengthLimit定义了每个label的value长度限制
  [ labelValueLengthLimit: uint64 ] 

示例

apiVersion: monitoring.coreos.com/v1
kind: Probe
metadata:
  labels:
    app.kubernetes.io/component: exporter
    app.kubernetes.io/name: blackbox-exporter
    app.kubernetes.io/part-of: kube-prometheus
    app.kubernetes.io/version: 0.23.0
  name: prometheus-demo
  namespace: monitoring
spec:
  module: http_2xx
  prober:
    url: blackbox-exporter.monitoring.svc:19115
  targets:
    staticConfig:
      labels:
        environment: prometheus.io
      static:
      - https://demo.do.prometheus.io/
      - https://prometheus.demo.do.prometheus.io/-/healthy
      - https://alertmanager.demo.do.prometheus.io/-/healthy
      - https://node.demo.do.prometheus.io/
      - https://grafana.demo.do.prometheus.io/api/health

参考

Probe官方文档

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值