Prometheus(六):Blackbox监控安装配置

目录

  • 1 Blackbox Exporter安装配置
    • 1.1 Blackbox Exporter简介
    • 1.2 安装
      • 1、安装-使用源码包安装
        • 下载安装
        • blackbox.yml文件
        • 配置快速启动文件
      • 2、安装-使用docker
    • 1.3 Prometheus配置
      • 1、http监控
      • 2、ping探测-ip
      • 3、https probe-DNS解析
      • 4、metrics配置
      • 5、TCP监控-探测端口
  • 总结

1 Blackbox Exporter安装配置

参考:
https://github.com/prometheus/blackbox_exporter

1.1 Blackbox Exporter简介

blackbox_exporter 是 Prometheus 拿来对 http/https、tcp、icmp、dns、进行的黑盒监控工具,也就是从服务、主机等外部进行探测,来查看服务、主机等是否可用。
Blackbox Exporter 默认端口是 9115,

1.2 安装

1、安装-使用源码包安装

下载安装

这里使用源码包安装

cd /usr/local/src
wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.24.0/blackbox_exporter-0.24.0.linux-amd64.tar.gztar -zxf blackbox_exporter-0.24.0.linux-amd64.tar.gz
mv blackbox_exporter-0.24.0.linux-amd64 /usr/local/blackbox_exporter
blackbox.yml文件
vim /usr/local/blackbox_exporter/blackbox.ymlmodules:http_2xx:prober: httphttp_post_2xx:prober: httphttp:method: POSTtcp_connect:prober: tcppop3s_banner:prober: tcptcp:query_response:- expect: "^+OK"tls: truetls_config:insecure_skip_verify: falsegrpc:prober: grpcgrpc:tls: truepreferred_ip_protocol: "ip4"grpc_plain:prober: grpcgrpc:tls: falseservice: "service1"ssh_banner:prober: tcptcp:query_response:- expect: "^SSH-2.0-"- send: "SSH-2.0-blackbox-ssh-check"irc_banner:prober: tcptcp:query_response:- send: "NICK prober"- send: "USER prober prober prober :prober"- expect: "PING :([^ ]+)"send: "PONG ${1}"- expect: "^:[^ ]+ 001"icmp:prober: icmpicmp_ttl5:prober: icmptimeout: 5sicmp:preferred_ip_protocol: ip4ttl: 5
配置快速启动文件
cat >> /usr/lib/systemd/system/blackbox_exporter.service <<EOF
[Unit]
Description=blackbox_exporter
After=network.target[Service]
User=root
Type=simple
ExecStart=/usr/local/blackbox_exporter/blackbox_exporter --config.file=/usr/local/blackbox_exporter/blackbox.yml
Restart=on-failure[Install]
WantedBy=multi-user.targetEOFsystemctl daemon-reload
systemctl restart blackbox_exporter
systemctl enable blackbox_exporter
systemctl status blackbox_exporter

测试:192.168.92.100:9115/probe?target=baidu.com&module=http_2xx
在这里插入图片描述

2、安装-使用docker

mkdir /usr/local/blackbox/ && cd /usr/local/blackbox/vim /usr/local/blackbox/blackbox.yml
# 官方默认的配置文件
modules:http_2xx:prober: httphttp_post_2xx:prober: httphttp:method: POSTtcp_connect:prober: tcppop3s_banner:prober: tcptcp:query_response:- expect: "^+OK"tls: truetls_config:insecure_skip_verify: falsegrpc:prober: grpcgrpc:tls: truepreferred_ip_protocol: "ip4"grpc_plain:prober: grpcgrpc:tls: falseservice: "service1"ssh_banner:prober: tcptcp:query_response:- expect: "^SSH-2.0-"- send: "SSH-2.0-blackbox-ssh-check"irc_banner:prober: tcptcp:query_response:- send: "NICK prober"- send: "USER prober prober prober :prober"- expect: "PING :([^ ]+)"send: "PONG ${1}"- expect: "^:[^ ]+ 001"icmp:prober: icmpicmp_ttl5:prober: icmptimeout: 5sicmp:preferred_ip_protocol: ip4ttl: 5docker run -itd --rm -p 9115:9115 -v /usr/local/blackbox:/config --name blackbox_exporter quay.io/prometheus/blackbox-exporter:latest
# 其中参数解释
--rm:容器停止后容器自动删除
-p:端口映射
-v:卷挂载
--config.file:加载的配置文件
--name:容器名称
quay.io/prometheus/blackbox-exporter:latest:镜像名字## 查看
docker ps
#######
CONTAINER ID   IMAGE                                         COMMAND                  CREATED         STATUS         PORTS                                       NAMES
38575d5abbdc   quay.io/prometheus/blackbox-exporter:latest   "/bin/blackbox_expor…"   6 minutes ago   Up 6 minutes   0.0.0.0:9115->9115/tcp, :::9115->9115/tcp   blackbox_exporter

