Warning
You are currently viewing v2.11 of the documentation and it is not the latest. For the most recent documentation, kindly click here.
This specification describes the graphite trigger that scales based on metrics in Graphite.
triggers: - type: graphite metadata: # Required serverAddress: http://<graphite-host>:81 metricName: request-count # Note: name to identify the metric, DEPRECATED: This parameter is deprecated as of KEDA v2.10 and will be removed in version 2.12 query: stats.counters.http.hello-world.request.count.count # Note: query must return a vector/scalar single element response threshold: '10.5' activationThreshold: '5' queryTime: '-10Minutes' # Note: Query time in from argv Seconds/Minutes/Hours Parameter list:
serverAddress - Address of GraphitemetricName - Name to identify the Metric in the external.metrics.k8s.io API. 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 2.12)query - Query to run.threshold - Target value to trigger scaling actions. (Default: 100, Optional, This value can be a float)activationThreshold - Target value for activating the scaler. Learn more about activation here.(Default: 0, Optional, This value can be a float)queryTime - Relative time range to execute query against. Please see the graphite API docs for more information.Graphite Scaler supports one type of authentication - basic authentication
Basic authentication:
authMode: It must contain basic in case of Basic Authentication. Specify this in trigger configuration.username - This is a required field. Provide the username to be used for basic authentication.password - Provide the password to be used for authentication. For convenience, this has been marked optional, because many applications implement basic auth with a username as apikey and password as empty.apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: graphite-scaledobject namespace: default spec: scaleTargetRef: name: my-deployment triggers: - type: graphite metadata: serverAddress: http://<graphite-host>:81 metricName: LagMetric # DEPRECATED: This parameter is deprecated as of KEDA v2.10 and will be removed in version 2.12 threshold: '100' query: maxSeries(keepLastValue(reportd.*.gauge.detect.latest_max_time.value, 1)) queryTime: '-1Minutes' Here is an example of a Graphite Scaler with Basic Authentication, define the Secret and TriggerAuthentication as follows
apiVersion: v1 kind: Secret metadata: name: keda-graphite-secret namespace: default data: username: "dXNlcm5hbWUK" # Must be base64 password: "cGFzc3dvcmQK" --- apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: keda-graphite-creds namespace: default spec: secretTargetRef: - parameter: username name: keda-graphite-secret key: username - parameter: password name: keda-graphite-secret key: password --- apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: graphite-scaledobject namespace: default labels: deploymentName: php-apache-graphite spec: cooldownPeriod: 10 maxReplicaCount: 5 minReplicaCount: 0 pollingInterval: 5 scaleTargetRef: name: php-apache-graphite triggers: - type: graphite metadata: authMode: "basic" metricName: https_metric # DEPRECATED: This parameter is deprecated as of KEDA v2.10 and will be removed in version 2.12 query: https_metric queryTime: -1Hours serverAddress: http://<graphite server>:81 threshold: "100" authenticationRef: name: keda-graphite-creds