[6] Prometheus – Blackbox exporter
9 lutego 2022Po skonfigurowaniu eksportera Blackbox, możliwe jest sondowanie punktów końcowych przez HTTP, HTTPS, DNS, TCP i ICMP.
[1] Na węźle, który chcesz monitorować za pomocą eksportera Blackbox, najpierw ustaw repozytorium Prometheus i zainstaluj eksporter Blackbox.
[root@vlsr02 ~]# dnf install blackbox_exporter
[2] To jest plik ustawień eksportera Blackbox. (Zachowaj wartość domyślną w tym przykładzie).
[root@vlsr02 ~]# mcedit /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: icmp [root@vlsr02 ~]# systemctl enable --now blackbox_exporter
[3] Jeżeli Firewalld jest uruchomiony otwórz port 9115/tcp.
[root@vlsr02 ~]# firewall-cmd --add-port=9115/tcp --permanent [root@vlsr02 ~]# firewall-cmd –reload
[4] Dodaj ustawienia na serwerze Prometheus.
[root@vlsr01 ~]# mcedit /etc/prometheus/prometheus.yml #dodaj na końcu #przypadek użycia modułu [icmp] #dodaj [job_name] - job_name: 'Blackbox_icmp' metrics_path: /probe params: module: [icmp] static_configs: - targets: # nazwa hosta lub adres IP docelowego hosta - vlsr02.zicher.lab relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ # exporter Blackbox Host:Port replacement: vlsr02.zicher.lab:9115 #przypadek użycia modułu [ssh_banner] - job_name: 'Blackbox_ssh' metrics_path: /probe params: module: [ssh_banner] static_configs: - targets: # cel Host:Port - vlsr02.zicher.lab:22 relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: vlsr02.zicher.lab:9115 #przypadek użycia modułu [tcp_connect] - job_name: 'Blackbox_tcp' metrics_path: /probe params: module: [tcp_connect] static_configs: - targets: # cel Host:Port (poniższy przykład wykorzystuje MariaDB/MySQL) - vlsr02.zicher.lab:3306 relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: vlsr02.zicher.lab:9115 [root@vlsr01 ~]# systemctl restart prometheus
[5] Uzyskaj dostęp do interfejsu użytkownika Prometheus i przejdź do opcji [Status] – [Targets], a następnie wyświetlą się nowe skonfigurowane cele. Można zobaczyć dane dotyczące metryki [probe_success]. [1] oznacza sukces, [0] oznacza porażkę.