Prometheus-2:blackbox_exporter黑盒监控
黑盒监控blackbox_exporter
部署及使用blackbox_exporter
部署blackbox_exporter
- 下载安装包
- curl -LO https://github.com/prometheus/blackbox_exporter/releases/download/v0.22.0/blackbox_exporter-0.22.0.linux-amd64.tar.gz
- 展开程序包:
- tar xf blackbox_exporter-0.22.0.linux-amd64.tar.gz -C /usr/local/
- ln -sv /usr/local/blackbox_exporter-0.22.0.linux-amd64 /usr/local/blackbox_exporter
- 创建用户,或prometheus用户已经存在,可略过该步骤:
- useradd -r prometheus
- 创建Systemd Unitfile,保存于/usr/lib/systemd/system/blackbox_exporter.service文件中:
- [Unit]
- Description=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 start blackbox_exporter.service
- systemctl enable blackbox_exporter.service
- 验证监听的端口,并测试访问其暴露的指标
- ss -tnlp | grep '9115'
- curl localhost:9115/metrics
icmp监控,监控主机存活状态
- - job_name: "icmp_ping"
- metrics_path: /probe
- params:
- module: [icmp] # 使用icmp模块
- file_sd_configs:
- - refresh_interval: 10s #检测时间间隔
- files:
- - "ping/ping_status*.yml" #具体的配置文件路径
- relabel_configs:
- - source_labels: [__address__]
- regex: (.*)(:80)?
- target_label: __param_target
- replacement: ${1}
- - source_labels: [__param_target]
- target_label: instance
- - source_labels: [__param_target]
- regex: (.*)
- target_label: ping
- replacement: ${1}
- - source_labels: []
- regex: .*
- target_label: __address__
- replacement: 127.0.0.1:9115
这里有很多relabel的操作,下篇博客会详细讲解
- cd /usr/local/prometheus/
- mkdir ping
- cd ping
- - targets: ['monitor.example.com']
- labels:
- group: '跳板机'
- - targets: ['10.xx.xx.xx','10.xx.xx.xx','10.xx.xx.xx']
- labels:
- group: 'k8s cluster'
- - targets: ['www.baidu.com']
- labels:
- group: '百度'
- ./promtool check config prometheus.yml
- curl -XPOST monitor.example.com:9090/-/reload

http监控
- # Blackbox Exporter
- - job_name: 'http_get_status'
- metrics_path: /probe
- params:
- module: [http_2xx] # Look for a HTTP 200 response.
- file_sd_configs:
- - refresh_interval: 2m
- files:
- - "httpget/http_get*.yml" #具体的配置文件
- relabel_configs:
- - source_labels: [__address__]
- target_label: __param_target
- - source_labels: [__param_target]
- target_label: instance
- - target_label: __address__
- replacement: "monitor.example.com:9115" # 指向实际的Blackbox exporter.
- - target_label: region
- replacement: "local"
- static_configs:
- - targets:
- - "https://monitor.example.com"
- - "http://monitor.example.com:8080"
- - "www.google.com"
- refresh_interval: 2m
- curl -XPOST monitor.example.com:9090/-/reload


tcp端口监控
- - job_name: 'tcp_port_status'
- metrics_path: /probe
- params:
- module: [tcp_connect]
- static_configs:
- - targets: ['monitor.example.com:80','monitor.example.com:8080','monitor.example.com:443']
- labels:
- instance: 'port_status'
- group: 'tcp'
- relabel_configs:
- - source_labels: [__address__]
- target_label: __param_target
- - source_labels: [__param_target]
- target_label: instance
- - target_label: __address__
- replacement: monitor.example.com:9115

自定义blackbox.yml
- # github地址
- https://github.com/prometheus/blackbox_exporter
- # github中blackbox.yml各配置项解析
- blackbox_exporter/CONFIGURATION.md at master · prometheus/blackbox_exporter · GitHub
- # github中example文件
- blackbox_exporter/example.yml at master · prometheus/blackbox_exporter · GitHub
- modules:
- http_2xx:
- prober: http
- http:
- preferred_ip_protocol: "ip4"
- valid_http_versions: ["HTTP/1.1", "HTTP/2"]
- valid_status_codes: [200,301,302,303]
- tls_config:
- insecure_skip_verify: true
- http_ca_example:
- prober: http
- http:
- method: GET
- preferred_ip_protocol: "ip4"
- valid_http_versions: ["HTTP/1.1", "HTTP/2"]
- fail_if_ssl: false
- fail_if_not_ssl: true
- tls_config:
- insecure_skip_verify: false
- ca_file: /usr/local/blackbox_exporter/certs/ca.crt
- cert_file: /usr/local/blackbox_exporter/certs/server.crt
- key_file: /usr/local/blackbox_exporter/certs/server.key
- systemctl restart blackbox_exporter.service
- - job_name: 'http_get_status'
- metrics_path: /probe
- params:
- module: [http_2xx] # Look for a HTTP 200 response.
- file_sd_configs:
- - refresh_interval: 2m
- files:
- - "httpget/http_get*.yml" #具体的配置文件
- relabel_configs:
- - source_labels: [__address__]
- target_label: __param_target
- - source_labels: [__param_target]
- target_label: instance
- - target_label: __address__
- replacement: "monitor.example.com:9115" # 指向实际的Blackbox exporter.
- - target_label: region
- replacement: "local"
- - job_name: 'http_get_ca_status'
- metrics_path: /probe
- params:
- module: [http_ca_example]
- file_sd_configs:
- - refresh_interval: 2m
- files:
- - "httpget/http_ca.yml"
- relabel_configs:
- - source_labels: [__address__]
- target_label: __param_target
- - source_labels: [__param_target]
- target_label: instance
- - target_label: __address__
- replacement: "monitor.example.com:9115" # 指向实际的Blackbox exporter.
- - target_label: region
- replacement: "beijing"
- curl -XPOST monitor.example.com:9090/-/reload
- probe_http_duration_seconds{phase="tls"}

Prometheus-2:blackbox_exporter黑盒监控的更多相关文章
- Prometheus 监控之 Blackbox_exporter黑盒监测
Prometheus 监控之 Blackbox_exporter黑盒监测 1.blackbox_exporter概述 1.1 Blackbox_exporter 应用场景 2.blackbox_exp ...
- prometheus 配置容器 cadvisor监控节点
安装cadvisor docker run \ --volume=/:/roofs:ro \ --volume=/var/run:/var/run:rw \ --volume=/sys:/sys:ro ...
- 理解OpenShift(7):基于 Prometheus 的集群监控
理解OpenShift(1):网络之 Router 和 Route 理解OpenShift(2):网络之 DNS(域名服务) 理解OpenShift(3):网络之 SDN 理解OpenShift(4) ...
- prometheus + grafana部署RabbitMQ监控
prometheus + grafana部署RabbitMQ监控 1.grafana导入dashboards https://grafana.com/dashboards/2121 2.expor ...
- 基于Prometheus和Grafana的监控平台 - 运维告警
通过前面几篇文章我们搭建好了监控环境并且监控了服务器.数据库.应用,运维人员可以实时了解当前被监控对象的运行情况,但是他们不可能时时坐在电脑边上盯着DashBoard,这就需要一个告警功能,当服务器或 ...
- Centos7.X 搭建Prometheus+node_exporter+Grafana实时监控平台
Prometheus简介 什么是 Prometheus Prometheus是一个开源监控报警系统和时序列数据库 主要功能 多维数据模型(时序由 metric 名字和 k/v 的 labels 构成) ...
- Prometheus+Grafana通过kafka_exporter监控kafka
Prometheus+Grafana通过kafka_exporter监控kafka 一.暴露 kafka-metric 方式 二.jmx_exporter方式 2.1 下载jmx_prometheus ...
- Docker监控平台prometheus和grafana,监控redis,mysql,docker,服务器信息
Docker监控平台prometheus和grafana,监控redis,mysql,docker,服务器信息 一.通过redis_exporter监控redis 1.1 下载镜像 1.2 运行服务 ...
- Grafana+Prometheus 搭建 JuiceFS 可视化监控系统
作为承载海量数据存储的分布式文件系统,用户通常需要直观地了解整个系统的容量.文件数量.CPU 负载.磁盘 IO.缓存等指标的变化. JuiceFS 没有重复造轮子,而是通过 Prometheus 兼容 ...
- 【Prometheus+Grafana系列】监控MySQL服务
前言 前面的一篇文章已经介绍了 docker-compose 搭建 Prometheus + Grafana 服务.当时实现了监控服务器指标数据,是通过 node_exporter.Prometheu ...
随机推荐
- golang 必会之 pprof 监控系列(5) —— cpu 占用率 统计原理
golang pprof 监控系列(5) -- cpu 占用率 统计原理 大家好,我是蓝胖子. 经过前面的几节对pprof的介绍,对pprof统计的原理算是掌握了七八十了,我们对memory,bloc ...
- oss/obs对象存储上传图片,在浏览器输入地址却是下载图片。不能直接在浏览器上查看。
1.问题oss/obs对象存储上传图片获取链接地址后,在浏览器输入地址却是下载.不能直接在浏览器上面浏览图片信息.2.解决上传文件的时候需要设置:content-type类型,需要指示浏览器这是什么类 ...
- Mysql查询执行报错Packet for query is too large (6,831,159 > 4,194,304)
根据意思可以看出 mysql执行的报文过大.需要我们设置允许的最大报文max_allowed_packet: org.springframework.dao.TransientDataAccessRe ...
- Linux驱动开发环境-Kernel源码安装
开如学习LDD3这本书. 我是在Fedora18上学习的,但我安装的这个版本,/usr/src/下面没有相应的源代码. 自己从KERNEL网站下载相应版本源码(安装驱动有问题) 于是从kernel的网 ...
- Ajax 以及 Ajax基于Promise封装
AJAX - 创建 XMLHttpRequest 对象 var xmlhttp = new XMLHttpRequest(); 通过打印实例对象我们发现,我们打印的是 xmlhttp 对象,里面所有的 ...
- [双目视差] 单双目MATLAB 相机标定(一)单目摄像机标定
文章目录 单双目MATLAB 相机标定(一)单目摄像机标定 一.环境准备 二.标定过程 单双目MATLAB 相机标定(一)单目摄像机标定 一.环境准备 MATLAB R2014a+windows7 6 ...
- drf重写authenticate方法实现多条件登录(源码分析)
drf重写authenticate方法实现多条件登录(源码分析) 1. 思路 JWT拓展的登录视图中, 在接受到用户名和密码时, 调用的也是Django的认证系统中提供的authenticate()来 ...
- 2023-04-22:给你两个正整数数组 nums 和 target ,两个数组长度相等。 在一次操作中,你可以选择两个 不同 的下标 i 和 j , 其中 0 <= i, j < nums.leng
2023-04-22:给你两个正整数数组 nums 和 target ,两个数组长度相等. 在一次操作中,你可以选择两个 不同 的下标 i 和 j , 其中 0 <= i, j < num ...
- .NET6 + EF Core + MySQL 创建实体和数据库、EFCore 数据迁移
前言 接上期文章<.NET6项目连接数据库方式方法>,有人问了我几个问题,现在就这几个问题,拓展延申一下创建实体类.数据库.把ORM框架和数据迁移都写进去. 安装ORM框架,这里我们采用E ...
- 计算机网络 VRRP和DHCP
目录 一.vrrp概念 二.vrrp工作过程 三.vrrp优先级 四.vrrp实验 五.DHCP概念 六.DHCP工作过程 七.DHCP实验 一.vrrp概念 概念:称虚拟路由器冗余协议,当网关路由器 ...