Raccolta delle metriche di disponibilità utilizzando il filePrometheus Esportatore di scatole nere
L'esportatore di blackbox di Prometheus consente l'analisi delle blackbox degli endpoint su HTTP, HTTPS, DNS, TCP e ICMP. L'agente di monitoraggio può essere utilizzato insieme all'esportatore Blackbox per raccogliere i parametri di disponibilità. Le metriche di disponibilità possono quindi essere segnalate all'interno di IBM Cloud Monitoring per avvisare gli utenti sulla disponibilità degli endpoint.
Completare i seguenti passaggi per configurare ilPrometheus Esportatore di scatola nera:
Configurare un agente di monitoraggio per raccogliere parametri
Per monitorare 1 o più host, è necessario configurare un agente di monitoraggio. L'agente raccoglie automaticamente una serie di parametri che puoi monitorare tramite l'interfaccia utente di monitoraggio.
Vedere Scelta di un tipo di agente in base all'infrastruttura e scegliere l'agente di monitoraggio che si desidera configurare per monitorare un host.
Installa ilPrometheus Esportatore di scatole nere
Completa i seguenti passaggi per eseguire l'esportatore Blackbox come contenitore docker:
-
Scarica il blackbox.yml file da Github.
Salvare il file nella directory
/config/prometheus/blackbox/. -
Esegui l'esportatore Blackbox come contenitore 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 -
Controlla che l'esportatore sia attivo. Esegui il seguente comando:
docker container lsPuoi vedere un output come il seguente:
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_exporterPer arrestare il contenitore blackbox, esegui il comando seguente:
docker container stop 2480a0034bb4.
Configura le impostazioni di rete
Se desideri raccogliere parametri da server remoti, completa i seguenti passaggi:
-
Abilita il firewall per consentire l'accesso al
blackbox_exporter. -
[Opzionale] Aggiorna le regole VPC
Se utilizzi endpoint privati, aggiungi una regola in entrata al gruppo di sicurezza per la porta
9115consource type = Security Groupe scegli il gruppo di sicurezza per il server.
Aggiorna l'agente di monitoraggio in esecuzione nel server
Esegui il comando seguente per modificare la mappa di configurazione e aggiungere informazioni sulle destinazioni Blackbox che desideri monitorare utilizzando il fileKubernetes agente di monitoraggio:
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
Dove
<IP_ADDRESS_OF_REMOTE_SERVER>è l'indirizzo IP di un server che si desidera monitorare.<INGESTION_ENDPOINT>è ilIBM Cloud Monitoring endpoint di inserimento dell'istanza, ad esempio,ingest.us-south.monitoring.cloud.ibm.com. Vedere Endpoint del servizio di raccolta.
Quando salvi il file, vengono applicate le modifiche.
Configura la dashboard e gli avvisi predefiniti per analizzare lo stato Blackbox del tuo server
Completa i seguenti passi:
-
Crea un dashboard.
-
Aggiungi un pannello per ciascuna delle seguenti query:
| Metrica | Query | Opzioni |
|---|---|---|
| Codice di stato per istanza | probe_http_status_code{instance=$instance} |
number (auto) |
| Scadenza del certificato SSL in giorni | probe_ssl_earliest_cert_expiry{instance=$instance}-time() |
time (auto) |
| Ricerca DNS | probe_dns_lookup_time_seconds{instance=$instance} |
time (auto) |
| Durata della sonda | probe_duration_seconds{instance=$instance} |
time (auto) |
Ad esempio, puoi creare una dashboard simile alla seguente: