Supported telemetry types
The HTTP Check integration supports these telemetry types:Prerequisites
The HTTP Check integration has the following prerequisites:- Make each URL you want to monitor reachable from the Collector.
Configure
To configure the HTTP Check integration, follow these steps:- For URLs served by pods or Services in your Kubernetes cluster, add autodiscovery annotations that provide the URL to monitor. For more information, see autodiscovery.
-
Optional: Configure static targets to monitor URLs that autodiscovery
doesn’t cover, such as an API outside your Kubernetes cluster. For example,
add the following to the
values.yamlfor your Helm chart:When you configure static targets, this integration instance collects from exactly those targets instead of discovered targets. -
Optional: Trust a private certificate authority for static HTTPS targets.
The cluster Collector monitors static targets, so mount the authority’s
certificate with the chart’s
clusterCollector.extraVolumesandclusterCollector.extraVolumeMountsvalues, then settls.ca_fileto the mounted path. For more information, see architecture. For example, add the following to thevalues.yamlfor your Helm chart:Thetlssettings apply to every static target. -
Optional: Configure a second integration instance to collect from both
discovered and static targets. For example, add the following to the
values.yamlfor your Helm chart:Thehttp_check/externalkey defines a named instance for the static targets. The barehttp_checkkey continues to use autodiscovery. Keep it, because after you configure any instance of the integration, only the instances you list run.
Validate
To validate the HTTP Check integration, follow these steps:-
In the Live Telemetry Analyzer, filter for
cxdot.integration.name=http_check. Confirm that the HTTP Check metric names appear. -
In Metrics Explorer, run the following query:
Confirm that the query returns one time series for each URL you configured, with the URL in the
cxdot.integration.targetattribute, and that each reachable URL reports1.
Configuration reference
Configure one HTTP Check integration instance with the following settings. In Helm values, place these settings underconfig.integrations.http_check. In a Collector configuration file, place
them under cxdot.integrations.http_check.
Optional settings
-
enabledType:boolean. Optional. Default:true. Whether to enable this HTTP Check integration instance. If true, the Collector monitors the configured URLs. If false, it doesn’t run this integration instance. -
endpointsType:array of object. Optional. URLs to monitor. The Collector requests each entry on its own schedule and reports it as a separate target. A nonempty list disables automatic discovery for this integration instance, and the Collector requests only the listed URLs. If this list is empty and no annotated pods or Services exist, the integration requests no URLs. -
endpoints[].endpointType:string. Required. URL to request, including thehttporhttpsscheme. For example,https://api.example.com/healthz. An HTTPS URL also reports the number of seconds until its server certificate expires. -
endpoints[].methodType:string. Optional. Default:GET. HTTP method for the request. -
endpoints[].headersType:object. Optional. Additional request headers as name-value pairs. Set theHostheader to request a virtual host by its network address. -
endpoints[].proxy_urlType:string. Optional. Proxy URL for this endpoint, for examplehttp://proxy.example.com:8080. When unset, the Collector uses theHTTP_PROXY,HTTPS_PROXY, andNO_PROXYenvironment variables. -
collection_intervalType:duration. Optional. Default:15s. How often the Collector requests each URL. Every collection performs an HTTP request against the target. -
timeoutType:duration. Optional. Default:10s. Maximum time the Collector waits for each HTTP request to complete. -
tlsType:object. Optional. TLS settings for all statically configured HTTPS endpoints. Certificate verification is enabled unlessinsecure_skip_verifyistrue. Targets found from annotations use the annotation’s TLS settings. -
tls.ca_fileType:string. Optional. Path to the CA cert. For a client this verifies the server certificate. For a server this verifies client certificates. If empty uses system root CA. (optional) -
tls.ca_pemType:string. Optional. In memory PEM encoded cert. (optional) -
tls.cert_fileType:string. Optional. Path to the TLS cert to use for TLS required connections. (optional) -
tls.cert_pemType:string. Optional. In memory PEM encoded TLS cert to use for TLS required connections. (optional) -
tls.cipher_suitesType:array of string. Optional. CipherSuites is a list of TLS cipher suites that the TLS transport can use. If left blank, a safe default list is used. See https://go.dev/src/crypto/tls/cipher_suites.go for a list of supported cipher suites. -
tls.curve_preferencesType:array of string. Optional. contains the elliptic curves that will be used in an ECDHE handshake, in preference order Defaults to empty list and “crypto/tls” defaults are used, internally. -
tls.include_system_ca_certs_poolType:boolean. Optional. If true, load system CA certificates pool in addition to the certificates configured in this struct. -
tls.insecureType:boolean. Optional. In gRPC and HTTP when set to true, this is used to disable the client transport security. See https://godoc.org/google.golang.org/grpc#WithInsecure for gRPC. Please refer to https://godoc.org/crypto/tls#Config for more information. (optional, default false) -
tls.insecure_skip_verifyType:boolean. Optional. InsecureSkipVerify will enable TLS but not verify the certificate. -
tls.key_fileType:string. Optional. Path to the TLS key to use for TLS required connections. (optional) -
tls.key_pemType:string. Optional. In memory PEM encoded TLS key to use for TLS required connections. (optional) -
tls.max_versionType:string. Optional. MaxVersion sets the maximum TLS version that is acceptable. If not set, refer to crypto/tls for defaults. (optional) -
tls.min_versionType:string. Optional. MinVersion sets the minimum TLS version that is acceptable. If not set, TLS 1.2 will be used. (optional) -
tls.reload_intervalType:duration. Optional. ReloadInterval specifies the duration after which the certificate will be reloaded If not set, it will never be reloaded (optional) -
tls.server_name_overrideType:string. Optional. ServerName requested by client for virtual hosting. This sets the ServerName in the TLSConfig. Please refer to https://godoc.org/crypto/tls#Config for more information. (optional) -
tls.tpmType:object. Optional. Trusted platform module configuration -
tls.tpm.authType:string. Optional. Authorization value for the trusted platform module key. -
tls.tpm.enabledType:boolean. Optional. Whether to use a trusted platform module for the TLS private key. If true, the Collector loads the key from the configured device or socket. If false, the Collector uses the configured key file or in-memory key. -
tls.tpm.owner_authType:string. Optional. Owner authorization value for the trusted platform module. -
tls.tpm.pathType:string. Optional. The path to the TPM device or Unix domain socket. For instance /dev/tpm0 or /dev/tpmrm0.

