Skip to content

Commit

Permalink
Add documentation for Datadog scaler (kedacore#602)
Browse files Browse the repository at this point in the history
Signed-off-by: Ara Pulido <[email protected]>
Signed-off-by: Daniel Yavorovych <[email protected]>
  • Loading branch information
arapulido authored and daniel-yavorovich committed Jan 18, 2022
1 parent e12e18a commit a3dbee2
Showing 1 changed file with 97 additions and 0 deletions.
97 changes: 97 additions & 0 deletions content/docs/2.6/scalers/datadog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
+++
title = "Datadog"
layout = "scaler"
availability = "v2.6+"
maintainer = "Datadog"
description = "Scale applications based on Datadog."
go_file = "datadog_scaler"
+++

### Trigger Specification

This specification describes the `datadog` trigger that scales based on a Datadog metric.

```yaml
triggers:
- type: datadog
metadata:
query: "sum:trace.redis.command.hits{env:none,service:redis}.as_count()"
queryValue: "7"
type: "global"
age: "60"
```
**Parameter list:**
- `query` - The Datadog query to run.
- `queryValue` - Value to reach to start scaling.
- `type` - Whether to start scaling based on the value or the average between pods. (Values: `average`, `global`, Default:`average`, Optional)
- `age`: The time window (in seconds) to retrieve metrics from Datadog. (Default: `90`, Optional)

### Authentication

Datadog requires both an API key and an APP key to retrieve metrics from your account.

You should use `TriggerAuthentication` CRD to configure the authentication:

**Parameter list:**
- `apiKey` - Datadog API key.
- `appKey` - Datadog APP key.
- `datadogSite` - Datadog site where to get the metrics from. This is commonly referred as DD_SITE in Datadog documentation. (Default: `datadoghq.com`, Optional)

### Example

```yaml
apiVersion: v1
kind: Secret
metadata:
name: datadog-secrets
namespace: my-project
type: Opaque
data:
apiKey: # Required: base64 encoded value of Datadog apiKey
appKey: # Required: base64 encoded value of Datadog appKey
datadogSite: # Optional: base64 encoded value of Datadog site
---
apiVersion: keda.sh/v1alpha1
kind: TriggerAuthentication
metadata:
name: keda-trigger-auth-datadog-secret
namespace: my-project
spec:
secretTargetRef:
# Required: API key for your Datadog account
- parameter: apiKey
name: datadog-secrets
key: apiKey
# Required: APP key for your Datadog account
- parameter: appKey
name: datadog-secrets
key: appKey
# Optional: Datadog site. Default: "datadoghq.com"
- parameter: datadogSite
name: datadog-secrets
key: datadogSite
---
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
name: datadog-scaledobject
namespace: my-project
spec:
scaleTargetRef:
name: worker
triggers:
- type: datadog
metadata:
# Required: datadog metric query
query: "sum:trace.redis.command.hits{env:none,service:redis}.as_count()"
# Required: according to the number of query result, to scale the TargetRef
queryValue: "7"
# Optional: (Global or Average). Whether the target value is global or average per pod. Default: Average
type: "Global"
# Optional: The time window (in seconds) to retrieve metrics from Datadog. Default: 90
age: "60"
authenticationRef:
name: keda-trigger-auth-datadog-secret
```

0 comments on commit a3dbee2

Please sign in to comment.