IBM Cloud Docs
Recopilación de métricas de disponibilidad utilizando el exportador Prometheus Blackbox

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:

  1. Descargue el archivo blackbox.yml de Github.

    Guarde el archivo en el directorio /config/prometheus/blackbox/.

  2. 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
    
  3. 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:

  1. Habilite el cortafuegos para permitir el acceso a blackbox_exporter.

  2. [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 con source 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:

  1. Inicie la interfaz de usuario de supervisión.

  2. Cree un panel de control.

  3. Añada un panel para cada una de las siguientes consultas:

Consultas de ejemplo del exportador Blackbox
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:

Ejemplo de cuadro
de cuadro de mando