modules: http_2xx_example: prober: http timeout: 5s http: valid_http_versions: ["HTTP/1.1", "HTTP/2.0"] valid_status_codes: [] # Defaults to 2xx method: GET headers: Host: vhost.example.com Origin: example.com http_headers: Accept-Language: values: - "en-US" follow_redirects: true fail_if_ssl: false fail_if_not_ssl: false fail_if_body_matches_regexp: - "Could not connect to database" fail_if_body_not_matches_regexp: - "Download the latest version here" fail_if_header_matches: # Verifies that no cookies are set - header: Set-Cookie allow_missing: true regexp: '.*' fail_if_header_not_matches: - header: Access-Control-Allow-Origin regexp: '(\*|example\.com)' tls_config: insecure_skip_verify: false preferred_ip_protocol: "ip4" # defaults to "ip6" ip_protocol_fallback: false # no fallback to "ip6" http_with_proxy: prober: http http: proxy_url: "http://127.0.0.1:3128" skip_resolve_phase_with_proxy: true http_with_proxy_and_headers: prober: http http: proxy_url: "http://127.0.0.1:3128" proxy_connect_header: Proxy-Authorization: - Bearer token http_post_2xx: prober: http timeout: 5s http: method: POST headers: Content-Type: application/json body: '{}' http_post_body_file: prober: http timeout: 5s http: method: POST body_file: "/files/body.txt" http_basic_auth_example: prober: http timeout: 5s http: method: POST headers: Host: "login.example.com" basic_auth: username: "username" password: "mysecret" http_json_cel_match: prober: http timeout: 5s http: method: GET fail_if_body_json_not_matches_cel: "body.foo == 'bar' && body.baz.startsWith('q')" # { "foo": "bar", "baz": "qux" } http_2xx_oauth_client_credentials: prober: http timeout: 5s http: valid_http_versions: ["HTTP/1.1", "HTTP/2"] follow_redirects: true preferred_ip_protocol: "ip4" valid_status_codes: - 200 - 201 oauth2: client_id: "client_id" client_secret: "client_secret" token_url: "https://api.example.com/token" endpoint_params: grant_type: "client_credentials" http_custom_ca_example: prober: http http: method: GET tls_config: ca_file: "/certs/my_cert.crt" http_gzip: prober: http http: method: GET compression: gzip http_gzip_with_accept_encoding: prober: http http: method: GET compression: gzip headers: Accept-Encoding: gzip tls_connect: prober: tcp timeout: 5s tcp: tls: true tcp_connect_example: prober: tcp timeout: 5s imap_starttls: prober: tcp timeout: 5s tcp: query_response: - expect: "OK.*STARTTLS" - send: ". STARTTLS" - expect: "OK" - starttls: true - send: ". capability" - expect: "CAPABILITY IMAP4rev1" smtp_starttls: prober: tcp timeout: 5s tcp: query_response: - expect: "^220 ([^ ]+) ESMTP (.+)$" - send: "EHLO prober\r" - expect: "^250-STARTTLS" - send: "STARTTLS\r" - expect: "^220" - starttls: true - send: "EHLO prober\r" - expect: "^250-AUTH" - send: "QUIT\r" irc_banner_example: prober: tcp timeout: 5s tcp: query_response: - send: "NICK prober" - send: "USER prober prober prober :prober" - expect: "PING :([^ ]+)" send: "PONG ${1}" - expect: "^:[^ ]+ 001" rabbitmq: prober: tcp timeout: 30s tcp: query_response: - send: "HELO\r" - send: "\r" - send: "\r" - send: "\r" - expect: "AMQP" tls: true tls_config: insecure_skip_verify: false ca_file: "/etc/blackbox_exporter/CA_cert.crt" rabbitmq_insecure: prober: tcp timeout: 30s tcp: query_response: - send: "HELO\r" - send: "\r" - send: "\r" - send: "\r" - expect: "AMQP" tls: true tls_config: insecure_skip_verify: true ca_file: "/etc/blackbox_exporter/CA_cert.crt" icmp_example: prober: icmp timeout: 5s icmp: preferred_ip_protocol: "ip4" source_ip_address: "127.0.0.1" dns_udp_example: prober: dns timeout: 5s dns: query_name: "www.prometheus.io" query_type: "A" valid_rcodes: - NOERROR validate_answer_rrs: fail_if_matches_regexp: - ".*127.0.0.1" fail_if_all_match_regexp: - ".*127.0.0.1" fail_if_not_matches_regexp: - "www.prometheus.io.\t300\tIN\tA\t127.0.0.1" fail_if_none_matches_regexp: - "127.0.0.1" validate_authority_rrs: fail_if_matches_regexp: - ".*127.0.0.1" validate_additional_rrs: fail_if_matches_regexp: - ".*127.0.0.1" dns_soa: prober: dns dns: query_name: "prometheus.io" query_type: "SOA" dns_tcp_example: prober: dns dns: transport_protocol: "tcp" # defaults to "udp" preferred_ip_protocol: "ip4" # defaults to "ip6" query_name: "www.prometheus.io" unix_socket_ping: prober: unix timeout: 5s unix: query_response: - send: "PING" - expect: "PONG" postgresql: prober: tcp tcp: query_response: - send: !!binary AAAACATSFi8= # 0x00, 0x00, 0x00, 0x08, 0x04, 0xD2, 0x16, 0x2F - PostgreSQL SSLRequest - expect_bytes: S # 0x53 - Reply will be 'S' if SSL is enabled, and 'N' if it is not. - starttls: true http_with_header_from_files: prober: http http: http_headers: X-API-Key: files: - /path/to/api-key.txt websocket_example_basic_auth: prober: websocket websocket: http_config: basic_auth: username: "user" password: "password" tls_config: insecure_skip_verify: true headers: X-Some-Header: "my_header" query_response: - expect: ^Hello,\s(.+)" send: "Hello server, i'am ${1}" - expect: ^Welcome websocket_example_bearer_token: prober: websocket websocket: http_config: authorization: credentials: "secret_token" tls_config: insecure_skip_verify: true headers: X-Some-Header: "my_header" query_response: - expect: ^Hello,\s(.+)" send: "Hello server, i'am ${1}" - expect: ^Welcome