IBM Cloud Docs
Collecte des métriques de disponibilité à l'aide de l'exportateur Prometheus Blackbox

Collecte des métriques de disponibilité à l'aide de l'exportateur Prometheus Blackbox

L'exportateur Prometheus Blackbox permet de sonder la boîte noire des noeuds finaux via HTTP, HTTPS, DNS, TCP et ICMP. L'agent de surveillance peut être utilisé conjointement avec l'exportateur Blackbox pour collecter les métriques de disponibilité. Les métriques de disponibilité peuvent ensuite faire l'objet d'alertes dans IBM Cloud Monitoring pour informer les utilisateurs sur la disponibilité des noeuds finaux.

Procédez comme suit pour configurer l'exportateur Prometheus Blackbox :

Configuration d'un agent de surveillance pour collecter les mesures

Pour surveiller un ou plusieurs hôtes, vous devez configurer un agent de surveillance. L'agent collecte automatiquement un ensemble de métriques que vous pouvez surveiller via l'interface utilisateur de surveillance.

Voir Choix d'un type d'agent par infrastructure et choisissez l'agent de surveillance que vous souhaitez configurer pour surveiller un hôte.

Installation de l'exportateur Prometheus Blackbox

Pour exécuter l'exportateur Blackbox en tant que conteneur Docker, procédez comme suit:

  1. Téléchargez le blackbox.yml déposer de Github.

    Enregistrez le fichier dans le répertoire /config/prometheus/blackbox/.

  2. Exécutez l'exportateur Blackbox en tant que conteneur 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. Vérifiez que l'exportateur est en cours d'exécution. Exécutez la commande suivante :

    docker container ls
    

    Une sortie similaire à la suivante s'affiche :

    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
    

    Pour arrêter le conteneur Blackbox, exécutez la commande suivante : docker container stop 2480a0034bb4.

Configurer les paramètres réseau

Si vous souhaitez collecter des métriques à partir de serveurs distants, procédez comme suit :

  1. Activez le pare-feu pour autoriser l'accès à l'exportateur blackbox_exporter.

  2. [Facultatif] Mettre à jour les règles VPC

    Si vous utilisez des noeuds finaux privés, ajoutez une règle entrante au groupe de sécurité pour le port 9115 avec source type = Security Group et choisissez le groupe de sécurité pour le serveur.

Mise à jour de l'agent de surveillance en cours d'exécution sur le serveur

Exécutez la commande suivante pour éditer la mappe de configuration et pour ajouter des informations sur les cibles Blackbox que vous souhaitez surveiller à l'aide de l'agent de surveillance 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

  • <IP_ADDRESS_OF_REMOTE_SERVER> est l'adresse IP d'un serveur que vous souhaitez surveiller.
  • <INGESTION_ENDPOINT> est le noeud final d'ingestion d'instance IBM Cloud Monitoring, par exemple, ingest.us-south.monitoring.cloud.ibm.com. Voir Noeuds finaux de collecteur.

Lorsque vous enregistrez le fichier, les modifications sont appliquées.

Configurer le tableau de bord par défaut et les alertes pour analyser l'état de la boîte noire de votre serveur

Procédez comme suit :

  1. Lancez l'interface utilisateur de surveillance.

  2. Créez un tableau de bord.

  3. Ajoutez un panneau pour chacune des requêtes suivantes :

Exemples de requêtes pour l'exportateur Blackbox
Métrique Requête Options
Code de statut par instance probe_http_status_code{instance=$instance} number (auto)
Expiration du certificat SSL en jours probe_ssl_earliest_cert_expiry{instance=$instance}-time() time (auto)
Recherche du DNS probe_dns_lookup_time_seconds{instance=$instance} time (auto)
Durée de la sonde probe_duration_seconds{instance=$instance} time (auto)

Par exemple, vous pouvez créer un tableau de bord qui se présente comme suit :

Exemple de{: caption="bord BlackboxExemple de tableau de bord BlackboxExemple de tableau " caption-side="bottom"} bord Blackbox*