Health Check

Health Check Extension Extension

The Health Check Extension enables an HTTP URL that can be probed to check the status of the BindPlane Agent.

Configuration Table

ParameterTypeDefaultDescription
listen_addressstring0.0.0.0Hostname or IP address where the agent will publish the health check status.
listen_portint13133HTTP port on which to publish the health check status.
pathstring/the path to be configured for the health check server
healthy_response_bodystringA static body that overrides the default response returned by health check service when the agent is healthy.
unhealthy_response_bodystringA static body that overrides the default response returned by the health check service when the agent is unhealthy.
enable_tlsboolfalseWhether or not to use TLS.
cert_filestringA TLS certificate used for authentication.
key_filePrivate Key FileA TLS private key used for authentication.
mutual_tlsboolfalseWhether or not to use mutual TLS authentication
client_ca_filestringCertificate authority used to validate the client TLS certificates.

note

While the check_collector_pipeline configuration exists for the OpenTelemetry Health Check Extension, it's configuration is not exposed because its not working as expected. The BindPlane Health Check extension will be updated once a new extension is available as a replacement. More details can be found on the OpenTelemetry Collector Contrib issue.

Example Configuration

Basic Configuration

For a basic configuration, we need to specify the listen_address, listen_port, and path parameters.

Web Interface

observIQ docs - pprof Extension - image 1

Standalone Extension

yaml
1apiVersion: bindplane.observiq.com/v1
2kind: Extension
3metadata:
4  name: health_check
5spec:
6  type: health_check
7  parameters:
8    - name: listen_address
9      value: '0.0.0.0'
10    - name: listen_port
11      value: 13133
12    - name: path
13      value: /

Configuration with Embedded Extension

yaml
1apiVersion: bindplane.observiq.com/v1
2kind: Configuration
3metadata:
4  id: example_configuration
5  name: example_configuration
6  labels:
7    platform: linux
8spec:
9  contentType: ''
10  measurementInterval: ''
11  extensions:
12    - id: 01HKZCF76TEYBEGHY0DZR040EQ
13      type: health_check
14      parameters:
15        - name: listen_address
16          value: 0.0.0.0
17        - name: listen_port
18          value: 13133
19        - name: path
20          value: /
21        - name: healthy_response_body
22          value: ''
23        - name: unhealthy_response_body
24          value: ''
25        - name: enable_tls
26          value: false
27        - name: cert_file
28          value: ''
29        - name: key_file
30          value: ''
31        - name: mutual_tls
32          value: false
33        - name: client_ca_file
34          value: ''
35  selector:
36    matchLabels:
37      configuration: example_configuration