【2023】Prometheus-Blackbox_exporter使用

简介: 【2023】Prometheus-Blackbox_exporter使用

*.什么是black_exporter

Black_exporter是一种开源的Prometheus exporter,用于监控Blackbox probe的状态。

它的作用是在Prometheus中收集有关Blackbox probe的性能指标,并将其转换为Prometheus可读的格式。

这个工具可以用于监控网络服务的可用性和性能,例如HTTP、TCP和ICMP。它还支持动态配置,以便在运行时添加或删除监控目标。


1.下载及安装blackbox_exporter

  • 下载安装包
wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.23.0/blackbox_exporter-0.23.0.linux-amd64.tar.gz
  • 将压缩包解压至/data目录下
mkdir /data
tar xf blackbox_exporter-0.23.0.linux-amd64.tar.gz -C /data/
cd /data
ln -s blackbox_exporter-0.23.0.linux-amd64/ blackbox_exporter

为blackbox_exporter创建启动文件

  vi /usr/lib/systemd/system/blackbox_exporter.service 
[Unit]
Description=blackbox_exporter
After=network.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/data/blackbox_exporter/blackbox_exporter \
          --config.file=/data/blackbox_exporter/blackbox.yml \
          --web.listen-address=:9115
Restart=on-failure
[Install]
WantedBy=multi-user.target
systemctl daemon-reload 
systemctl start blackbox_exporter.service 
systemctl enable blackbox_exporter.service 

看到这个页面说明启动成功:通过IP:端口访问

fbfe2e49fe9343e2a5da81c00c81744e.png

2.修改配置文件设置监控内容

  • 安装完成后会有默认配置文件模板,分别有http探测、tcp探测、grpc探测、ssh探测、irc探测和icmp探测等内容。
  • 使用时可根据具体情况选择合适探测方式
modules:
  http_2xx:
    prober: http
  http_post_2xx:
    prober: http
    http:
      method: POST
  tcp_connect:
    prober: tcp
  pop3s_banner:
    prober: tcp
    tcp:
      query_response:
      - expect: "^+OK"
      tls: true
      tls_config:
        insecure_skip_verify: false
  grpc:
    prober: grpc
    grpc:
      tls: true
      preferred_ip_protocol: "ip4"
  grpc_plain:
    prober: grpc
    grpc:
      tls: false
      service: "service1"
  ssh_banner:
    prober: tcp
    tcp:
      query_response:
      - expect: "^SSH-2.0-"
      - send: "SSH-2.0-blackbox-ssh-check"
  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
  icmp_ttl5:
    prober: icmp
    timeout: 5s
    icmp:
      ttl: 5

2.1.使用http方式作为探测

vim blackbox.yml
  • 以下配置含义为:定义了一个名为http的http检测模块,超时时间为10s,探针验证的HTTP响应状态代码的为空数组,默认是200-299 。该探针使用的HTTP方法为GET,insecure_skip_verify: false 表示该探针不允许跳过TLS证书验证
modules:
  http:
    prober: http
    timeout: 10s
    http:
      valid_status_codes: []
      method: GET
      tls_config:
        insecure_skip_verify: false
systemctl restart blackbox_exporter

3.与prometheus集成

  • 修改prometheus配置文件
  vim prometheus.yml
  - job_name: "blackbox"
    metrics_path: /probe
    params:
    # 模块名需要与prober: http一致
      module: [http]
    static_configs:
    # 需要探测的域名
      - targets:
        - www.baidu.com
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 192.168.10.3:9115
systemctl restart prometheus
  • relabel_configs内容为:

1.将所有含有 address 标签的项目重新标记为 __param_target

2.将所有含有 __param_target 标签的项目重新标记为 instance

3.将所有 address 标签替换为 blackbox_exporter IP:9115

4.导入blackbox仪表盘进行观测

  • 怎么导入就不说了,请看我其他prometheus系列文章
  • 导入的仪表盘ID为7587
  • 仪表盘内容:

e19d7afaeac14922a457436e8b46b052.png更多内容请参考官方示例

目录
相关文章
|
Prometheus 监控 关系型数据库
Linux监控之夜莺
Linux监控之夜莺
2064 0
|
数据采集 Prometheus 监控
监控利器之Prometheus基于Blackbox_exporter监控服务的端口
监控利器之Prometheus基于Blackbox_exporter监控服务的端口
1175 0
|
Prometheus Kubernetes 监控
Kubernetes监控:Prometheus与AlertManager结合,配置邮件告警。
完成这些步骤之后,您就拥有了一个可以用邮件通知你的Kubernetes监控解决方案了。当然,所有的这些配置都需要相互照应,还要对你的Kubernetes集群状况有深入的了解。希望这份指南能帮助你创建出适合自己场景的监控系统,让你在首次发现问题时就能做出响应。
833 22
|
Prometheus Kubernetes 监控
告警规则设置方法
告警规则设置方法
693 3
|
Prometheus 监控 Cloud Native
Prometheus中的Exporter详解
【10月更文挑战第25天】Prometheus Exporter分为直接采集(如cAdvisor, Kubernetes)和间接采集(如Node Exporter)两类。
|
Prometheus 监控 Kubernetes
如何使用 Blackbox Exporter 监控 URL?
如何使用 Blackbox Exporter 监控 URL?
|
Prometheus 监控 Cloud Native
prometheus学习笔记之node-export
prometheus 监控 node-exporter
1612 7
|
Prometheus Kubernetes 监控
prometheus学习笔记之集群内服务发现环境准备
本文介绍了在Kubernetes集群中部署Prometheus监控系统的详细步骤。首先创建用于监控的命名空间,并配置Docker以顺利下载镜像。接着,通过DaemonSet方式在集群中部署Node Exporter,确保每个节点上的指标都能被收集。然后,安装并配置NFS存储类别,以便为Prometheus提供持久化存储。最后,详细展示了如何在Kubernetes中部署Prometheus服务器,包括创建相关的配置文件、部署服务、设置角色权限以及暴露服务等
|
存储 Prometheus 监控
Prometheus 的报警机制:Alertmanager 的配置与使用
【8月更文第29天】Prometheus 是一个非常强大的监控系统,它不仅能够收集和存储时间序列数据,还能通过 Alertmanager 提供灵活的报警机制。Alertmanager 负责接收 Prometheus 发送的警报,并根据配置的规则执行相应的通知动作。本文将详细介绍如何配置 Alertmanager 以及如何使用它来实现基于 Prometheus 指标的报警通知。
5522 1
|
Prometheus 监控 Cloud Native
Prometheus结合Consul采集多个MySQL实例的监控指标
将 Prometheus 与 Consul 结合使用,实现对多个 MySQL 实例的自动发现与监控,不仅提高了监控的效率和准确性,也为管理动态扩缩容的数据库环境提供了强大的支持。通过细致配置每一部分,业务可以获得关键的性能指标和运行健康状况的即时反馈,进而优化资源配置,提高系统的稳定性和可用性。
845 3