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:
-
Laden Sie die blackbox.yml Datei von Github.
Speichern Sie die Datei in das Verzeichnis
/config/prometheus/blackbox/
. -
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
-
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:
-
Aktivieren Sie die Firewall, um den Zugriff auf den
blackbox_exporter
zu ermöglichen. -
[Optional] Aktualisieren Sie die VPC-Regeln.
Wenn Sie private Endpunkte verwenden, fügen Sie der Sicherheitsgruppe für Port
9115
eine eingehende Regel mitsource 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:
-
Erstellen Sie ein Dashboard.
-
Fügen Sie für jede der folgenden Abfragen ein Fenster hinzu:
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:
