首页 > 其他分享 >prometheus学习笔记之黑盒探针blackbox_exporter

prometheus学习笔记之黑盒探针blackbox_exporter

时间:2024-10-09 16:10:58浏览次数:9  
标签:__ 黑盒 blackbox target label prometheus exporter http

项目地址:https://github.com/prometheus/blackbox_exporter

一、安装blackbox_exporter

复制代码
wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.25.0/blackbox_exporter-0.25.0.linux-amd64.tar.gz
tar xf blackbox_exporter-0.25.0.linux-amd64.tar.gz -C /usr/local/
cd /usr/local/
ln -sv blackbox_exporter-0.25.0.linux-amd64/ blackbox_exporter
vim /etc/systemd/system/blackbox-exporter.service
[Unit]
Description=Prometheus Blackbox Exporter
After=network.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/local/blackbox_exporter/blackbox_exporter \
--config.file=/usr/local/blackbox_exporter/blackbox.yml \
--web.listen-address=:9115
Restart=on-failure

[Install]
WantedBy=multi-user.target


systemctl daemon-reload
systemctl restart blackbox-exporter.service
systemctl enable blackbox-exporter.service
netstat -tnlp|grep 9115
复制代码

浏览器验证

二、blackbox_exporter使用简介

1.页面使用http探测及结果解析

访问blackbox probe接口并传递对应参数
# target 指定探测的域名或地址  
# module 指定探测的模块
# debug 开启或关闭debug模式
http://192.168.100.133:9115/probe?target=https://baidu.com&module=http_2xx&debug=true

探测结果说明

2.blackbox_exporter默认支持的探测模块

#共有以下7种
http_2xx代表http get方法,返回code为2xx代表正常
http_post_2xx代表http post方法,返回code为2xx代表正常
icmp 代表icmp 协议
irc_banner代表irc协议,需要匹配发送的请求和响应
pop3s_banner代表邮局协议
ssh_banner代表ssh探活
tcp_connect代表tcp端口探活

三、配置prometheus抓取

blackbox_exporter比较特殊,它的监控对象需要由prometheus提供

示例1:blackbox exporter 实现 URL 监控

复制代码
  - job_name: 'http_status'
    metrics_path: /probe
    params:
      module: [http_2xx] #2xx状态码检测
    static_configs:
      - targets: ['http://www.xiaomi.com', 'http://www.jd.com/'] #对小米 京东检测
        labels:
          group: web
    relabel_configs:
      - source_labels: [__address__] #relabel 通过将__address__(当前目标地址)写入__param_target 标签来创建一个 label。
        target_label: __param_target #监控目标 www.xiaomi.com,作为__address__的 value
      - source_labels: [__param_target] #监控目标
        target_label: instance #将监控目标与 url 创建一个 label
      - target_label: __address__
        replacement: 192.168.100.134:9115

/usr/local/prometheus/promtool check config prometheus.yml
curl -X POST http://127.0.0.1:9090/-/reload 
复制代码

浏览器验证

示例2:blackbox exporter 实现ICMP 监控 

复制代码
  - job_name: 'icmp_status'
    metrics_path: /probe
    params:
      module: [icmp]
    static_configs:
      - targets: ['192.168.100.131', '192.168.100.132']
        labels:
          group: icmp
    relabel_configs:
      - source_labels: [__address__] #relabel 通过将__address__(当前目标地址)写入__param_target 标签来创建一个 label。
        target_label: __param_target #监控目标 www.xiaomi.com,作为__address__的 value
      - source_labels: [__param_target] #监控目标
        target_label: instance #将监控目标与 url 创建一个 label
      - target_label: __address__
        replacement: 192.168.100.134:9115

/usr/local/prometheus/promtool check config prometheus.yml 
curl -X POST http://127.0.0.1:9090/-/reload 
复制代码

浏览器验证

示例3:blackbox_exporter 实现端口监控

复制代码
  - job_name: 'port_status'
    metrics_path: /probe
    params:
      module: [tcp_connect]
    static_configs:
      - targets: ['192.168.100.131:9100', '192.168.100.132:8080']
        labels:
          group: port
    relabel_configs:
      - source_labels: [__address__] #relabel 通过将__address__(当前目标地址)写入__param_target 标签来创建一个 label。
        target_label: __param_target #监控目标 www.xiaomi.com,作为__address__的 value
      - source_labels: [__param_target] #监控目标
        target_label: instance #将监控目标与 url 创建一个 label
      - target_label: __address__
        replacement: 192.168.100.134:9115

