Recopilación de métricas de disponibilidad utilizando el exportador Prometheus Blackbox
El exportador Prometheus Blackbox permite el sondeo de Puntos finales sobre HTTP, HTTPS, DNS, TCP e ICMP. El agente de supervisión se puede utilizar junto con el exportador de Blackbox para recopilar métricas de disponibilidad. Luego se pueden definir alertas sobre las métricas de disponibilidad en IBM Cloud Monitoring para enviar alertas a los usuarios sobre la disponibilidad de los puntos finales.
Siga los pasos siguientes para configurar Prometheus Blackbox Exporter:
Configurar un agente de supervisión para recopilar métricas
Para supervisar 1 o más hosts, debe configurar un agente de supervisión. El agente recopila automáticamente un conjunto de métricas que puede supervisar a través de la interfaz de usuario de supervisión.
Vea Elegir un tipo de agente por infraestructura y elija el agente de supervisión que desea configurar para supervisar un host.
Instalar Prometheus Blackbox Exporter
Siga los pasos siguientes para ejecutar el exportador de Blackbox como un contenedor Docker:
-
Descargue el archivo blackbox.yml de Github.
Guarde el archivo en el directorio
/config/prometheus/blackbox/
. -
Ejecute el exportador de Blackbox como un contenedor 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
-
Compruebe que el exportador está activo. Ejecute el siguiente mandato:
docker container ls
Puede ver una salida como la siguiente:
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
Para detener el contenedor de blackbox, ejecute el siguiente mandato:
docker container stop 2480a0034bb4
.
Configurar valores de red
Si desea recopilar métricas desde servidores remotos, siga estos pasos:
-
Habilite el cortafuegos para permitir el acceso a
blackbox_exporter
. -
[Opcional] Actualice las reglas de VPC
Si utiliza Puntos finales privados, añada una regla de entrada al grupo de seguridad para el puerto
9115
consource type = Security Group
y elija el grupo de seguridad correspondiente al servidor.
Actualizar el agente de supervisión que se ejecuta en el servidor
Ejecute el siguiente mandato para editar el configmap y añadir información sobre los destinos de Blackbox que desea supervisar utilizando el agente de supervisión de 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
Donde
<IP_ADDRESS_OF_REMOTE_SERVER>
es la dirección IP de un servidor que desea supervisar.<INGESTION_ENDPOINT>
es el punto final de ingestión de la instancia de IBM Cloud Monitoring, por ejemplo,ingest.us-south.monitoring.cloud.ibm.com
. Consulte el apartado Puntos finales de recopilador.
Cuando guarde el archivo, se aplicarán los cambios.
Configurar el panel de control predeterminado y las alertas para analizar el estado de Blackbox del servidor
Complete los pasossiguientes:
-
Cree un panel de control.
-
Añada un panel para cada una de las siguientes consultas:
Métrica | Consulta | Opciones |
---|---|---|
Código de estado por instancia | probe_http_status_code{instance=$instance} |
number (auto) |
Caducidad de certificado SSL en días | probe_ssl_earliest_cert_expiry{instance=$instance}-time() |
time (auto) |
Búsqueda de DNS | probe_dns_lookup_time_seconds{instance=$instance} |
time (auto) |
Duración de sondeo | probe_duration_seconds{instance=$instance} |
time (auto) |
Por ejemplo, puede crear un panel de control que tenga el aspecto siguiente:
