You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: keda/README.md
+94-12Lines changed: 94 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -2,27 +2,107 @@
2
2
3
3
## Overview
4
4
5
-
This check monitors [Keda][1] through the Datadog Agent.
6
-
7
-
Include a high level overview of what this integration does:
8
-
- What does your product do (in 1-2 sentences)?
9
-
- What value will customers get from this integration, and why is it valuable to them?
10
-
- What specific data will your integration monitor, and what's the value of that data?
5
+
This check monitors [Keda][1] through the Datadog Agent. For more information, see [Keda monitoring][10].
11
6
12
7
## Setup
13
8
14
9
Follow the instructions below to install and configure this check for an Agent running on a host. For containerized environments, see the [Autodiscovery Integration Templates][3] for guidance on applying these instructions.
15
10
16
11
### Installation
17
12
18
-
The Keda check is included in the [Datadog Agent][2] package.
19
-
No additional installation is needed on your server.
13
+
Starting from Agent release 7.62.0, the Keda check is included in the [Datadog Agent][2] package. No additional installation is needed in your environment.
20
14
21
15
### Configuration
22
16
23
-
1. Edit the `keda.d/conf.yaml` file, in the `conf.d/` folder at the root of your Agent's configuration directory to start collecting your keda performance data. See the [sample keda.d/conf.yaml][4] for all available configuration options.
24
-
25
-
2.[Restart the Agent][5].
17
+
Keda consists of multiple components, including the Admissions Controller, Metrics API Server, and the Operator. Each of these components can be scraped for metrics. Prometheus-formatted metrics are available at /metrics on port 8080 for each component.
18
+
19
+
To expose these metrics, ensure that Prometheus scraping is enabled for each component. For example, in Helm, you need to enable the following Helm configuration options:
20
+
- prometheus.metricServer.enabled
21
+
- prometheus.operator.enabled
22
+
- prometheus.webhooks.enabled
23
+
24
+
Alternatively, you can achieve this by providing the following configuration in a values.yaml file used during the Helm installation of Keda:
25
+
26
+
```yaml
27
+
prometheus:
28
+
metricServer:
29
+
enabled: true
30
+
operator:
31
+
enabled: true
32
+
webhooks:
33
+
enabled: true
34
+
```
35
+
36
+
For the Agent to start collecting metrics, the Keda controller pods need to be annotated. For more information about annotations, refer to the [Autodiscovery Integration Templates][3] for guidance. You can find additional configuration options by reviewing the [sample keda.d/conf.yaml][4].
37
+
38
+
**Note**: The listed metrics can only be collected if they are available. Some metrics are generated only when certain actions are performed. For example, the `keda.scaler.detail_errors.count` metric is exposed only after a scaler encountered an error.
39
+
40
+
The only parameter required for configuring the Keda check is:
41
+
- `openmetrics_endpoint`: This parameter should be set to the location where the Prometheus-formatted metrics are exposed. The default port is `8080`. In containerized environments, `%%host%%` should be used for [host autodetection][3].
42
+
43
+
```yaml
44
+
apiVersion: v1
45
+
kind: Pod
46
+
# (...)
47
+
metadata:
48
+
name: '<POD_NAME>'
49
+
annotations:
50
+
ad.datadoghq.com/<CONTAINER_NAME>.checks: | # <CONTAINER_NAME> Needs to match the container name at the bottom. 'keda-operator-metrics-apiserver' in this example.
- name: <CONTAINER_NAME> # e.g. 'keda-operator-metrics-apiserver' in the Metrics API Server
65
+
# (...)
66
+
```
67
+
68
+
To collect metrics from each Keda component, the above pod annotations need to be applied to each Keda component pod. Example pod annotations for the Operator pod:
Kyverno logs can be collected from the different Keda pods through Kubernetes. Collecting logs is disabled by default in the Datadog Agent. To enable it, see [Kubernetes Log Collection][10].
100
+
101
+
See the [Autodiscovery Integration Templates][3] for guidance on applying the parameters below.
0 commit comments