Metrics configuration
All components of kdb Insights Enterprise charts are able to generate metrics, these metrics may be consumed by a Prometheus installation.
Within kdb Insights Enterprise a side car is used to gather metrics, and a ServiceMonitor CRD is used to update Prometheus to scrape the metrics from a known endpoint.
Default metrics can be configured from the global level.
global:
metrics:
enabled: true
useAnnotations: false
serviceMonitor:
enabled: true
interval: 30s
path: "/metrics"
additionalLabels:
release: kx-prom
enabled
| Variable | Type | Example | Default |
|---|---|---|---|
enabled |
bool |
true |
false |
Enables metrics across all sub charts. Will initiate the generation of configuration files and additional containers within your deployment.
useAnnotations
| variable | type | example | default |
|---|---|---|---|
useAnnotations |
bool |
true |
false |
Where Metrics has been enabled, and ServiceMonitor disabled, annotations may be applied to all Pods deployed within kdb Insights Enterprise. This will allow Metrics scraping without the use of a ServiceMonitor resource.
Note
Deployment will fail if both serviceMonitor.enabled and useAnnotations has been set to true.
serviceMonitor
| Variable | Type | Example | Default |
|---|---|---|---|
serviceMonitor |
object |
{} |
{} |
ServiceMonitor is a Prometheus CRD, it is used to update the Prometheus scrape targets. Several fields can be configured at a global level within the ServiceMonitor.
serviceMonitor.enabled
| Variable | Type | Example | Default |
|---|---|---|---|
enabled |
bool |
true |
false |
Enabling the ServiceMonitor will create a template for the ServiceMonitor with each of the sub chart deployments. By default it will detail a target port based on your local chart configuration.
Note
Enabling the ServiceMonitor without the existence of a Prometheus install will cause your deployment to fail. Prometheus must be pre-installed to create the required CRD.
serviceMonitor.interval
| Variable | Type | Example | Default |
|---|---|---|---|
interval |
string |
10s |
30s |
This field defines the frequency at which the Prometheus Operator will attempt to scrape metrics from your REST endpoint. Multiple interval types are supported beyond the seconds (s) example. Full details here of the available patterns under duration.
serviceMonitor.path
| Variable | Type | Example | Default |
|---|---|---|---|
path |
string |
"/metrics" |
"/metrics" |
This defines the target endpoint for the Prometheus Operator.
serviceMonitor.additionalLabels
| Variable | Type | Example | Default |
|---|---|---|---|
additionalLabels |
object |
{ release: kx-prom } |
{ } |
additionalLabels allows labels to added to the ServiceMonitor. These labels are used to link the ServiceMonitor with the pre-installed Prometheus Operator. The object expects key value pairs.
Where global and local entries exist within the additionalLabels object, they are merged before being applied to the ServiceMonitor.