Logs for the probe: ts=2026-04-01T03:34:28.307305009Z caller=main.go:190 module=http_2xx target=https://portal.sahpra.org.za level=info msg="Beginning probe" probe=http timeout_seconds=9.5 ts=2026-04-01T03:34:28.307431273Z caller=http.go:328 module=http_2xx target=https://portal.sahpra.org.za level=info msg="Resolving target address" target=portal.sahpra.org.za ip_protocol=ip4 ts=2026-04-01T03:34:28.308167833Z caller=http.go:328 module=http_2xx target=https://portal.sahpra.org.za level=info msg="Resolved target address" target=portal.sahpra.org.za ip=41.180.72.114 ts=2026-04-01T03:34:28.308223834Z caller=client.go:259 module=http_2xx target=https://portal.sahpra.org.za level=info msg="Making HTTP request" url=https://41.180.72.114 host=portal.sahpra.org.za ts=2026-04-01T03:34:28.374821056Z caller=handler.go:119 module=http_2xx target=https://portal.sahpra.org.za level=info msg="Received HTTP response" status_code=403 ts=2026-04-01T03:34:28.374843757Z caller=handler.go:119 module=http_2xx target=https://portal.sahpra.org.za level=info msg="Invalid HTTP response status code, wanted 2xx" status_code=403 ts=2026-04-01T03:34:28.374924599Z caller=handler.go:119 module=http_2xx target=https://portal.sahpra.org.za level=info msg="Response timings for roundtrip" roundtrip=0 start=2026-04-01T03:34:28.308287556Z dnsDone=2026-04-01T03:34:28.308287556Z connectDone=2026-04-01T03:34:28.330080189Z gotConn=2026-04-01T03:34:28.353219759Z responseStart=2026-04-01T03:34:28.374797305Z tlsStart=2026-04-01T03:34:28.33010005Z tlsDone=2026-04-01T03:34:28.353213039Z end=2026-04-01T03:34:28.374915039Z ts=2026-04-01T03:34:28.375003771Z caller=main.go:190 module=http_2xx target=https://portal.sahpra.org.za level=error msg="Probe failed" duration_seconds=0.067673661 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.0007384 # HELP probe_duration_seconds Returns how long the probe took to complete in seconds # TYPE probe_duration_seconds gauge probe_duration_seconds 0.067673661 # 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 162 # 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.021792633 probe_http_duration_seconds{phase="processing"} 0.021577546 probe_http_duration_seconds{phase="resolve"} 0.0007384 probe_http_duration_seconds{phase="tls"} 0.023112979 probe_http_duration_seconds{phase="transfer"} 0.000117744 # 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 162 # 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.2273294e+07 # 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.78156641e+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 1.78156641e+09 # 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="f4bbf21a8a35cadbbcf76e76c6bbc220c65dacd7bf9cc230f5fc55b61e3043d5",issuer="CN=R13,O=Let's Encrypt,C=US",subject="CN=api-dev-portal.sahpra.org.za",subjectalternative="api-dev-portal.sahpra.org.za,api-portal.sahpra.org.za,api-stage-portal.sahpra.org.za,dev-portal.sahpra.org.za,portal.sahpra.org.za,stage-portal.sahpra.org.za"} 1 # HELP probe_success Displays whether or not the probe was a success # TYPE probe_success gauge probe_success 0 # 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: valid_http_versions: - HTTP/1.1 - HTTP/2.0 preferred_ip_protocol: ip4 fail_if_not_ssl: true method: GET follow_redirects: true enable_http2: true tcp: ip_protocol_fallback: true icmp: ip_protocol_fallback: true ttl: 64 dns: ip_protocol_fallback: true recursion_desired: true