网页查看
在这里插入图片描述

1.3 Prometheus配置

blackbox exporter支持多种探测设置,比如ping ip/域名等,或者telnet端口是否通,支持http和https,以下是各种情景下是否配置。

1、http监控

HTTP就是通过GET或者POST的方式来检测应用是否正常。
这种场景多用于监控网页是否正常,如:公司官网是否不能正常打开,或者打开过慢这样的情况

cd /usr/local/prometheus
mkdir sd_file/blackbox
cat sd_file/blackbox/probe_http.yml
- targets:- http://192.168.92.101:8081/    # Target to probe with http.- https://www.bilibili.com/   # Target to probe with https.- http://example.com:8080labels:web: probe_httpvim prometheus.yml
# 这个是 http 探测的结果- job_name: 'probe_http'metrics_path: /probeparams:module: [http_2xx]  # Look for a HTTP 200 response.file_sd_configs:- refresh_interval: 10sfiles:- "/usr/local/prometheus/sd_file/blackbox/*.yml"       relabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: 192.168.92.100:9115  # The blackbox exporter's real hostname:port.# 这个配置是 blackbox_exporter/metrics 的数据# collect blackbox exporter's operational metrics.                   - job_name: 'blackbox_exporter'  # collect blackbox exporter's operational metrics.static_configs:- targets: ['192.168.92.101:9115']# ============================== 上面是实际的配置
# ============================== 以下是官方提供的,可根据需要进行修改
scrape_configs:- job_name: 'blackbox'metrics_path: /probeparams:module: [http_2xx]  # Look for a HTTP 200 response.static_configs:- targets:- http://192.168.92.101:8081/    # Target to probe with http.- https://www.bilibili.com/   # Target to probe with https.- http://example.com:8080 # Target to probe with http on port 8080.relabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: 192.168.92.100:9115  # The blackbox exporter's real hostname:port.- job_name: 'blackbox_exporter'  # collect blackbox exporter's operational metrics.static_configs:- targets: ['192.168.92.101:9115']# 第一次配置需要重启服务,之后如果是在 custom_ping 目录下新加文件则不需要重启
systemctl restart prometheus

2、ping探测-ip

这个就是类似于平常使用的 ping 命令,有需要一直 ping 的可以使用这个

