You need to enable JavaScript to run this app.
文档中心
托管 Prometheus

托管 Prometheus

复制全文
下载 pdf
接入指南
健康巡检(Blackbox)接入
复制全文
下载 pdf
健康巡检(Blackbox)接入
当您在容器服务集群接入托管 Prometheus 后,允许通过 Probe 来满足集群和应用的黑盒监控需求。本文为您介绍如何通过 Probe 来配置黑盒监控。
背景信息
在标准的 Kubernetes 集群中,我们可以通过配置 ServiceMonitor 或 PodMonitor 进行服务发现,对集群内的资源或服务进行监控,例如:监控主机的资源用量、容器的运行状态、数据库中间件的运行数据等等。这些都是支持业务和服务的基础设施,通过监控其暴露的相关指标,能够了解其内部的实际运行状态,预判可能出现的问题,从而对潜在的不确定因素进行优化。这种通过直接观测应用内部指标的监控方法,也被称之为 白盒监控
除了白盒监控以外,实际中还经常使用 黑盒监控(Blackbox) 对服务进行监控。所谓黑盒监控,即以用户的视角测试和监控服务的外部可见性,常见的黑盒监控包括 HTTP 探针、TCP 探针、DNS 探针、ICMP 探针、gRPC 探针等,可以用于检测站点或者服务的可访问性,以及访问效率等。例如:
  • HTTP 探测:HTTP 服务有效性监控、SSL 证书有效期等。
  • ICMP 探测:网络连通性检测、主机探活等。
  • TCP 探测:主机 TCP 端口探活等。
  • alt
说明
Blackbox Exporter 是 Prometheus 社区提供的官方黑盒监控解决方案,其允许用户通过 HTTP、HTTPS、DNS、TCP、ICMP 以及 gRPC 等方式对网络和应用进行探测和监控。详情请参见 官方文档
黑盒监控与白盒监控的主要区别和应用场景为:
  • 黑盒监控: 用户视角,以故障为导向,侧重监控应用的外部服务是否正常。当故障发生时,黑盒监控能快速发现故障。
  • 白盒监控: 应用视角,侧重监控应用的内部运行情况,并以此预测潜在的问题。
  • alt
说明
一个典型的、完善的监控链路,需要白盒监控和黑盒监控共同完成。即从白盒监控的角度发现潜在问题,从黑盒监控的角度快速发现已经发生的问题。
前提条件
  • 托管 Prometheus
  • 已创建托管 Prometheus 工作区,详情请参见 创建工作区
  • 容器服务
  • 已注册并开通火山引擎容器服务(VKE)。
  • 如果您需要监控集群外部的服务,需要开启 blackbox-exporter 组件所在集群的 公网访问 功能,详情请参见 容器服务 FAQ
配置方式
方式一:接入中心(推荐)
配置接入任务
  1. 登录 VMP 服务控制台
  1. 在顶部导航栏,选择目标地域。
  1. 在左侧导航栏中选择 接入中心 > 组件,单击 健康巡检(Blackbox),配置接入任务。
  1. 配置采集器的部署环境。选择 VKE 环境,并选择关联集群。
  1. 单击 创建接入任务,配置接入任务的详情。
  • 配置项
    说明
    基础信息
    任务名称
    配置接入任务的名称。支持中文、英文大小写、数字和下划线_,取值范围为 1~40 个字符。
    采集配置
    JobName
    为采集指标添加 Job 相关的 Label。配置该参数后,所有采集的指标均会添加相关 Label,方便您基于 Job 对指标进行筛选。
    指标采集间隔
    配置采集器的采集间隔。
    探测方式
    配置探测方式,支持 http_2xxpingtcp
    探测目标
    配置探测目标,支持配置为域名或 IP 地址。例如www.volcengine.com
  1. 单击 确认,完成配置。
