Chúng tôi đang sử dụng Prometheus Blackbox Exporter (blackbox_exporter, phiên bản 0.19.0) để kiểm tra các điểm cuối HTTP.
Bây giờ chúng ta cần thực hiện kiểm tra với fail_if_body_matches_regexp
.
Việc kiểm tra sẽ không thành công khi một từ nhất định tồn tại bên trong phần thân html.
Để làm được điều đó, chúng tôi đã tạo cấu hình thăm dò http sau:
Cấu hình mô-đun:
người thăm dò: http
thời gian chờ: 5s
http:
hợp lệ_http_versions:
- HTTP/1.1
- HTTP/2
- HTTP/2.0
ưa thích_ip_protocol: ip4
ip_protocol_fallback: đúng
fail_if_body_matches_regexp:
- Trang tạm thời không khả dụng
follow_redirects: đúng
tcp:
ip_protocol_fallback: đúng
icmp:
ip_protocol_fallback: đúng
dns:
ip_protocol_fallback: đúng
Thật không may, kiểm tra không hoạt động như mong đợi. Mặc dù trang web chứa Trang tạm thời không khả dụng
bên trong phần thân html, kiểm tra vẫn thành công.
Nhật ký cho đầu dò:
ts=2022-02-17T09:46:31.403831228Z caller=main.go:320 module=http_2xx target=https://site.local level=info msg="Bắt đầu thăm dò" probe=http timeout_seconds=5
ts=2022-02-17T09:46:31.403959629Z caller=http.go:335 module=http_2xx target=https://site.local level=info msg="Đang giải quyết địa chỉ đích" ip_protocol=ip4
ts=2022-02-17T09:46:31.500911613Z caller=http.go:335 module=http_2xx target=https://site.local level=info msg="Resolved target address" ip=XXX.XXX.XXX.XXX
ts=2022-02-17T09:46:31.501017313Z caller=client.go:251 module=http_2xx target=https://site.local level=info msg="Đang thực hiện yêu cầu HTTP" url=https://XXX.XXX .XXX.XXX máy chủ=site.local
ts=2022-02-17T09:46:31.614236162Z caller=main.go:130 module=http_2xx target=https://site.local level=info msg="Đã nhận phản hồi HTTP" status_code=200
Các số liệu sẽ được trả lại:
# HELP thăm dò_failed_due_to_regex Cho biết nếu thăm dò không thành công do regex
# LOẠI máy đo thăm dò_failed_due_to_regex
thăm dò_failed_due_to_regex 0
Để kiểm tra xem trang web có được tải chính xác bên trong Prometheus Blackbox Exporter hay không, tôi muốn kiểm tra phần thân html nhận được trong quá trình kiểm tra. Có ai biết nếu điều đó là có thể và có thể có thêm một số mẹo gỡ lỗi không?