blackbox_exporter的使用

  • 一、需求
  • 二、blackbox_exporter的安装
    • 1、下载
    • 2、编写 blackbox.yml 配置文件
    • 3、启动 blackbox_exporter
    • 4、和 prometheus 集成
    • 5、在 grafana 中查看。
    • 6、如果需要监控告警
  • 三、参考链接

一、需求

有些时候,我们想监听服务器的某个端口是否存在,监听http的请求是否正确时,这个时候就可以使用 blackbox_exporter来实现。

注意:
blackbox exporter 可以实现对 httphttpstcp(可以实现服务器接口是否在线)icmp(实现主机探活)dns的探测。

二、blackbox_exporter的安装

1、下载


# 下载
wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.18.0/blackbox_exporter-0.18.0.darwin-amd64.tar.gz
# 解压
tar -zxvf blackbox_exporter-0.18.0.darwin-amd64.tar.gz
# 重命名
mv blackbox_exporter-0.18.0.darwin-amd64/ blackbox_exporter
# 进入 blackbox_exporter 目录
cd blackbox_exporter

下载地址-https://github.com/prometheus/blackbox_exporter/releases

2、编写 blackbox.yml 配置文件

modules:http_2xx: # 这个名字是随便写的,但是需要在 prometheus.yml 配置文件中对应起来。prober: http # 进行探测的协议,可以是 http、tcp、dns、icmptimeout: 10shttp_post_2xx:prober: httphttp:method: POSTtcp_connect: # tcp检测,比如检测某个端口是否在线prober: tcpicmp: # icmp 检测,比如ping某个服务器prober: icmp

注意:
1、上方模块中 httpicmp 等的配置不全,这个可以通过访问 https://github.com/prometheus/blackbox_exporter/blob/master/CONFIGURATION.md查看完整的配置。

2、如果要使用 icmp,那么针对不同的操作系统可能要提升权限。

3、启动 blackbox_exporter

#!/usr/binnohup /Users/huan/soft/prometheus/blackbox_exporter/blackbox_exporter \
--config.file="/Users/huan/soft/prometheus/blackbox_exporter/blackbox.yml" \
--web.listen-address=":9098" \
--log.level=debug \
> logs/blackbox.out 2>&1 &

访问 http://localhost:9098

4、和 prometheus 集成

prometheus.yml 配置文件的编写。

scrape_configs:- job_name: 'blackbox_http_2xx' # 配置get请求检测scrape_interval: 30smetrics_path: /probeparams:module: [http_2xx]static_configs:- targets:         # 测试如下的请求是否可以访问的通- 127.0.0.1:10005- http://127.0.0.1:10005/hello/zhangsanrelabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: 127.0.0.1:9098 # blackbox-exporter 服务所在的机器和端口- job_name: 'blackbox_http_post_2xx' # 配置post请求检测scrape_interval: 30smetrics_path: /probeparams:module: [http_post_2xx]static_configs:- targets:              # 测试如下的post请求是否可以访问的通,该post请求不带参数- 127.0.0.1:10005relabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: 127.0.0.1:9098 # blackbox-exporter 服务所在的机器和端口- job_name: 'blackbox_http_ping' # 检测是否可以ping通某些机器scrape_interval: 30smetrics_path: /probeparams:module: [icmp]static_configs:- targets:- 127.0.0.1relabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: 127.0.0.1:9098 # blackbox-exporter 服务所在的机器和端口- job_name: 'blackbox_tcp_connect' # 检测某些端口是否在线scrape_interval: 30smetrics_path: /probeparams:module: [tcp_connect]static_configs:- targets:- 127.0.0.1:10006- 127.0.0.1:10005relabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: 127.0.0.1:9098 # blackbox-exporter 服务所在的机器和端口

手动访问

手动访问 tcp_connect 这个模板(在blackbox.yml配置文件中执行的),判断 127.0.0.1机器上的10005端口是否是通的。

curl http://127.0.0.1:9098/probe?target=127.0.0.1:10005&module=tcp_connect&debug=true

解释:
1、在 job 等于 blackbox_http_2xx 和 blackbox_http_post_2xx 我们测试来某个 get 和 post 请求是否可以访问的通。
2、在 job 等于 blackbox_tcp_connect 中 测试来某个端口是否是通的。

5、在 grafana 中查看。

1、先在grafana网站上搜索一个 blackbox_exporter 的图表,此处我选择的是 12275

2、导入到 grafana 中,并根据自己的实际情况做一些微改。

6、如果需要监控告警

1、probe_success 指标可以判断我们的 icmp、tcp、http、post 监测是否正常。值为 1 正常,0不正常。
2、probe_http_status_code 指标可以知道某个http请求返回的响应码。
3、probe_ssl_earliest_cert_expiry 指标可以知道ssl证书何时过期。

