IBM Cloud Docs
使用以下方式收集可用性指标Prometheus黑盒出口商

使用以下方式收集可用性指标Prometheus黑盒出口商

Prometheus Blackbox 导出器允许通过 HTTP、HTTPS、DNS、TCP 和 ICMP 对端点进行黑盒探测。 监控代理可以与 Blackbox 导出器结合使用来收集可用性指标。 可用性指标可在 IBM Cloud Monitoring 内提醒用户端点的可用性。

完成以下步骤来配置Prometheus黑盒出口商:

配置监控代理来收集指标

要监控 1 个或多个主机,您必须配置一个监控代理。 该代理会自动收集一组指标,您可以通过监控 UI 进行监控。

请参阅“按基础设施选择代理类型”,并选择要配置的监控代理,以监控主机。

安装Prometheus黑盒出口商

完成以下步骤将 Blackbox 导出器作为 Docker 容器运行:

  1. 下载 blackbox.yml文件来自 Github。

    将文件保存到目录 /config/prometheus/blackbox/

  2. 将 Blackbox 导出器作为 Docker 容器运行:

    docker run --rm -d -p 9115:9115 -l io.prometheus.scrape=true -l io.prometheus.port=9115 -l io.prometheus.path=/probe --name blackbox_exporter -v `pwd`:/config/prometheus/blackbox prom/blackbox-exporter:master --config.file=/config/prometheus/blackbox/blackbox.yml
    
  3. 检查出口商是否正常。 运行以下命令:

    docker container ls
    

    您可以看到类似以下的输出:

    CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                    NAMES
    2480a0034bb4        prom/blackbox-exporter:master   "/bin/blackbox_expor…"   36 minutes ago      Up 36 minutes       0.0.0.0:9115->9115/tcp   blackbox_exporter
    

    要停止黑盒容器,请运行以下命令:docker container stop 2480a0034bb4

配置网络设置

如果您想从远程服务器收集指标,请完成以下步骤:

  1. 启用防火墙以允许访问 blackbox_exporter

  2. [选修的]更新 VPC 规则

    如果您使用私有终端节点,请向端口的安全组添加入站规则 9115source type = Security Group 并选择服务器的安全组。

更新服务器中运行的监控代理

运行以下命令编辑 configmap 并添加有关要使用以下方式监控的 Blackbox 目标的信息Kubernetes监控代理:

kubectl edit configmap sysdig-agent -n ibm-observe
log:
  file_priority: error
configmap: true
### Agent tags
# tags: linux:ubuntu,dept:dev,local:nyc

#### Monitoring Software related config ####

# Monitoring collector address
# collector: 192.168.1.1

# Collector TCP port
# collector_port: 6666

# Whether collector accepts ssl
# ssl: true

# collector certificate validation
# ssl_verify_certificate: true

#######################################
# new_k8s: true
# k8s_cluster_name: production
security:
  k8s_audit_server_url: 0.0.0.0
  k8s_audit_server_port: 7765
k8s_cluster_name: <CLUSTER_NAME>/<CLUSTER_ID>
tags: ibm.containers-kubernetes.cluster.id:<CLUSTER_ID>
collector: <INGESTION_ENDPOINT>
collector_port: 6443
ssl: true
ssl_verify_certificate: true
sysdig_capture_enabled: false
promscrape_fastproto: true
use_promscrape: true
prometheus:
  enabled: true
  prom_service_discovery: true
  log_errors: true
  max_metrics: 200000
  max_metrics_per_process: 200000
  max_tags_per_metric: 100
  ingest_raw: true
  ingest_calculated: false
prometheus.yaml:
----
global:
  scrape_interval: 10s
scrape_configs:
- job_name: blackbox
  metrics_path: /probe
  params:
    module: [http_2xx]
  static_configs:
  - targets:
    - https://prometheus.io/
    - https://www.google.com/search?q=promcat
    - https://www.ibm.com/software/passportadvantage
  relabel_configs:
  - source_labels: [__address__]
    target_label: __param_target
  - source_labels: [__param_target]
    target_label: instance
  - source_labels: [__param_target]
    target_label: blackbox_instance
  - target_label: __address__
    replacement: blackbox-exporter.ibm-observe:9115

Where

  • <IP_ADDRESS_OF_REMOTE_SERVER> 是您想要监控的服务器的IP地址。
  • <INGESTION_ENDPOINT> 是个IBM Cloud Monitoring实例摄取端点,例如,ingest.us-south.monitoring.cloud.ibm.com。 看 收集器端点

当您保存文件时,更改将被应用。

配置默认仪表板和警报以分析服务器的 Blackbox 状态

完成以下步骤:

  1. 启动监控 UI

  2. 创建仪表板。

  3. 为以下每个查询添加一个面板:

黑盒子输出器示例查询
指标 查询 选项
实例状态代码 probe_http_status_code{instance=$instance} number (auto)
SSL 证书将在几天后过期 probe_ssl_earliest_cert_expiry{instance=$instance}-time() time (auto)
DNS 查找 probe_dns_lookup_time_seconds{instance=$instance} time (auto)
探测时长 probe_duration_seconds{instance=$instance} time (auto)

例如,您可以创建如下所示的仪表板:

黑盒子仪表板示例
黑盒子仪表板示例* 黑盒子
示例