/usr/local/prometheus/promtool check config prometheus.yml
curl -X POST http://127.0.0.1:9090/-/reload 
复制代码

浏览器验证

四、配置grafana

推荐模板: ID 9965

name字段不显示问题

官方支持的exporter列表:https://prometheus.io/docs/instrumenting/exporters/  

 

标签:__,黑盒,blackbox,target,label,prometheus,exporter,http
From: https://www.cnblogs.com/panwenbin-logs/p/18454188

相关文章

  • Docker 环境下 GPU 监控实战:使用 Prometheus 实现 DCGM Exporter 部署与 GPU 性能监控
    Docker环境下GPU监控实战:使用Prometheus实现DCGMExporter部署与GPU性能监控文章目录Docker环境下GPU监控实战:使用Prometheus实现DCGMExporter部署与GPU性能监控一查看当前GPU信息二dcgm-exporter部署1)Dockerrun运行2)Dockercompose运行三......
  • Prometheus + Grafana 监控 MySQL 数据库
    文章目录1、前置介绍2、搭建流程2.1、安装Docker2.2、安装MySQL2.3、安装MySQLExporter2.4、安装Prometheus2.5、安装Grafana1、前置介绍本次监控平台搭建,我使用2台阿里云服务器来完成本次的搭建部署操作,配置如下:阿里云ECS1:2核2G,Ubuntu22.02,内网ip:172.16.0......
  • Centos7安装部署prometheus
    普罗米修斯的主要特点是:具有由度量名称和键/值对标识的时间序列数据的多维数据模型PromQL,一种灵活的查询语言, 可以利用这一维度不依赖分布式存储;单个服务器节点是自治的时间序列集合通过HTTP上的拉模型发生推送时间序列通过中间网关支持通过服务发现或静态配置发现目标......
  • 基于 Prometheus+Grafana+Alertmanager 搭建 K8S 云平台系统(附配置告警至QQ、钉钉)
    目录一、机器规划二、部署安装node-exporter、prometheus、Grafana、kube-state-metrics1、创建monitor-sa命名空间2、安装node-exporter组件2.1、说明2.2、应用资源清单2.3、通过node-exporter采集数据3、k8s集群中部署prometheus3.1、创建一个sa账号3.2、将sa账号moni......
  • prometheus学习笔记之PromQL
    prometheus学习笔记之PromQL一、PromQL语句简介官方文档:https://prometheus.io/docs/prometheus/latest/querying/basics/Prometheus提供⼀个函数式的表达式语⾔PromQL(PrometheusQueryLanguage),可以使⽤户实时地查找和聚合时间序列数据,表达式计算结果可以在图表中展示,也可......
  • prometheus学习笔记之Grafana 常用操作
    一、Panel设置1.单位设置2.Panel名称修改3.曲线别名修改前修改后 4.曲线排序 5.曲线复制6.曲线静默 7.Panel复制当前dashboard中复制跨dashboard或folder在其他dashboard中操作8.设置告警线设置告警条件其他按提示填写如果触发告警规则则......
  • prometheus学习笔记之alertmanager告警配置
    一、安装alertmanager项目地址:https://github.com/prometheus/alertmanager帮助文档:https://prometheus.io/docs/alerting/latest/alertmanager/配置文档:https://prometheus.io/docs/alerting/latest/configuration/wgethttps://github.com/prometheus/alertmanager/releas......
  • Springboot自定义Prometheus采集指标
    添加依赖<!--增加Prometheus依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>io.micrometer&l......
  • 云原生之运维监控实践-OpenEuler22.03SP3上安装Prometheus与Grafana实现主机状态监测
    背景如果没有监控,那么最好的情况是没有问题发生,最糟糕的情况则是问题发生了但没有被发现。——《Prometheus监控实战》去年写了一篇在Docker环境下部署若依微服务ruoyi-cloud项目的文章,当时使用的是docker-compose在单台机器上部署若依微服务ruoyi-cloud项目;在这个......
  • prometheus学习笔记之node-export
    1.安装node-exportk8s各node节点使⽤⼆进制或者daemonset⽅式安装node_exporter,⽤于收集各k8snode节点宿主机的监控指标数据,默认监听端⼝为9100wgethttps://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gztarxfno......