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:
-
Faça o download do blackbox.yml arquivo do Github.
Salve o arquivo no diretório
/config/prometheus/blackbox/
. -
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
-
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:
-
Ative o firewall para permitir o acesso ao
blackbox_exporter
. -
[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 osource 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:
-
Crie um painel.
-
Crie um painel para cada uma das seguintes consultas:
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:
{: caption="do BlackboxAmostra de painel do BlackboxAmostra de painel do " caption-side="bottom"}