Scale applications based on InfluxDB queries
This specification describes the
influxdb trigger that scales based on the results of a InfluxDB query.
triggers: - type: influxdb metadata: serverURL: http://influxdb:8086 organizationName: influx-org organizationNameFromEnv: INFLUXDB_ORG_NAME # Optional: You can use this instead of `organizationName` parameter. See details in "Parameter List" section thresholdValue: '4.4' activationThresholdValue: '6.2' query: | from(bucket: "bucket-of-interest") |> range(start: -12h) |> filter(fn: (r) => r._measurement == "stat") authToken: some-auth-token authTokenFromEnv: INFLUXDB_AUTH_TOKEN # Optional: You can use this instead of `authToken` parameter. See details in "Parameter List" section metricName: influx-metric # DEPRECATED: This parameter is deprecated as of KEDA v2.10 and will be removed in version `2.12`. Optional: This value will default to organization name if not set by the user (metrics name value would be then `influxdb-influx_org`)
authToken- Authentication token needed for the InfluxDB client to communicate with an associated server.
authTokenFromEnv- Defines the authorization token, similar to
authToken, but reads it from an environment variable on the scale target.
organizationName- Organization name needed for the client to locate all information contained in that organization such as buckets, tasks, etc.
organizationNameFromEnv- Defines the organization name, similar to
organizationName, but reads it from an environment variable on the scale target.
serverURL- Holds the url value of the InfluxDB server.
thresholdValue- Provided by the user. This value can vary from use case to use case depending on the data of interest, and is needed to trigger the scaling in/out depending on what value comes back from the query. (This value can be a float)
activationThresholdValue- Target value for activating the scaler. Learn more about activation here.(Default:
0, Optional, This value can be a float)
query- Flux query that will yield the value for the scaler to compare the
metricName- Name to assign to the metric. If not set KEDA will generate a name based organization name. If using more than one trigger it is required that all
metricName(s) be unique. (DEPRECATED: This parameter is deprecated as of KEDA v2.10 and will be removed in version
unsafeSsl- Skip certificate validation when connecting over HTTPS. (Values:
You can authenticate by using an authorization token.
Authorization Token Authentication:
authToken- Authorization token for InfluxDB server.
Below is an example of how to deploy a scaled object with the
InfluxDB scale trigger.
apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: influxdb-scaledobject namespace: my-project spec: scaleTargetRef: name: nginx-worker triggers: - type: influxdb metadata: serverURL: http://influxdb:8086 organizationNameFromEnv: INFLUXDB_ORG_NAME thresholdValue: '4' activationThresholdValue: '6' query: | from(bucket: "bucket-of-interest") |> range(start: -12h) |> filter(fn: (r) => r._measurement == "stat") authTokenFromEnv: INFLUXDB_AUTH_TOKEN