iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0

Blackbox Exporter

今天來用 Blackbox Exporter 來監測 IPAM, kubeadm 的 control plane
Blackbox Exporter 的運作原理跟 Node Exporter 有點不一樣
Node Exporter 是透過抓取本機資料後將本機的 9100 Port 開放給 Prometheus 抓取
Blackbox Exporter 是不需要到本機上抓取資料 可以由一台 Agent 來去做監測
再由 Agent 開放 9115 Port 給 Prometheus 抓取
所以 Blackbox Exporter 能夠個 Agent 負責非常多 Server / Host 的檢測
且能夠設定 module 來對應不同類別的服務和協定
以今天要實作的 IPAM Service 監測來說的話運作原理類似下圖
https://ithelp.ithome.com.tw/upload/images/20231003/20162773hTaQ6lMiDV.png

Install Blackbox Exporter

一樣用 APT 來進行安裝

apt-get install prometheus-blackbox-exporter -y

接著檢查一下 Blackbox Exporter 有沒有正常運作

service prometheus-blackbox-exporter status

https://ithelp.ithome.com.tw/upload/images/20231003/20162773taiQOBb4Ts.png
一切正常 很棒
接著來寫 Blackbox Exporter 的設定

vim /etc/prometheus/blackbox.yml

https://ithelp.ithome.com.tw/upload/images/20231003/20162773zaetI5u37E.png
可以看到預設就有 module 可以給我們使用了
在第2行的 http_2xx 這個模組就能夠給監測 IPAM 站台使用了
也有 tcp_connect 可以用來查看 kubeadm 的 Control plane
那麼就直接來設定 prometheus 的設定檔吧

vim /etc/prometheus/prometheus.yml
scrape_configs:
  - job_name: 'kubeadm-control-plane'
    metrics_path: /probe
    params:
      module: [tcp_connect]  # 使用 TCP 連線探測
    static_configs:
      - targets:
        - lke-main.ironman.test:6443
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: localhost:9115

  - job_name: 'ipam_service'
    metrics_path: /probe
    params:
      module: [http_2xx]
    static_configs:
      - targets:
        - http://ipam.ironman.test
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: localhost:9115

接著重開 Prometheus

service prometheus restart

到 Prometheus 的頁面上觀測看看 以 probe_success 為 Metric 查詢看看
https://ithelp.ithome.com.tw/upload/images/20231003/201627732ztRI5iGis.png
? 只有一條線? 用 Console 來檢視看看
https://ithelp.ithome.com.tw/upload/images/20231003/20162773gUNIzWuGEB.png
兩個都是有正常回應的 但是因為值一樣所以只顯示一條出來 ==
還有其實可以在 Graph 把鼠標一到 Metric 的名字上面就會把該 Metric 的圖層一到最高
https://ithelp.ithome.com.tw/upload/images/20231003/20162773L8VL39luJu.png
移到其中一個就可以在圖表上看到囉


上一篇
Day17 Prometheus(二) Node-Exporter + SSH PublicKey 大量部署
下一篇
Day19 Prometheus(四) kube-state-metrics
系列文
地端建置大雜燴-下從網路線上到Grafana的建置之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言