Logs for the probe: time=2026-04-24T18:36:01.088Z level=ERROR source=http.go:605 msg="Invalid HTTP response status code, wanted 2xx" module=http_keyword_present target=https://www.udemy.com status_code=403 time=2026-04-24T18:36:01.088Z level=ERROR source=handler.go:130 msg="Probe failed" module=http_keyword_present target=https://www.udemy.com duration_seconds=0.020449781 Metrics that would have been returned: # HELP probe_dns_lookup_time_seconds Returns the time taken for probe dns lookup in seconds # TYPE probe_dns_lookup_time_seconds gauge probe_dns_lookup_time_seconds 0.005163618 # HELP probe_duration_seconds Returns how long the probe took to complete in seconds # TYPE probe_duration_seconds gauge probe_duration_seconds 0.020449781 # HELP probe_failed_due_to_regex Indicates if probe failed due to regex # TYPE probe_failed_due_to_regex gauge probe_failed_due_to_regex 0 # HELP probe_http_content_length Length of http content response # TYPE probe_http_content_length gauge probe_http_content_length -1 # HELP probe_http_duration_seconds Duration of http request by phase, summed over all redirects # TYPE probe_http_duration_seconds gauge probe_http_duration_seconds{phase="connect"} 0.001223017 probe_http_duration_seconds{phase="processing"} 0.010222004 probe_http_duration_seconds{phase="resolve"} 0.005163618 probe_http_duration_seconds{phase="tls"} 0.002910756 probe_http_duration_seconds{phase="transfer"} 0.000483677 # HELP probe_http_redirects The number of redirects # TYPE probe_http_redirects gauge probe_http_redirects 0 # HELP probe_http_ssl Indicates if SSL was used for the final redirect # TYPE probe_http_ssl gauge probe_http_ssl 1 # HELP probe_http_status_code Response HTTP status code # TYPE probe_http_status_code gauge probe_http_status_code 403 # HELP probe_http_uncompressed_body_length Length of uncompressed response body # TYPE probe_http_uncompressed_body_length gauge probe_http_uncompressed_body_length 1042 # HELP probe_http_version Returns the version of HTTP of the probe response # TYPE probe_http_version gauge probe_http_version 1.1 # HELP probe_ip_addr_hash Specifies the hash of IP address. It's useful to detect if the IP address changes. # TYPE probe_ip_addr_hash gauge probe_ip_addr_hash 2.799170228e+09 # HELP probe_ip_protocol Specifies whether probe ip protocol is IP4 or IP6 # TYPE probe_ip_protocol gauge probe_ip_protocol 4 # HELP probe_ssl_earliest_cert_expiry Returns last SSL chain expiry in unixtime # TYPE probe_ssl_earliest_cert_expiry gauge probe_ssl_earliest_cert_expiry 1.78435248e+09 # HELP probe_ssl_last_chain_expiry_timestamp_seconds Returns last SSL chain expiry in timestamp # TYPE probe_ssl_last_chain_expiry_timestamp_seconds gauge probe_ssl_last_chain_expiry_timestamp_seconds -6.21355968e+10 # HELP probe_ssl_last_chain_info Contains SSL leaf certificate information # TYPE probe_ssl_last_chain_info gauge probe_ssl_last_chain_info{fingerprint_sha256="4717250e54a57032ba7fc7875bf85806cffdd7ce47459e7cffbef8529cb376ae",issuer="CN=WE1,O=Google Trust Services,C=US",serialnumber="899addb1f7396c7513775d62f10d968a",subject="CN=udemy.com",subjectalternative="udemy.com,*.aws-dr.udemy.com,*.udemy.com,aws-dr.udemy.com"} 1 # HELP probe_success Displays whether or not the probe was a success # TYPE probe_success gauge probe_success 0 # HELP probe_tls_cipher_info Returns the TLS cipher negotiated during handshake # TYPE probe_tls_cipher_info gauge probe_tls_cipher_info{cipher="TLS_AES_128_GCM_SHA256"} 1 # HELP probe_tls_version_info Returns the TLS version used or NaN when unknown # TYPE probe_tls_version_info gauge probe_tls_version_info{version="TLS 1.3"} 1 Module configuration: prober: http timeout: 15s http: preferred_ip_protocol: ip4 ip_protocol_fallback: true method: GET headers: User-Agent: Mozilla/5.0 tls_config: insecure_skip_verify: true follow_redirects: true enable_http2: false tcp: ip_protocol_fallback: true icmp: ip_protocol_fallback: true ttl: 64 dns: ip_protocol_fallback: true recursion_desired: true