IBM Cloud Docs
Sammeln von Verfügbarkeitsmetriken mithilfe der Prometheus Blackbox-Exportkomponente

Sammeln von Verfügbarkeitsmetriken mithilfe der Prometheus Blackbox-Exportkomponente

Mit dem Prometheus-Blackbox-Exportprogramm können Funktionseinheiten von Endpunkten über HTTP, HTTPS, DNS, TCP und ICMP geprüft werden. Der Überwachungsagent kann in Verbindung mit dem Blackbox-Exportprogramm verwendet werden, um Verfügbarkeitsmetriken zu erfassen. Die Verfügbarkeitsmetriken können dann innerhalb von IBM Cloud Monitoring angezeigt werden, um Benutzer auf die Verfügbarkeit der Endpunkte aufmerksam zu machen.

Führen Sie die folgenden Schritte aus, um den Prometheus Blackbox Exporter zu konfigurieren:

Überwachungsagenten zum Erfassen von Metriken konfigurieren

Um 1 oder mehrere Hosts zu überwachen, müssen Sie einen Überwachungsagenten konfigurieren. Der Agent sammelt automatisch eine Reihe von Metriken, die Sie über die Überwachungsschnittstelle überwachen können.

Wählen Sie "Auswählen eines Agent-Typs nach Infrastruktur " und wählen Sie den Überwachungsagenten aus, den Sie für die Überwachung eines Hosts konfigurieren möchten.

Prometheus-Exportkomponente 'Blackbox' installieren

Führen Sie die folgenden Schritte aus, um die Blackbox-Exportkomponente als Docker-Container auszuführen:

  1. Laden Sie die blackbox.yml Datei von Github.

    Speichern Sie die Datei in das Verzeichnis /config/prometheus/blackbox/.

  2. Führen Sie die Blackbox-Exportkomponente als Docker-Container aus:

    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. Prüfen Sie, ob die Exportkomponente aktiv ist. Führen Sie den folgenden Befehl aus:

    docker container ls
    

    Sie können eine Ausgabe wie die folgende sehen:

    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
    

    Um den Funktionseinheits-Container zu stoppen, führen Sie den folgenden Befehl aus: docker container stop 2480a0034bb4.

Netzeinstellungen konfigurieren

Führen Sie die folgenden Schritte aus, wenn Sie Metriken von fernen Servern erfassen möchten:

  1. Aktivieren Sie die Firewall, um den Zugriff auf den blackbox_exporter zu ermöglichen.

  2. [Optional] Aktualisieren Sie die VPC-Regeln.

    Wenn Sie private Endpunkte verwenden, fügen Sie der Sicherheitsgruppe für Port 9115 eine eingehende Regel mit source type = Security Group hinzu und wählen Sie die Sicherheitsgruppe für den Server.

Aktualisieren Sie den Überwachungsagenten, der auf dem Server ausgeführt wird.

Führen Sie den folgenden Befehl aus, um die Konfigurationszuordnung zu bearbeiten und Informationen über die Blackbox-Ziele hinzuzufügen, die Sie mit dem Kubernetes-Überwachungsagenten überwachen möchten:

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

Wo

  • <IP_ADDRESS_OF_REMOTE_SERVER> steht für die IP-Adresse eines Servers, den Sie überwachen wollen.
  • <INGESTION_ENDPOINT> steht für den Aufnahmeendpunkt der IBM Cloud Monitoring-Instanz, z. B. ingest.us-south.monitoring.cloud.ibm.com. Siehe Collector-Endpunkte.

Wenn Sie die Datei speichern, werden die Änderungen übernommen.

Konfigurieren Sie das Standarddashboard und die Alerts so, dass der Blackbox-Status Ihres Servers analysiert wird.

Führen Sie die folgenden Schritte aus:

  1. Starten Sie die Überwachungsbenutzerschnittstelle.

  2. Erstellen Sie ein Dashboard.

  3. Fügen Sie für jede der folgenden Abfragen ein Fenster hinzu:

Beispielabfragen des Blackbox-Exporters
Metrik Abfrage Optionen
Statuscode nach Instanz probe_http_status_code{instance=$instance} number (auto)
SSL-Zertifikat-Ablauf in Tage probe_ssl_earliest_cert_expiry{instance=$instance}-time() time (auto)
DNS-Suche probe_dns_lookup_time_seconds{instance=$instance} time (auto)
Dauer Testmonitor probe_duration_seconds{instance=$instance} time (auto)

Sie können zum Beispiel ein Dashboard erstellen, das wie folgt aussieht:

Beispiel Blackbox
Blackbox