vim prometheus.yml
- job_name: "custom_ping"metrics_path: /probeparams:module:- icmpscrape_interval: 30sscrape_timeout: 30sfile_sd_configs:- files:- /usr/local/prometheus/local_cluster/custom_ping/*.ymlrefresh_interval: 5mrelabel_configs:- source_labels:- __address__target_label: __param_target- source_labels:- __param_targettarget_label: instance- target_label: __address__replacement: 127.0.0.1:9115# blackbox_exporter自己的监控端口# 
cat /usr/local/prometheus/local_cluster/custom_ping/list.yml
- targets:- xx.xx.xxx.xx- xx.xx.xxx.xxlabels:app: custom_ping# 第一次配置需要重启服务,之后如果是在 custom_ping 目录下新加文件则不需要重启
systemctl restart prometheus

查看:
probe_success:表示是否探测成功,这里要注意:0为失败,1为成功

3、https probe-DNS解析

vim prometheus.ymlscrape_configs:- job_name: blackbox_allmetrics_path: /probeparams:module: [ http_2xx ]  # Look for a HTTP 200 response.dns_sd_configs:- names:- www.bilibili.com- prometheus.iotype: Aport: 443relabel_configs:- source_labels: [__address__]target_label: __param_targetreplacement: https://$1/  # Make probe URL be like https://1.2.3.4:443/- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: 192.168.92.100:9115  # The blackbox exporter's real hostname:port.- source_labels: [__meta_dns_name]target_label: __param_hostname  # Make domain name become 'Host' header for probe requests- source_labels: [__meta_dns_name]target_label: vhost  # and store it in 'vhost' labelsystemctl restart prometheus

4、metrics配置

这个主要是为了收集exporter的 /metrics 的数据

vim prometheus.ymlscrape_configs:- job_name: "blackbox_exporter"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["192.168.92.100:9115"]systemctl restart prometheus
systemctl status prometheus.service

5、TCP监控-探测端口

TCP监控主要是通过类似于Telnet的方式进行检测

vim prometheus.yml- job_name: "check-middleware-tcp"metrics_path: /probeparams:module: [tcp_connect]  # Look for a HTTP 200 response.static_configs:- targets:- xx.xx.xx.xx:80- xx.xx.xx.xx:3306labels:group: middleware-tcprelabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: blackbox.monitoring:9115

总结

blackbox exporter 多用于在 服务、主机外部,对其进行IP、域名、端口等的探测,每种类型的配置都有差别,根据需要进行配置。

blackbox exporter 是一个开源的组件,其用法都可以在 GitHub中找到,地址为:https://github.com/prometheus/blackbox_exporter/tree/master

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/571036.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

零基础机器学习(4)之线性回归的基本原理

文章目录 一、线性回归的基本原理1.相关与回归2.线性回归的原理分析①线性回归的一般公式②线性回归的损失函数③线性回归方程的参数求解方法A.最小二乘法B.梯度下降法 一、线性回归的基本原理 1.相关与回归 相关描述的是变量之间的一种关系。 从统计角度看&#xff0c;变量之…

【氮化镓】镁激活退火对p-GaN迁移率和阈值电压的影响

【Mg activation anneal of the p-GaN body in trench gate MOSFETs and its effect on channel mobility and threshold voltage stability】 文献总结&#xff1a; 本研究探讨了在沟道栅MOSFETs中&#xff0c;镁&#xff08;Mg&#xff09;激活退火步骤对p型氮化镓&#xf…

一款优秀的 Pycharm AI插件 ,你值得拥有!

AI插件部分功能截图 代码自动生成和补全 账号免费领取方式 关注博主&#xff0c;私聊回复 插件 Pycharm相关介绍 PyCharm是一款由JetBrains开发的集成开发环境&#xff08;IDE&#xff09;&#xff0c;专为Python语言而设计。它提供了丰富的功能和强大的工具&#xff0c;使得Py…

TS函数类型

函数类型表达式 function hello(x: string) {console.log(x) } //greeter函数的参数是一个函数fn&#xff0c;fn也有一个string类型参数&#xff0c;无返回值。 function greeter(fn: (a: string) > void) {fn(hello) } greeter(hello)也可以把定义参数类型的语句单独提取出…

在FMEA风险控制中,首检的重要性!——SunFMEA软件

在制造业中&#xff0c;FMEA被广泛应用于产品设计、生产过程和产品服务的各个阶段。而首检&#xff0c;作为生产过程中的一个重要环节&#xff0c;同样承载着风险控制和质量保障的重任。 今天SunFMEA软件系统从FMEA风险控制的角度来看&#xff0c;首检具有至关重要的地位。首检…

文件上传漏洞-客户端检测

本文章仅供学习参考&#xff01;&#xff01;&#xff01; 靶场环境&#xff1a;upload-labs-master/pass-1 客户端检测 客户端检测一般都是在网页上写一段 javascript 脚本&#xff0c;校验上传文件 的后缀名&#xff0c;有白名单形式也有黑名单形式。 判断方式&#xff1…

linux将未分配空间分配到指定挂载点

lsblk命令查看硬盘&#xff0c;空间有200G&#xff0c;子分区加起来才100个G&#xff0c;有100个G未使用 lsblk给硬盘分配盘符 fidisk /dev/vda n 回车 回车 w将所有未分配的空间分区&#xff0c;这里有100个GB 查看分配的分区 /dev/vda4 fidisk -lpvcreate /dev/vda4查看…

基于多时间尺度滚动优化的多能源微网双层调度模型—论文复现

目录 一、主要内容&#xff1a; 二、程序运行效果&#xff1a; 二、研究内容摘要&#xff1a; 三、多能源微电网&#xff1a; 四、两阶段多时间尺度调度框架&#xff1a; 五、代码数据下载&#xff1a; 一、主要内容&#xff1a; 本代码主要做的是一个多能源微网的优化调…

张驰咨询:用六西格玛管理优化医疗机构成本

医疗行业作为社会的重要组成部分&#xff0c;应对人类健康问题发挥着至关重要的作用。然而&#xff0c;在追求更高水平的医疗服务和患者护理的过程中&#xff0c;医疗机构普遍面临一系列复杂的挑战和痛点。这些痛点不仅影响到医疗服务的效率和效果&#xff0c;还可能对患者的安…

C语言数据结构基础————二叉树学习笔记(四)简单的OJ题目练习

1.单值二叉树 965. 单值二叉树 - 力扣&#xff08;LeetCode&#xff09; 建立一个新的函数&#xff0c;用函数传参的方法来记录val的值 如上一篇最后的对称二叉树的习题&#xff0c;建立新的函数来传参 多采用使用反对值的方法&#xff0c;因为如果是相等return true的话&am…

Unity类银河恶魔城学习记录11-6 p108 Equip items on character源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili UI_equipementSlots.cs using System.Collections; using System.Collect…

大型集团公司企业文化知识竞活动赛策划方案

一场高端企业文化知识竞赛活动完整策划书&#xff0c;按诗词大会舞美标准进行设计&#xff0c;竞赛规则新颖&#xff0c;值得收藏。 天纵高端知识竞赛服务商&#xff0c;20多年现场经验和软硬件开发。 专业承办全国高端知识竞赛活动。线上线下各类竞赛活动均可执行&#xff0c;…