Prometheus : Blackbox exporter2023/07/11 |
Blackbox exporter を設定することにより、HTTP, HTTPS, DNS, TCP, ICMP での死活監視が可能となります。
|
|
[1] | 設定をしたいノードで Blackbox exporter をインストールします。 |
root@node02:~# apt -y install prometheus-blackbox-exporter
|
[2] | Blackbox exporter の設定です。デフォルトのままでも問題なく動作します。 |
root@node02:~#
vi /etc/prometheus/blackbox.yml modules: http_2xx: prober: http http_post_2xx: prober: http http: method: POST tcp_connect: prober: tcp pop3s_banner: prober: tcp tcp: query_response: - expect: "^+OK" tls: true tls_config: insecure_skip_verify: false ssh_banner: prober: tcp tcp: query_response: - expect: "^SSH-2.0-" - send: "SSH-2.0-blackbox-ssh-check" irc_banner: prober: tcp tcp: query_response: - send: "NICK prober" - send: "USER prober prober prober :prober" - expect: "PING :([^ ]+)" send: "PONG ${1}" - expect: "^:[^ ]+ 001" icmp: prober: icmproot@node02:~# systemctl enable prometheus-blackbox-exporter
|
[3] | Prometheus サーバー側で設定を追加します。 |
root@dlp:~#
vi /etc/prometheus/prometheus.yml
.....
.....
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
.....
.....
# [icmp] モジュールを使用する場合
# 任意の [job_name]
- job_name: 'Blackbox_icmp'
metrics_path: /probe
params:
module: [icmp]
static_configs:
- targets:
# 対象ノードのホスト名 または IP アドレス
- node02.srv.world
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
# Blackbox exporter ホスト:ポート
replacement: node02.srv.world:9115
# [ssh_banner] モジュールを使用する場合
- job_name: 'Blackbox_ssh'
metrics_path: /probe
params:
module: [ssh_banner]
static_configs:
- targets:
# 対象ノード:ポート
- node02.srv.world:22
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: node02.srv.world:9115
# [tcp_connect] モジュールを使用する場合
- job_name: 'Blackbox_tcp'
metrics_path: /probe
params:
module: [tcp_connect]
static_configs:
- targets:
# 対象ノード:ポート (下例は MariaDB/MySQL)
- node02.srv.world:3306
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: node02.srv.world:9115
root@dlp:~# systemctl restart prometheus
|
[4] | Prometheus Web UI にアクセスしてデータを確認します。[Targets] に設定したターゲットが表示されます。 データは [probe_success] メトリックで確認できます。[1] が成功、[0] が失敗です。 |
Sponsored Link |