对于 Blackbox-exporter
-Blackbox Exporter 是 Prometheus 社区提供的官网黑盒监控解决方案,其容许用户通过:HTTP、HTTPS、DNS、TCP 以及 ICMP 的形式对网络进行探测。
- 黑盒监控即以用户的身份测试服务的内部可见性,常见的黑盒监控包含 HTTP 探针、TCP 探针等用于检测站点或者服务的可拜访性,以及拜访效率等。
- 黑盒监控相较于白盒监控最大的不同在于黑盒监控是以故障为导向当故障发 - 生时,黑盒监控能疾速发现故障,而白盒监控则侧重于被动发现或者预测潜在的问题。一个欠缺的监控指标是要可能从白盒的角度发现潜在问题,可能在黑盒的角度疾速发现曾经产生的问题。
理论利用
部署 Blackbox-exporter
1. 依据镜像进行部署
blackbox-exporter 官网 dockerhub 地址
blackbox-exporter 官网 github 地址
2. 部署流程(docker-compose 进行部署)
## 镜像拉取
docker pull prom/blackbox-exporter
##docker 部署
docker run --rm -d -p 9115:9115 --name blackbox_exporter -v `pwd`:/config prom/blackbox-exporter:master --config.file=/config/blackbox.yml
## docker-compose.yml
version: '2'
services:
blackbox_exporter:
image: prom/blackbox-exporter
container_name: blackbox_exporter
restart: always
dns_search: .
networks:
- nets
volumes:
- ./blackbox_exporter/blackbox.yml:/etc/blackbox_exporter/config.yml
ports:
- 9115:9115
tty: true
networks:
nets:
external: false
## blackbox_exporter/blackbox.yml
modules:
http_2xx:
prober: http
timeout: 20s
http:
preferred_ip_protocol: "ip4"
http_post_2xx_query:
prober: http
timeout: 20s
http:
preferred_ip_protocol: "ip4" ## 应用 ipv4
method: POST
headers:
Content-Type: application/json ##header 头
body: '{"hmac":"","params":{"publicFundsKeyWords":"xxx"}}' ## 传参
tls_connect_tls:
prober: tcp
timeout: 5s
tcp:
tls: true
tcp_connect:
prober: tcp
timeout: 5s
#
pop3s_banner:
prober: tcp
tcp:
query_response:
- expect: "^+OK"
tls: true
tls_config:
insecure_skip_verify: false
ssh_banner:
prober: tcp
tcp:
query_response:
- expect: "^SSH-2.0-"
irc_banner:
prober: tcp
tcp:
query_response:
- send: "NICK prober"
- send: "USER prober prober prober :prober"
- expect: "PING :([^]+)"
send: "PONG ${1}"
- expect: "^:[^]+ 001"
icmp:
prober: icmp
timeout: 20s
3.promethus 配置 blackbox-exporter
## promethus.yml
- job_name: 'port_status_name'
metrics_path: /probe
params:
module: [tcp_connect]
static_configs:
- targets: ['ip: 端口']
labels:
instance: 'port_status_name'
group: 'tcp'
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: blackbox-exporterIP 地址:9115
4.grafana 配置
导入模板
此模板为 9965 号模板,数据源抉择 Prometheus 模板下载地址 https://grafana.com/grafana/d…
可参考:Blackbox_exporter 黑盒监测 +promethus+grafana 配置
5. 附录
Prometheus 实战
Blackbox_exporter 黑盒监测 +promethus+grafana 配置
部署 Black Exporter
网络探测:Blackbox Exporter+ 利用场景剖析
Prometheus 监控之 Blackbox_exporter 黑盒监测