Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions packages/kubernetes/_dev/build/docs/events.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
This is the `event` dataset of the Kubernetes package. It collects Kubernetes events
related metrics.

If Leader Election is activated (default behaviour) only the `elastic agent` which holds the leadership lock
will retrieve events related metrics.
This is relevant in multi-node kubernetes cluster and prevents duplicate data.

{{event "event"}}

{{fields "event"}}
6 changes: 5 additions & 1 deletion packages/kubernetes/_dev/build/docs/kube-apiserver.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,12 @@ This metricset needs access to the `apiserver` component of Kubernetes, accessib
by any POD via the `kubernetes.default` service or via environment
variables (`KUBERNETES_SERVICE_HOST` and `KUBERNETES_SERVICE_PORT`).

If Leader Election is activated (default behaviour) only the `elastic agent` which holds the leadership lock
will retrieve metrics from the `apiserver`.
This is relevant in multi-node kubernetes cluster and prevents duplicate data.

When the API uses https, the pod will need to authenticate using its default token and trust
the server using the appropiate CA file.
the server using the appropriate CA file.

Configuration example using https and token based authentication:

Expand Down
4 changes: 4 additions & 0 deletions packages/kubernetes/_dev/build/docs/kube-state-metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

## Metrics

If Leader Election is activated (default behaviour) only the `elastic agent` which holds the leadership lock
will retrieve metrics from the `kube_state_metrics`.
This is relevant in multi-node kubernetes cluster and prevents duplicate data.

### state_container

This is the `state_container` dataset of the Kubernetes package. It collects container related
Expand Down
5 changes: 5 additions & 0 deletions packages/kubernetes/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# newer versions go on top
- version: "0.8.0"
changes:
- description: Leverage leader election in kubernetes integration
type: enhancement
link: https://github.com/elastic/integrations/pull/1321
- version: "0.7.0"
changes:
- description: Add _meta information to Kubernetes fields
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ hosts:
{{/each}}
period: {{period}}