获取监控大盘
选择 效果预览 页签,支持查看监控大盘示例。单击 获取 Grafana 模版,即可下载 JSON 格式的 Grafana 监控大盘模版。
查询监控指标
选择 采集指标 页签,即可查看采集目标的指标列表。
方式二:自定义部署
步骤一:创建 Probe CRD 资源
如果您的集群中不存在 Probe CRD 资源,您需要在本地环境中连接集群,执行以下命令,在集群中创建 Probe CRD 资源。
kubectl apply -f https://vmp-release-cn-beijing.tos-cn-beijing.volces.com/manifests/crds/promopeartor-crd-probes.yaml
说明
  • 如果您的集群所在地域不为 华北2(北京),则您需要将上述命令中的 cn-beijing 字段修改为对应地域的 RegionID。例如:华东2(上海)地域的集群,部署命令为 kubectl apply -f https://vmp-release-cn-shanghai.tos-cn-shanghai.volces.com/manifests/crds/promopeartor-crd-probes.yaml。地域的 RegionID 详情请参见 地域和可用区
步骤二:使用 ConfigMap 管理 blackbox-exporter 配置
  1. 单击左侧导航栏中的 集群
  1. 在集群列表页面,单击需要配置的目标集群。
  1. 在集群管理页面的左侧导航栏中,选择 配置 > 配置项,单击 使用 Yaml 创建,创建配置项。
apiVersion: v1
kind: ConfigMap
metadata:
name: blackbox-config
namespace: volcano-metrics
data:
blackbox.yml: |-
modules:
## ------------HTTP 检测模块配置------------
http_2xx:
prober: http
timeout: 5s ## 探测超时时间
http:
valid_http_versions: ["HTTP/1.1", "HTTP/2.0"]
valid_status_codes: [] ## HTTP 返回状态码,默认为 2xx
method: GET ## HTTP GET 方法
preferred_ip_protocol: "ip4" ## HTTP 探针默认为 IPv6,需要使用该配置项强制通过 IPv4 进行探测
## ------------HTTP POST 监测模块配置------------
http_post_2xx:
prober: http
timeout: 5s ## 探测超时时间
http:
method: POST
headers:
Content-Type: application/json ## 定义 HTTP 报文头
body: '{}' ## 定义 HTTP 报文 body 内容
## ------------TCP 检测模块配置------------
tcp_connect:
prober: tcp
timeout: 5s ## 探测超时时间
## ------------ICMP 检测模块配置------------
icmp:
prober: icmp
timeout: 5s ## 探测超时时间
## ------------DNS 检测模块配置------------
dns:
prober: dns
dns:
query_name: "www.example.com"
query_type: "A"
valid_rcodes:
- NOERROR
说明
上述配置项仅为示例,只定义了http_2xxhttp_post_2xxtcp_connecticmpdns几个探测模块。如果您有其他协议的探测需求,需要添加对应的探测模块配置。详情请参见 官方文档
步骤三:部署 blackbox-exporter
  1. 在左侧菜单栏中选择 工作负载 > 无状态负载。单击 使用 Yaml 创建,部署 blackbox-exporter。
apiVersion: apps/v1
kind: Deployment
metadata:
name: blackbox
namespace: volcano-metrics
spec:
selector:
matchLabels:
app: blackbox
template:
metadata:
labels:
app: blackbox
spec:
containers:
- image: prom/blackbox-exporter:latest # 拉取 Docker Hub 中的 exporter 镜像
name: blackbox
args:
- --config.file=/etc/blackbox_exporter/blackbox.yml # 指定 ConfigMap 配置文件
- --log.level=error # 错误级别控制
ports:
- containerPort: 9115 # 配置容器端口号
volumeMounts:
- name: config
mountPath: /etc/blackbox_exporter
volumes:
- name: config
configMap:
name: blackbox-config # 挂载 ConfigMap 配置文件
说明
blackbox-exporter 的详细参数,请参见 blackbox-exporter
  1. 在左侧菜单栏中选择 服务与路由 > 服务。单击 使用 Yaml 创建 ,创建服务。
