Prometheus ブラック ボックス テスト モジュール、TCP ポート + HTTP/HTTPS ルーティング ステータスを監視

1. ブラックボックステストの利用シナリオ

公式ダウンロード アドレス
blackbox-exporter は、Prometheus が公式に提供するブラック ボックス テスト ソリューションであり、次の使用シナリオで使用できます。

  • TCP: ポートの活性検出
  • HTTP/HTTPS: 可用性の検出
  • ICMP: ホストの生存検出
  • TCP: ポートの活性検出
  • DNS: ドメイン名解決

2. blackbox-exporter をインストールする

1. blackbox-exporter をインストールする

wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.22.0/blackbox_exporter-0.22.0.linux-amd64.tar.gz
tar zxf blackbox_exporter-0.22.0.linux-amd64.tar.gz -C /usr/local
cd /usr/local
mv blackbox_exporter-0.22.0.linux-amd64 blackbox_exporter

2.systemd管理を追加する

cat >>  /lib/systemd/system/blackbox-exporter.service << EOF
[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
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

3. 検証を開始する

systemctl restart blackbox-exporter.service
systemctl status blackbox-exporter.service

ここに画像の説明を挿入します
デフォルトのポートは 9115 です

netstat -anput |grep 9115

3. TCPポートを監視する

1. prometheus 設定ファイルを編集します。prometheus.yml
設定ファイルを編集し、監視する必要がある IP+TCP ポートを追加します。ここでは例として監視ポート 80 を取り上げます。

  - job_name: "Nginx端口"
    metrics_path: /probe        # 定义指标接口
    params:                     # 指定查询参数,在Prometheus向target发送Get请求获取指标数据时,会传递到url上
      module: [tcp_connect]
    static_configs:
      - targets: ["127.0.0.1:80"]
        labels:                 # 自定义标签,附加在target上
          blackbox: 'Nginx端口'

    relabel_configs:
    - source_labels: [__address__]  # 将标签__address__的值赋值给__param_target标签,以__param开头的标签也会作为查询参数传递Prometheus的Get请求,作用和上面的params配置类似
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance  # 将标签__param_target的值赋值给instance标签
    - target_label: __address__
      replacement: 16.32.15.115:9115   # 此处修改地址为blackbox-exporter所部署服务器地址

2. 設定ファイルを追加した後、コマンドを使用して形式に問題がないかどうかをテストします。

cd  /usr/local/prometheus/
./promtool check config prometheus.yml

3.Prometheusを再起動します

systemctl restart prometheus.service

4. Prometheus WEB側でデータが収集されているかを確認

Prometheus WEB ターミナルの入力probe_successステータスは、以下に示すように1UP0または DOWN です。
ここに画像の説明を挿入します

4. HTTP/HTTPS ルーティングを監視する

1. prometheus 設定ファイルを編集する
prometheus.yml 設定ファイルを編集し、監視する必要がある URL を追加しますhttps://www.baidu.com/index.html

  - job_name: "百度"
    scrape_interval: 15s
    metrics_path: /probe
    params:
      module: [http_2xx]
    static_configs:
    - targets: ['https://www.baidu.com/index.html']
      labels:
        blackbox: '百度主页'
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 16.32.15.115:9115

2. 設定ファイルを追加した後、コマンドを使用して形式に問題がないかどうかをテストします。

cd  /usr/local/prometheus/
./promtool check config prometheus.yml

3.Prometheusを再起動します

systemctl restart prometheus.service

4. Prometheus WEB側でデータが収集されているかを確認

Prometheus WEB ターミナルの入力probe_successステータスは、以下に示すように1UP0または DOWN です。

ここに画像の説明を挿入します

5. 最後に、いくつかの Grafana テンプレートを共有します

1. テンプレートID:9965

ここに画像の説明を挿入します

2. テンプレート ID:13659

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/weixin_45310323/article/details/132928922