{{#if leaderelection}}
condition: ${kubernetes_leaderelection.leader} == true
{{/if}}

{{#if bearer_token_file}}
bearer_token_file: {{bearer_token_file}}
ssl.certificate_authorities:
Expand Down
7 changes: 7 additions & 0 deletions packages/kubernetes/data_stream/apiserver/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,13 @@ streams:
show_user: true
default:
- https://${env.KUBERNETES_SERVICE_HOST}:${env.KUBERNETES_SERVICE_PORT}
- name: leaderelection
type: bool
title: Leader Election
multi: false
required: true
show_user: true
default: true
- name: period
type: text
title: Period
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
metricsets: ["event"]
period: {{period}}
add_metadata: {{add_metadata}}
{{#if leaderelection}}
condition: ${kubernetes_leaderelection.leader} == true
{{/if}}
7 changes: 7 additions & 0 deletions packages/kubernetes/data_stream/event/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,12 @@ streams:
required: true
show_user: true
default: true
- name: leaderelection
type: bool
title: Leader Election
multi: false
required: true
show_user: true
default: true
title: Kubernetes Event metrics
description: Collect Kubernetes Event metrics
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ hosts:
- {{this}}
{{/each}}
period: {{period}}
{{#if leaderelection}}
condition: ${kubernetes_leaderelection.leader} == true
{{/if}}
7 changes: 7 additions & 0 deletions packages/kubernetes/data_stream/state_container/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ streams:
show_user: true
default:
- kube-state-metrics:8080
- name: leaderelection
type: bool
title: Leader Election
multi: false
required: true
show_user: true
default: true
- name: period
type: text
title: Period
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,7 @@ hosts:
- {{this}}
{{/each}}
period: {{period}}
{{#if leaderelection}}
condition: ${kubernetes_leaderelection.leader} == true
{{/if}}

7 changes: 7 additions & 0 deletions packages/kubernetes/data_stream/state_cronjob/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ streams:
show_user: true
default:
- kube-state-metrics:8080
- name: leaderelection
type: bool
title: Leader Election
multi: false
required: true
show_user: true
default: true
- name: period
type: text
title: Period
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ hosts:
- {{this}}
{{/each}}
period: {{period}}
{{#if leaderelection}}
condition: ${kubernetes_leaderelection.leader} == true
{{/if}}
7 changes: 7 additions & 0 deletions packages/kubernetes/data_stream/state_daemonset/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ streams:
show_user: true
default:
- kube-state-metrics:8080
- name: leaderelection
type: bool
title: Leader Election
multi: false
required: true
show_user: true
default: true
- name: period
type: text
title: Period
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ hosts:
- {{this}}
{{/each}}
period: {{period}}
{{#if leaderelection}}
condition: ${kubernetes_leaderelection.leader} == true
{{/if}}
7 changes: 7 additions & 0 deletions packages/kubernetes/data_stream/state_deployment/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ streams:
show_user: true
default:
- kube-state-metrics:8080
- name: leaderelection
type: bool
title: Leader Election
multi: false
required: true
show_user: true
default: true
- name: period
type: text
title: Period
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ hosts:
- {{this}}
{{/each}}
period: {{period}}
{{#if leaderelection}}
condition: ${kubernetes_leaderelection.leader} == true
{{/if}}
7 changes: 7 additions & 0 deletions packages/kubernetes/data_stream/state_node/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ streams:
show_user: true
default:
- kube-state-metrics:8080
- name: leaderelection
type: bool
title: Leader Election
multi: false
required: true
show_user: true
default: true
- name: period
type: text
title: Period
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,7 @@ hosts:
- {{this}}
{{/each}}
period: {{period}}
{{#if leaderelection}}
condition: ${kubernetes_leaderelection.leader} == true
{{/if}}

Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ streams:
show_user: true
default:
- kube-state-metrics:8080
- name: leaderelection
type: bool
title: Leader Election
multi: false
required: true
show_user: true
default: true
- name: period
type: text
title: Period
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ hosts:
- {{this}}
{{/each}}
period: {{period}}
{{#if leaderelection}}
condition: ${kubernetes_leaderelection.leader} == true
{{/if}}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ streams:
show_user: true
default:
- kube-state-metrics:8080
- name: leaderelection
type: bool
title: Leader Election
multi: false
required: true
show_user: true
default: true
- name: period
type: text
title: Period
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ hosts:
- {{this}}
{{/each}}
period: {{period}}
{{#if leaderelection}}
condition: ${kubernetes_leaderelection.leader} == true
{{/if}}
7 changes: 7 additions & 0 deletions packages/kubernetes/data_stream/state_pod/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ streams:
show_user: true
default:
- kube-state-metrics:8080
- name: leaderelection
type: bool
title: Leader Election
multi: false
required: true
show_user: true
default: true
- name: period
type: text
title: Period
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ hosts:
- {{this}}
{{/each}}
period: {{period}}
{{#if leaderelection}}
condition: ${kubernetes_leaderelection.leader} == true
{{/if}}
7 changes: 7 additions & 0 deletions packages/kubernetes/data_stream/state_replicaset/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ streams:
show_user: true
default:
- kube-state-metrics:8080
- name: leaderelection
type: bool
title: Leader Election
multi: false
required: true
show_user: true
default: true
- name: period
type: text
title: Period
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ hosts:
- {{this}}
{{/each}}
period: {{period}}
{{#if leaderelection}}
condition: ${kubernetes_leaderelection.leader} == true
{{/if}}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ streams:
show_user: true
default:
- kube-state-metrics:8080
- name: leaderelection
type: bool
title: Leader Election
multi: false
required: true
show_user: true
default: true
- name: period
type: text
title: Period
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ hosts:
- {{this}}
{{/each}}
period: {{period}}
{{#if leaderelection}}
condition: ${kubernetes_leaderelection.leader} == true
{{/if}}
7 changes: 7 additions & 0 deletions packages/kubernetes/data_stream/state_service/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ streams:
show_user: true
default:
- kube-state-metrics:8080
- name: leaderelection
type: bool
title: Leader Election
multi: false
required: true
show_user: true
default: true
- name: period
type: text
title: Period
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ hosts:
- {{this}}
{{/each}}
period: {{period}}
{{#if leaderelection}}
condition: ${kubernetes_leaderelection.leader} == true
{{/if}}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ streams:
show_user: true
default:
- kube-state-metrics:8080
- name: leaderelection
type: bool
title: Leader Election
multi: false
required: true
show_user: true
default: true
- name: period
type: text
title: Period
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ hosts:
- {{this}}
{{/each}}
period: {{period}}
{{#if leaderelection}}
condition: ${kubernetes_leaderelection.leader} == true
{{/if}}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ streams:
show_user: true
default:
- kube-state-metrics:8080
- name: leaderelection
type: bool
title: Leader Election
multi: false
required: true
show_user: true
default: true
- name: period
type: text
title: Period
Expand Down
4 changes: 4 additions & 0 deletions packages/kubernetes/docs/events.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
This is the `event` dataset of the Kubernetes package. It collects Kubernetes events
related metrics.

If Leader Election is activated (default behaviour) only the `elastic agent` which holds the leadership lock
will retrieve events related metrics.
This is relevant in multi-node kubernetes cluster and prevents duplicate data.

An example event for `event` looks as following:

```json
Expand Down
6 changes: 5 additions & 1 deletion packages/kubernetes/docs/kube-apiserver.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,12 @@ This metricset needs access to the `apiserver` component of Kubernetes, accessib
by any POD via the `kubernetes.default` service or via environment
variables (`KUBERNETES_SERVICE_HOST` and `KUBERNETES_SERVICE_PORT`).

If Leader Election is activated (default behaviour) only the `elastic agent` which holds the leadership lock
will retrieve metrics from the `apiserver`.
This is relevant in multi-node kubernetes cluster and prevents duplicate data.

When the API uses https, the pod will need to authenticate using its default token and trust
the server using the appropiate CA file.
the server using the appropriate CA file.

Configuration example using https and token based authentication:

Expand Down
Loading