blackbox_exporter部署

文章目录

  • 简单介绍
  • 环境
  • 软件包下载
    • CSDN
    • 官网
  • 部署
    • 解压
  • blackbox.yml
  • 启动
    • 配置为系统服务
    • blackbox_exporter.service
    • 启动
  • Grafana监控配置
  • prometheus.yml修改
  • prometheus监控&插件方案
  • 总结


简单介绍

Blackbox Exporter 是一个用于监控外部服务和网络端点可达性的开源工具,它是由 Prometheus 社区维护的一个官方 Exporter。Blackbox Exporter 可以对 HTTP、HTTPS、TCP、ICMP 等协议进行探测,并将探测结果以 Prometheus 指标的形式暴露出来,以便 Prometheus 进行采集和存储。

以下是 Blackbox Exporter 的一些主要特点和功能:

  1. 多种协议支持:Blackbox Exporter 支持对 HTTP、HTTPS、TCP、ICMP 等协议进行探测,可以监控 Web 服务、数据库、消息队列等各种网络端点。

  2. 灵活的配置:用户可以通过配置文件或命令行参数来配置 Blackbox Exporter 的行为,包括指定要监控的目标地址、探测的频率、超时时间等。

  3. 自定义探测器:Blackbox Exporter 支持自定义探测器,用户可以根据自己的需求编写自定义的探测逻辑,以适配各种特定的监控场景。

  4. 指标输出:Blackbox Exporter 将探测结果以 Prometheus 的指标格式暴露出来,包括响应时间、响应状态码、可达性等指标,方便 Prometheus 进行采集和存储。

  5. 多种探测方式:Blackbox Exporter 支持多种探测方式,包括 HTTP GET、POST 请求、TCP 连接、ICMP ping 等,可以根据需求选择合适的探测方式。

  6. 自动发现:Blackbox Exporter 支持 Prometheus 的服务发现功能,可以自动发现和监控所有与之关联的目标地址。

  7. 可视化与告警:用户可以使用 Prometheus 的 Grafana 插件对 Blackbox Exporter 输出的指标进行可视化展示,并结合 Alertmanager 进行告警配置,实现对外部服务和网络端点的实时监控和告警。

环境

系统 版本
CentOS 7.6.1810 (Core)
CPU/内存 4核、8G
blackbox_exporter 0.22.0

软件包下载

CSDN

blackbox_exporter

官网

官网

下载这个 blackbox_exporter-0.22.0.linux-amd64.tar.gz

部署

解压

[root@A bag]# tar xf blackbox_exporter-0.22.0.linux-amd64.tar.gz
[root@A bag]# mv blackbox_exporter-0.22.0.linux-amd64 ../blackbox_exporter
[root@A bag]# useradd -M -s /sbin/nologin prometheus
[root@A bag]# chown -R prometheus:prometheus /data/blackbox_exporter

blackbox.yml

/data/blackbox_exporter/blackbox.yml

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

启动

配置为系统服务

blackbox_exporter.service

cat <<EOF>>  /usr/lib/systemd/system/blackbox_exporter.service
Unit]
Description=blackbox_exporter
After=network.target
[Service]
User=prometheus
Group=prometheus
ExecStart=/data/blackbox_exporter/blackbox_exporter --config.file=/data/blackbox_exporter/blackbox.yml
[Install]
WantedBy=multi-user.target
EOF

启动

systemctl daemon-reload
systemctl enable blackbox_exporter --now
systemctl status blackbox_exporter
systemctl stop blackbox_exporter

Grafana监控配置

ID: 7362

prometheus.yml修改

参考

scrape_configs:
  - job_name: 'tcp_port_status'
    metrics_path: /probe
    params:
      module: [tcp_connect]
    static_configs:
    - targets: ['192.168.1.10:3306','192.168.1.20:3307','192.168.1.30:3308']
      labels:
        instance: '192.168.1.10'
        tags: '自定义名字'
    - targets: ['192.168.1.40:2222']
      labels:
        instance: '192.168.1.40'
        tags: '自定义名字'
      relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: 192.168.1.10:9115
      
  - job_name: 'web_port_status'
    metrics_path: /probe
    params:
      module: [http_2xx]
    static_configs:
    - targets: ['192.168.1.10:8080']
      labels:
        instance: '192.168.1.10'
        tags: '自定义名字'
    relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: 192.168.1.10:9115

prometheus监控&插件方案

prometheus部署

总结

以上是centos上边部署blackbox_exporter监控端口的方法,有问题联系博主,后续也有其他插件

你可能感兴趣的:(prometheus监控,linux,web安全,系统安全)