三、参考链接

1、blackbox_exporter的下载地址
2、blackbox.yml的编写例子
3、blackbox.yml中可以编写的配置属性

blackbox_exporter的使用相关推荐

  1. 【Prometheus 】 Blackbox_exporter 指标 probe_http_duration_seconds

    Prometheus 之 Blackbox_exporter 黑盒测试 probe_http_duration_seconds phase 值的解析 - resolve:DNS解析持续时间 - con ...

  2. 安装blackbox_exporter

    安装blackbox_exporter 上传监控软件 cd /opt/ ;scp root@62.234.150.127:/opt/blackbox_exporter-0.16.0.linux-amd ...

  3. blackbox_exporter端口及网络监控

    一.背景概述 Blackbox(黑盒)监控指的是指检测外部暴露出来的,能够被用户所看到.观察到的较表面的数据,比如WEB响应.网络是否通畅.端口连通性等指标,黑盒监控不会深入到程序或系统内部中去,能够 ...

  4. Blackbox_exporter概述

    Blackbox_exporter概述 blackbox exporter是允许在HTTP, HTTPS, DNS, TCP and ICMP等协议的端点进行黑盒探测的采取器  官方github: h ...

  5. Blackbox_exporter黑盒监测

    一.概述 blackbox_exporter是Prometheus 官方提供的 exporter 之一,可以提供 http.dns.tcp.icmp 的监控数据采集. Blackbox_exporte ...

  6. Prometheus Operator + blackbox_exporter 监控Web页面

    背景 目前生产环境使用Zabbix自带的web监控模块对所有子优鸟页面进行监控,由于目前Zabbix服务器为单节点,经常出现取不到web监控数据的情况.现将web监控迁移到Prometheus上. 但 ...

  7. Prometheus黑盒监测之blackbox_exporter

    1 什么是黑盒监控 我们监控主机的资源用量.容器的运行状态.数据库中间件的运行数据.这些都是支持业务和服务的基础设施,通过白盒能够了解其内部的实际运行状态,通过对监控指标的观察能够预判可能出现的问题, ...

  8. 性能监控之 blackbox_exporter+Prometheus+Grafana 实现网络探测

    文章目录 一.什么是黑盒监控? 二.blackbox_exporter 简介 三.安装 1.二进制包 2.docker 四.使用原理 五.几种应用场景 1.ICMP 测试(主机探活) 2.TCP 测试 ...

  9. prometheus监控ssl证书过期(使用插件blackbox_exporter)

    blackbox_exporter的Github网址:https://github.com/prometheus/blackbox_exporter 1.安装blackbox_exporter wge ...

最新文章

  1. AI一分钟|研究人员证明“金钱真的可以买到快乐”;特斯拉中国梦面临威胁
  2. win10突然只剩下c盘和d盘了_电脑C盘爆满飘红?系统卡?试试这两种解决办法
  3. 许昌学院计算机科学住几人间,许昌学院宿舍条件,宿舍环境图片(10篇)
  4. php对象持久化,在 Oracle 中完成 PHP5 对象的持久
  5. ansible安装及使用
  6. jni加载第三方so_Linux的so文件到底是干嘛的?浅析Linux的动态链接库
  7. signature=14a3e4f784cf9004647ea52bac22e550,维族老年慢性阻塞性肺疾病患者合并肺动脉高压的临床研究...
  8. 详解数字电视机顶盒的功能技术与应用3
  9. 微课|中学生可以这样学Python(8.1节):解析算法例题讲解
  10. angular2之pdf文件操作大全
  11. 【5分钟 Paper】Continuous Control With Deep Reinforcement Learning
  12. 数学建模(NO.9斯皮尔曼相关系数)
  13. 【修真院java小课堂】Shiro
  14. python神经网络反向传播_神经网络及反向传播算法
  15. Divan and bitwise operations(组合数+思维)
  16. 华为 路由双点双向引入
  17. 11--字符流缓冲区编码表
  18. 列表/元组/切片/字典/字符串处理方法
  19. 让 Python 拥有 C/C++ 一样的速度,编译神器 Codon 发布!
  20. Cannot assign requested address解决办法

热门文章

  1. unity Device Simulator的使用
  2. (转载)简述马尔可夫链
  3. 【OpenGL学习笔记①】——openGL flew flgw flut 环境配置 + 绘制出Hello World
  4. H5 Handlebars的简单使用
  5. 【OpenVINO】OpenVINO 2022.1 安装教程(Windows)
  6. 微信开发者工具的使用(一)
  7. datatables 小试牛刀
  8. 在linux上下载使用cisco anyconnect Software
  9. 主菜单在c语言中的作用,C语言 如何实现返回主菜单????
  10. python glob.glob()