apiVersion: v1
kind: Service
metadata:
name: service-blackbox # 服务的名称
namespace: volcano-metrics # 服务的命名空间
spec:
selector:
app: blackbox # 通过标签选择器将服务与后端容器组(Pod)绑定
ports:
- name: rule # 服务端口映射规则名称
protocol: TCP # 服务协议,支持 TCP 或 UDP
port: 9115 # 服务端口号
targetPort: 9115 # 容器端口号
type: ClusterIP # 服务的类型
步骤四:配置服务发现
  1. 在左侧菜单栏中选择 工作负载 > 对象浏览器。单击 使用 Yaml 创建 ,配置服务发现。
  • 类型 下拉菜单中选择 自定义
  • Yaml 配置框内输入 Yaml 配置。
apiVersion: monitoring.coreos.com/v1
kind: Probe
metadata:
name: http-probe-example # 配置服务发现的名称
namespace: volcano-metrics # 配置服务发现所在的命名空间
labels:
volcengine.vmp: "true" # 配置 Probe 的标签,允许被 Prometheus-agent 发现
spec:
jobName: http-example # 配置任务名称
prober:
url: service-blackbox.volcano-metrics.svc.cluster.local:9115 # 通过域名指定 blackbox-exporter 的服务地址
module: http_2xx # 配置探测任务使用的预定义模块
targets: # 配置采集目标,这里使用了静态配置。在实际使用中,也支持其他配置,例如 Kubernetes 服务发现功能
staticConfig:
static:
- www.volcengine.com # 配置采集对象,本例中以配置静态对象为例
结果验证
查看接入任务
配置完成后,您可以查看任务状态和任务详情。确定接入任务是否正常。
  1. 在左侧导航栏中选择 接入中心 > 接入任务
  1. 选择 VKE 环境 页签在任务列表中,可以查看接入任务的状态。
接入任务创建完成后,支持以下运维操作:
  • 单击 任务名称,进入任务详情页面,支持查看接入任务详情。
  • 单击 操作 列的 编辑,支持编辑指定的接入任务。
  • 单击 操作 列的 暂停任务,支持暂停指定的接入任务。
  • 单击 操作 列的 删除,支持删除指定的接入任务。
查询任务指标
在左侧导航栏中选择 Explore,可以使用up查看接入任务中采集 Job 的状态。本例中为up{job="blackbox_demo"}。当该指标的值为 1 时,表示采集器已创建完成并工作正常。
监控信息
查询指标
您可以使用托管 Prometheus 的 Explore 功能来快速查询和展示指标数据。详情请参见 指标查询
搭建大盘
您可以在容器服务集群或 ECS 主机中自建 Grafana,并通过 Grafana 查看指标和创建大盘。
配置告警
您可以在托管 Prometheus 的告警中心配置实例的相关告警。详情请参见 创建告警规则
常见问题
如何对 blackbox-exporter 进行调试和 Debug?
当您发现 blackbox-exporter 采集的数据有问题,或者组件状态不正常时,可以采取以下方式,直接查看 blackbox-exporter 采集到的数据,或进行 Debug 处理。具体的步骤如下:
  1. 在本地环境中通过 kubectl 连接集群,执行以下命令,配置 blackbox-exporter 组件实例的端口映射。其中blackbox-84d7xxxx为组件实例名称。
kubectl port-forward pod/blackbox-84d7xxxx 9115:9115 -n volcano-metrics
  1. 执行以下命令,查看 blackbox-exporter 组件的数据和 Debug 信息。其中:
  • target字段为您探测的目标。
  • module字段为您使用的检测模块。
  • debug=true表示开启 Debug。您可以看到 blackbox-exporter 组件的配置信息、采集指标、组件日志等信息。
curl -s "localhost:9115/probe?target=https://www.volcengine.com&module=http_2xx&debug=true"
最近更新时间:2025.09.03 15:13:01
这个页面对您有帮助吗?
有用
有用
无用
无用