Prometheus Probe 监控配置文档

概述

本文档描述了使用 Prometheus Operator 的 Probe 资源监控外部服务的配置方法。该配置通过静态目标地址直接监控多个服务端点,无需创建额外的 Service 和 Endpoints 资源。

前提条件

  • Kubernetes 集群
  • Prometheus Operator v0.42 或更高版本
  • monitoring 命名空间已存在

配置示例

apiVersion: monitoring.coreos.com/v1
kind: Probe
metadata:
  name: ck-node-exporter-probe
  namespace: monitoring
spec:
  jobName: 'ck_node_exporter'
  interval: 10s
  targets:
    staticConfig:
      static:
      - 192.168.1.100:9100    # 示例节点1
      - 192.168.1.101:9100    # 示例节点2
      - 192.168.1.102:9100    # 示例节点3
  prober:
    url: 192.168.1.100:9100
    path: /metrics
    scheme: http
---
apiVersion: monitoring.coreos.com/v1
kind: Probe
metadata:
  name: ck-clickhouse-probe
  namespace: monitoring
spec:
  jobName: 'ck_clickhouse'
  interval: 10s
  targets:
    staticConfig:
      static:
      - 192.168.2.100:9363    # 示例数据库节点1
      - 192.168.2.101:9363    # 示例数据库节点2
      - 192.168.2.102:9363    # 示例数据库节点3
  prober:
    url: 192.168.2.100:9363
    path: /metrics
    scheme: http
---
apiVersion: monitoring.coreos.com/v1
kind: Probe
metadata:
  name: ck-zookeeper-probe
  namespace: monitoring
spec:
  jobName: 'ck_zookeeper'
  interval: 10s
  targets:
    staticConfig:
      static:
      - 192.168.3.100:7070    # 示例协调服务节点1
      - 192.168.3.101:7070    # 示例协调服务节点2
      - 192.168.3.102:7070    # 示例协调服务节点3
  prober:
    url: 192.168.3.100:7070
    path: /metrics
    scheme: http

部署步骤

  1. 保存配置文件
    将上述配置保存为 probes-config.yaml 文件

  2. 应用配置

    kubectl apply -f probes-config.yaml
    
  3. 验证部署

    kubectl get probes -n monitoring
    
  4. 检查 Prometheus 目标
    访问 Prometheus Web UI,确认所有目标状态为 "UP"

配置说明

  • jobName: 监控任务名称,均以 "ck_" 前缀标识
  • interval: 抓取间隔设置为 10 秒
  • targets: 使用静态 IP 地址配置监控目标
  • prober: 配置探针参数,指定 metrics 端点路径为 /metrics
  • scheme: 使用 HTTP 协议进行监控数据抓取

注意事项

  1. 网络连通性: 确保 Prometheus 能够访问所有配置的目标地址和端口
  2. 防火墙规则: 检查网络策略是否允许监控流量
  3. 资源版本: 确认 Prometheus Operator 版本兼容性
  4. 监控目标: 确保所有被监控服务已正确暴露 metrics 端点

故障排除

  1. 如果目标显示为 "DOWN",检查:

    • 网络连通性
    • 目标服务是否正常运行
    • 防火墙和网络策略配置
  2. 使用以下命令查看详细状态:

    kubectl describe probe <probe-name> -n monitoring
    

此配置提供了一种简洁高效的方式来监控外部服务,避免了传统方式中需要创建多层级资源的复杂性。

posted @ 2025-09-15 10:37  gjf123  阅读(30)  评论(0)    收藏  举报