IBM Cloud Docs
Coletando métricas disponíveis usando o exportador Prometheus Blackbox

Coletando métricas disponíveis usando o exportador Prometheus Blackbox

O Prometheus Blackbox Exporter permite a análise da caixa preta de terminais sobre HTTP, HTTPS, DNS, TCP e ICMP. O agente de monitoramento pode ser usado em conjunto com o exportador Blackbox para coletar métricas de disponibilidade. As métricas de disponibilidade podem, então, ser alertadas dentro de IBM Cloud Monitoring para alertar os usuários sobre a disponibilidade dos terminais.

Siga as seguintes etapas para configurar o Prometheus Blackbox Exporter:

Configure um agente de monitoramento para coletar métricas

Para monitorar um ou mais hosts, deve-se configurar um agente de monitoramento. O agente coleta automaticamente um conjunto de métricas que podem ser monitoradas por meio da IU de monitoramento.

Consulte Escolha de um tipo de agente por infraestrutura e escolha o agente de monitoramento que você deseja configurar para monitorar um host.

Instale o Prometheus Blackbox Exporter

Siga as seguintes etapas para executar o exportador blackbox como um contêiner de docker:

  1. Faça o download do blackbox.yml arquivo do Github.

    Salve o arquivo no diretório /config/prometheus/blackbox/.

  2. Execute o exportador Blackbox como um contêiner de 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. Verifique se o exportador está funcionando. Execute o comando a seguir:

    docker container ls
    

    É possível visualizar uma saída como a seguinte:

    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
    

    Para parar o contêiner de blackbox, execute o comando a seguir: docker container stop 2480a0034bb4.

Definir configurações de rede

Se você desejar coletar métricas de servidores remotos, conclua as etapas a seguir:

  1. Ative o firewall para permitir o acesso ao blackbox_exporter.

  2. [Opcional] Atualize as regras do VPC

    Se você usar os terminais privados, inclua uma regra de entrada para o grupo de segurança para a porta 9115 com o source type = Security Group e escolha o grupo de segurança para o servidor.

Atualize o agente de monitoramento que está em execução no servidor

Execute o comando a seguir para ditar o configmap e inclua as informações sobre os destinos de Blackbox que você deseja monitorar usando o agente de monitoramento do 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

em que

  • <IP_ADDRESS_OF_REMOTE_SERVER> é o endereço IP de um servidor que você deseja monitorar.
  • <INGESTION_ENDPOINT> é o terminal de ingestão da instância do IBM Cloud Monitoring , por exemplo, ingest.us-south.monitoring.cloud.ibm.com. Consulte Terminais do coletor.

As alterações serão aplicadas ao salvar o arquivo.

Configure o painel padrão e os alertas padrão para analisar o status da Blackbox do seu servidor

Conclua as etapas a seguir:

  1. Ativar a IU de monitoramento.

  2. Crie um painel.

  3. Crie um painel para cada uma das seguintes consultas:

Consultas de amostra do exportador Blackbox
Métrica Consultar Opções
Código do status por Instância probe_http_status_code{instance=$instance} number (auto)
Expiração do certificado SSL em dias probe_ssl_earliest_cert_expiry{instance=$instance}-time() time (auto)
Consulta de DNS probe_dns_lookup_time_seconds{instance=$instance} time (auto)
Duração da análise probe_duration_seconds{instance=$instance} time (auto)

Por exemplo, é possível criar um painel com a seguinte aparência:

Exemplo de painel do{: caption="do BlackboxAmostra de painel do BlackboxAmostra de painel do " caption-side="bottom"}