Solarwinds Latest

Scale applications based on metrics from Solarwinds.

Availability: v2.18+ Maintainer: Community

Suggest a change

Trigger Specification

This specification describes the solarwinds trigger that scales based on metrics from Solarwinds.

triggers:
- type: solarwinds
  metadata:
    host: https://api.na-01.cloud.solarwinds.com
    targetValue: "1"
    activationValue: "3"
    metricName: "k8s.pod.cpu.usage.seconds.rate"
    aggregation: "AVG"
    intervalS: "60"
    filter: "k8s.deployment.name:my-deployment"

Parameter list:

  • host - The Solarwinds API endpoint. (Example: https://api.na-01.cloud.solarwinds.com)
  • targetValue - Value to reach to start scaling. (This value can be an integer or float)
  • activationValue - Target value for activating the scaler. (Optional, Learn more about activation here)
  • metricName - The name of the metric to monitor.
  • aggregation - The aggregation method to use. (Values: COUNT, MIN, MAX, AVG, SUM, LAST)
  • intervalS - The interval in seconds for the metric collection.
  • filter - The filter to apply to the metric data. (Optional, Examples below)
    • key1:value1 key2:value2 - Search using key values pairs with a delimiting space for an implicit AND
    • key:[value1,value2] - Search using IN operator (key equals value1 or value2)
    • key:~value - Search using CONTAINS operator
    • key>value1 key<value2 - Use comparative operators for number based keys such as (“=”, “>”, “<“, “<=”, “>=”) (key between value1 and value2)
    • NOT key:"" - Search using NOT operator and EMPTY value (key is not empty)
    • entities(attribute:value) - search using attributes of entities related to the metric data (metric values associated with entity having attribute equals value)

Authentication Parameters

You can use TriggerAuthentication CRD to configure the authentication by providing the necessary credentials.

Credential based authentication:

  • apiToken - The API token for accessing Solarwinds Observability. See doc for more information.

Example

Here is an example of a Solarwinds Scaler with authentication:

apiVersion: v1
kind: Secret
metadata:
  name: solarwinds-secret
  namespace: default
data:
  apiToken: <base64-encoded-api-token>
---
apiVersion: keda.sh/v1alpha1
kind: TriggerAuthentication
metadata:
  name: solarwinds-auth
  namespace: default
spec:
  secretTargetRef:
    - parameter: apiToken
      name: solarwinds-secret
      key: apiToken
---
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: solarwinds-scaledobject
  namespace: default
spec:
  scaleTargetRef:
    name: nginx
  pollingInterval: 15
  minReplicaCount: 1
  maxReplicaCount: 2
  triggers:
  - type: solarwinds
    authenticationRef:
      name: solarwinds-auth
    metadata:
      host: https://api.na-01.cloud.solarwinds.com
      targetValue: "3"
      activationValue: "3"
      metricName: "k8s.pod.cpu.usage.seconds.rate"
      aggregation: "AVG"
      intervalS: "60"
      filter: "k8s.deployment.name:my-deployment"