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:

  1. Scarica il blackbox.yml file da Github.

    Salvare il file nella directory /config/prometheus/blackbox/.

  2. 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
    
  3. Controlla che l'esportatore sia attivo. Esegui il seguente comando:

    docker container ls
    

    Puoi 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_exporter
    

    Per 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:

  1. Abilita il firewall per consentire l'accesso al blackbox_exporter.

  2. [Opzionale] Aggiorna le regole VPC

    Se utilizzi endpoint privati, aggiungi una regola in entrata al gruppo di sicurezza per la porta 9115 con source type = Security Group e 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:

  1. Avvia l'interfaccia utente di monitoraggio.

  2. Crea un dashboard.

  3. Aggiungi un pannello per ciascuna delle seguenti query:

Query di esempio dell'esportatore Blackbox
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:

Esempio di cruscotto
di
Blackbox*