prometheus-blackbox_exporter使用

有些时候,咱们想监听服务器的某个端口是否存在,监听http的申请是否正确时,这个时候就能够应用 blackbox_exporter来实现。

留神: blackbox exporter 能够实现对 httphttpstcp(能够实现服务器接口是否在线)icmp(实现主机探活)dns的探测。

二、bldeckbox_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、icmp
  timeout: 10s
http_post_2xx:
  prober: http
  http:
    method: POST
tcp_connect: # tcp检测,比方检测某个端口是否在线
  prober: tcp
icmp: # icmp 检测,比方ping某个服务器
  prober: icmp

留神: 1、上方模块中 httpicmp 等的配置不全,这个能够通过拜访 https://github.com/prometheus/blackbox_exporter/blob/master/CONFIGURATION.md查看残缺的配置。

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

3、启动 blackbox_exporter

#!/usr/bin

nohup /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: 30s
  metrics_path: /probe
  params:
    module: [http_2xx]
  static_configs:
    - targets:         # 测试如下的申请是否能够拜访的通
      - 127.0.0.1:10005
      - http://127.0.0.1:10005/hello/zhangsan
  relabel_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: 30s
  metrics_path: /probe
  params:
    module: [http_post_2xx]
  static_configs:
    - targets:             # 测试如下的post申请是否能够拜访的通,该post申请不带参数
      - 127.0.0.1:10005
  relabel_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: 30s
  metrics_path: /probe
  params:
    module: [icmp]
  static_configs:
    - targets:
      - 127.0.0.1
  relabel_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: 30s
  metrics_path: /probe
  params:
    module: [tcp_connect]
  static_configs:
    - targets:
      - 127.0.0.1:10006
      - 127.0.0.1:10005
  relabel_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证书何时过期。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