首页 > 其他分享 >blackbox_exporter 如何检测端口

blackbox_exporter 如何检测端口

时间:2025-01-16 20:29:49浏览次数:3  
标签:__ exporter blackbox probe 端口 tcp

blackbox_exporter 可以通过 TCP 探测模块 来检测目标主机的端口是否开放。以下是配置和使用的详细步骤。


1. 配置 blackbox_exporter

1) 编辑配置文件

打开 blackbox_exporter 的配置文件 blackbox.yml,添加或修改 TCP 探测模块。

示例配置:

modules:
  tcp_connect:
    prober: tcp
    timeout: 5s
    tcp:
      preferred_ip_protocol: "ip4"  # 优先使用 IPv4
      query_response:               # 可选:发送和验证 TCP 数据
        - expect: "SSH-2.0-OpenSSH" # 期望的响应(例如 SSH 服务)
2) 启动 blackbox_exporter
./blackbox_exporter --config.file=blackbox.yml

2. 配置 Prometheus 集成

1) 修改 Prometheus 配置文件

编辑 Prometheus 的配置文件 prometheus.yml,添加 TCP 探测任务。

示例配置:

scrape_configs:
  - job_name: 'blackbox_tcp'
    metrics_path: /probe
    params:
      module: [tcp_connect]  # 使用 tcp_connect 模块
    static_configs:
      - targets:
          - example.com:22   # 检测 example.com 的 22 端口(SSH)
          - example.com:80   # 检测 example.com 的 80 端口(HTTP)
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: <your-blackbox-exporter-ip>:9115  # blackbox_exporter 的地址
2) 重启 Prometheus
sudo systemctl restart prometheus

3. 验证

  1. 访问 Prometheus 的 Web UI(默认地址:http://<your-prometheus-ip>:9090)。

  2. 查询 probe_success 指标,检查端口探测结果:

    probe_success{job="blackbox_tcp"}
    
    • 如果值为 1,表示端口开放且探测成功。
    • 如果值为 0,表示端口关闭或探测失败。
  3. 查询 probe_duration_seconds 指标,查看探测耗时:

    probe_duration_seconds{job="blackbox_tcp"}
    

4. (可选)配置告警规则

在 Prometheus 中添加告警规则,当端口不可用时触发告警。

示例告警规则:

groups:
  - name: tcp_port_alerts
    rules:
      - alert: PortDown
        expr: probe_success{job="blackbox_tcp"} == 0
        for: 1m
        labels:
          severity: critical
        annotations:
          summary: "Port is down on {{ $labels.instance }}"
          description: "Port {{ $labels.instance }} is not responding for 1 minute."

5. 总结

通过以上步骤,你已经成功配置了 blackbox_exporter 的 TCP 探测模块,并可以检测目标主机的端口状态。如果有其他问题,请随时告诉我!

标签:__,exporter,blackbox,probe,端口,tcp
From: https://blog.csdn.net/qq_44534541/article/details/145191299

相关文章

  • 如何禁止外网通过IP和端口访问特定站点?
    当您希望禁止外网通过IP和端口直接访问某个特定站点时,可以通过配置服务器的安全组规则和防火墙设置来实现。以下是详细的步骤和注意事项:理解安全组和防火墙的区别:安全组规则主要作用于云服务器层面,控制进出服务器的流量;而防火墙则是在操作系统级别进行流量过滤。两者可以协同工......
  • 宝塔面板安装后无法访问8887端口,如何解决?
    当您安装宝塔面板后无法访问8887端口,这可能是由于系统重装时选择了保留数据的方式,导致宝塔面板未能成功安装。为了解决这个问题,您可以按照以下步骤进行操作:备份重要数据在进行任何系统重装或修复操作之前,务必备份服务器上的所有重要数据。您可以将数据下载到本地电脑,确保不会因......
  • 开启服务器端口(如8990)的操作步骤及注意事项
    开启服务器上的指定端口(如8990)是一项重要的配置任务,它直接影响到应用程序能否正常通信。以下是详细的步骤和注意事项,帮助您顺利完成端口开启操作:确定操作系统类型:首先,确认您的服务器运行的是哪种操作系统(如Linux、Windows)。不同操作系统有不同的防火墙管理和端口配置工具。例如......
  • 如何在宝塔面板中修改网站的默认端口?
    在宝塔面板中修改网站的默认端口是一个常见的需求,尤其是在需要避免端口冲突或提高安全性时。以下是详细的步骤和建议:登录宝塔面板:打开浏览器,输入宝塔面板的地址,通常是http://服务器IP:8888。输入用户名和密码登录。进入网站管理:在宝塔面板左侧菜单中,点击“网站”选项......
  • 如何处理服务器端口关闭问题
    用户反馈其服务器的8080端口被关闭,尝试通过远程命令打开端口但未成功。用户希望能够快速恢复该端口的正常访问。解决方案:步骤操作说明检查端口状态首先,使用命令行工具(如 netstat-tuln 或 ss-tuln)检查8080端口是否真的处于关闭状态。如果端口已经开放但仍然无法访......
  • 如何正确配置并开启云服务器上的高编号端口(如70000以上)
    关于您提到的云服务器端口配置问题,这里有几个关键点需要注意:项目说明TCP端口范围限制根据TCP/IP协议规范,可用端口号范围为0-65535。因此,实际上不存在超过65535的合法端口。实际需求确认您提到的“70000以上”可能是误输入,通常情况下应用所需的端口不会如此之高。建......
  • rinetd-端口转发工具
    工具介绍Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具。Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址/端口对。尽管rinetd使用非闭锁I/O运行作为一个单一过程,它可能重定向很多连接而不对这台机器增加额外......
  • Linux下MySQL数据库的导入与导出以及查看端口
    在Linux系统下,MySQL是一种广泛使用的关系型数据库管理系统。本文将详细介绍如何在Linux下进行MySQL数据库的导入和导出操作,以及如何查看MySQL的运行端口。一、MySQL数据库的导出导出MySQL数据库可以通过 mysqldump工具来实现,它是MySQL自带的用于备份数据库的命令行工具。1.1......
  • XS2186八通道、供电设备(PSE)电源控制器,IEEE® 802.3at/af兼容PSE,单个端口提供最高达30W
    XS2186是一个八通道、供电设备(PSE)电源控制器,设计用于IEEE®802.3at/af兼容PSE。器件提供用电设备(PD)检测、分级、限流以及负载断开检测。器件支持全自动工作、软件编程和外挂eeprom。器件还支持最新二事件分级。采用单电源供电,能够为单个端口提供最高达30......
  • 解决Hyper-V保留端口导致各种端口占用报错的问题
    0.有时候在本地启用一个服务比如MySQL服务,或者在启用IDEA的调试的时候,或者在本地启用一个监听端口的时候可能会出现监听失败的情况,经过查找之后会发现并没有应用占用相应的端口。1.经过查找发现其实是在启用了Hyper-V之后系统会保留一些端口,这些端口如果包含了你应用要使用的端口......