使用以下方式收集可用性指标Prometheus黑盒出口商
Prometheus Blackbox 导出器允许通过 HTTP、HTTPS、DNS、TCP 和 ICMP 对端点进行黑盒探测。 监控代理可以与 Blackbox 导出器结合使用来收集可用性指标。 可用性指标可在 IBM Cloud Monitoring 内提醒用户端点的可用性。
完成以下步骤来配置Prometheus黑盒出口商:
配置监控代理来收集指标
要监控 1 个或多个主机,您必须配置一个监控代理。 该代理会自动收集一组指标,您可以通过监控 UI 进行监控。
请参阅“按基础设施选择代理类型”,并选择要配置的监控代理,以监控主机。
安装Prometheus黑盒出口商
完成以下步骤将 Blackbox 导出器作为 Docker 容器运行:
-
下载 blackbox.yml文件来自 Github。
将文件保存到目录
/config/prometheus/blackbox/
。 -
将 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
-
检查出口商是否正常。 运行以下命令:
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
。
配置网络设置
如果您想从远程服务器收集指标,请完成以下步骤:
-
启用防火墙以允许访问
blackbox_exporter
。 -
[选修的]更新 VPC 规则
如果您使用私有终端节点,请向端口的安全组添加入站规则
9115
和source 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 状态
完成以下步骤:
-
创建仪表板。
-
为以下每个查询添加一个面板:
指标 | 查询 | 选项 |
---|---|---|
实例状态代码 | 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) |
例如,您可以创建如下所示的仪表板:
