diff --git a/keda/README.md b/keda/README.md index 0577faf7a08d8..9c6cdd000cba6 100644 --- a/keda/README.md +++ b/keda/README.md @@ -2,12 +2,7 @@ ## Overview -This check monitors [Keda][1] through the Datadog Agent. - -Include a high level overview of what this integration does: -- What does your product do (in 1-2 sentences)? -- What value will customers get from this integration, and why is it valuable to them? -- What specific data will your integration monitor, and what's the value of that data? +This check monitors [Keda][1] through the Datadog Agent. For more information, see [Keda monitoring][10]. ## Setup @@ -15,14 +10,99 @@ Follow the instructions below to install and configure this check for an Agent r ### Installation -The Keda check is included in the [Datadog Agent][2] package. -No additional installation is needed on your server. +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. ### Configuration -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. - -2. [Restart the Agent][5]. +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. + +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: +- prometheus.metricServer.enabled +- prometheus.operator.enabled +- prometheus.webhooks.enabled + +Alternatively, you can achieve this by providing the following configuration in a values.yaml file used during the Helm installation of Keda: + +```yaml +prometheus: + metricServer: + enabled: true + operator: + enabled: true + webhooks: + enabled: true +``` + +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]. + +**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. + +The only parameter required for configuring the Keda check is: +- `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]. + +```yaml +apiVersion: v1 +kind: Pod +# (...) +metadata: + name: '' + annotations: + ad.datadoghq.com/.checks: | # Needs to match the container name at the bottom. 'keda-operator-metrics-apiserver' in this example. + { + "keda": { + "init_config": {}, + "instances": [ + { + "openmetrics_endpoint": "http://%%host%%:8080/metrics" + } + ] + } + } + # (...) +spec: + containers: + - name: # e.g. 'keda-operator-metrics-apiserver' in the Metrics API Server +# (...) +``` + +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: + +```yaml +# Pod manifest from a basic Helm chart deployment +apiVersion: v1 +kind: Pod +# (...) +metadata: + name: 'keda-operator' + annotations: + ad.datadoghq.com/.checks: | + { + "keda": { + "init_config": {}, + "instances": [ + { + "openmetrics_endpoint": "http://%%host%%:8000/metrics" + } + ] + } + } + # (...) +spec: + containers: + - name: keda-operator +# (...) +``` +#### Log collection + +_Available for Agent versions >6.0_ + +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]. + +See the [Autodiscovery Integration Templates][3] for guidance on applying the parameters below. + +| Parameter | Value | +| -------------- | ------------------------------------------------------- | +| `` | `{"source": "keda", "service": ""}` | ### Validation @@ -49,7 +129,7 @@ See [service_checks.json][8] for a list of service checks provided by this integ Need help? Contact [Datadog support][9]. -[1]: **LINK_TO_INTEGRATION_SITE** +[1]: https://keda.sh/ [2]: https://app.datadoghq.com/account/settings/agent/latest [3]: https://docs.datadoghq.com/agent/kubernetes/integrations/ [4]: https://github.com/DataDog/integrations-core/blob/master/keda/datadog_checks/keda/data/conf.yaml.example @@ -58,3 +138,5 @@ Need help? Contact [Datadog support][9]. [7]: https://github.com/DataDog/integrations-core/blob/master/keda/metadata.csv [8]: https://github.com/DataDog/integrations-core/blob/master/keda/assets/service_checks.json [9]: https://docs.datadoghq.com/help/ +[10]: https://keda.sh/docs/2.16/integrations/prometheus/ +[11]: https://github.com/kedacore/charts/blob/main/keda/README.md#operations diff --git a/keda/metadata.csv b/keda/metadata.csv index bebba661e3f72..5a7367f0b0ddf 100644 --- a/keda/metadata.csv +++ b/keda/metadata.csv @@ -1,132 +1,134 @@ metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name,curated_metric,sample_tags -keda.aggregator_discovery_aggregation.count,count,,,,,0,keda,,, -keda.apiserver_audit_event.count,count,,,,,0,keda,,, -keda.apiserver_audit_requests_rejected.count,count,,,,,0,keda,,, -keda.apiserver_client_certificate_expiration_seconds.bucket,count,,,,,0,keda,,, -keda.apiserver_client_certificate_expiration_seconds.count,count,,,,,0,keda,,, -keda.apiserver_client_certificate_expiration_seconds.sum,count,,,,,0,keda,,, -keda.apiserver_current_inflight_requests,gauge,,,,,0,keda,,, -keda.apiserver_delegated_authz_request.count,count,,,,,0,keda,,, -keda.apiserver_delegated_authz_request_duration_seconds.bucket,count,,,,,0,keda,,, -keda.apiserver_delegated_authz_request_duration_seconds.count,count,,,,,0,keda,,, -keda.apiserver_delegated_authz_request_duration_seconds.sum,count,,,,,0,keda,,, -keda.apiserver_envelope_encryption_dek_cache_fill_percent,gauge,,,,,0,keda,,, -keda.apiserver_flowcontrol_read_vs_write_current_requests.bucket,count,,,,,0,keda,,, -keda.apiserver_flowcontrol_read_vs_write_current_requests.count,count,,,,,0,keda,,, -keda.apiserver_flowcontrol_read_vs_write_current_requests.sum,count,,,,,0,keda,,, -keda.apiserver_flowcontrol_seat_fair_frac,gauge,,,,,0,keda,,, -keda.apiserver_request.count,count,,,,,0,keda,,, -keda.apiserver_request_duration_seconds.bucket,count,,,,,0,keda,,, -keda.apiserver_request_duration_seconds.count,count,,,,,0,keda,,, -keda.apiserver_request_duration_seconds.sum,count,,,,,0,keda,,, -keda.apiserver_request_filter_duration_seconds.bucket,count,,,,,0,keda,,, -keda.apiserver_request_filter_duration_seconds.count,count,,,,,0,keda,,, -keda.apiserver_request_filter_duration_seconds.sum,count,,,,,0,keda,,, -keda.apiserver_request_sli_duration_seconds.bucket,count,,,,,0,keda,,, -keda.apiserver_request_sli_duration_seconds.count,count,,,,,0,keda,,, -keda.apiserver_request_sli_duration_seconds.sum,count,,,,,0,keda,,, -keda.apiserver_request_slo_duration_seconds.bucket,count,,,,,0,keda,,, -keda.apiserver_request_slo_duration_seconds.count,count,,,,,0,keda,,, -keda.apiserver_request_slo_duration_seconds.sum,count,,,,,0,keda,,, -keda.apiserver_response_sizes.bucket,count,,,,,0,keda,,, -keda.apiserver_response_sizes.count,count,,,,,0,keda,,, -keda.apiserver_response_sizes.sum,count,,,,,0,keda,,, -keda.apiserver_storage_data_key_generation_duration_seconds.bucket,count,,,,,0,keda,,, -keda.apiserver_storage_data_key_generation_duration_seconds.count,count,,,,,0,keda,,, -keda.apiserver_storage_data_key_generation_duration_seconds.sum,count,,,,,0,keda,,, -keda.apiserver_storage_data_key_generation_failures.count,count,,,,,0,keda,,, -keda.apiserver_storage_envelope_transformation_cache_misses.count,count,,,,,0,keda,,, -keda.apiserver_tls_handshake_errors.count,count,,,,,0,keda,,, -keda.apiserver_webhooks_x509_insecure_sha1.count,count,,,,,0,keda,,, -keda.apiserver_webhooks_x509_missing_san.count,count,,,,,0,keda,,, -keda.authenticated_user_requests.count,count,,,,,0,keda,,, -keda.authentication_attempts.count,count,,,,,0,keda,,, -keda.authentication_duration_seconds.bucket,count,,,,,0,keda,,, -keda.authentication_duration_seconds.count,count,,,,,0,keda,,, -keda.authentication_duration_seconds.sum,count,,,,,0,keda,,, -keda.authorization_attempts.count,count,,,,,0,keda,,, -keda.authorization_duration_seconds.bucket,count,,,,,0,keda,,, -keda.authorization_duration_seconds.count,count,,,,,0,keda,,, -keda.authorization_duration_seconds.sum,count,,,,,0,keda,,, -keda.build_info,gauge,,,,,0,keda,,, -keda.cardinality_enforcement_unexpected_categorizations.count,count,,,,,0,keda,,, -keda.certwatcher.read_certificate.count,count,,,,,0,keda,,, -keda.certwatcher.read_certificate_errors.count,count,,,,,0,keda,,, -keda.controller.runtime.active_workers,gauge,,,,,0,keda,,, -keda.controller.runtime.max_concurrent_reconciles,gauge,,,,,0,keda,,, -keda.controller.runtime.reconcile.count,count,,,,,0,keda,,, -keda.controller.runtime.reconcile_errors.count,count,,,,,0,keda,,, -keda.controller.runtime.reconcile_panics.count,count,,,,,0,keda,,, -keda.controller.runtime.reconcile_time.seconds.bucket,count,,,,,0,keda,,, -keda.controller.runtime.reconcile_time.seconds.count,count,,,,,0,keda,,, -keda.controller.runtime.reconcile_time.seconds.sum,count,,,,,0,keda,,, -keda.controller.runtime.terminal_reconcile_errors.count,count,,,,,0,keda,,, -keda.controller.runtime.webhook_panics.count,count,,,,,0,keda,,, -keda.controller.runtime.webhook_requests.count,count,,,,,0,keda,,, -keda.controller.runtime.webhook_requests_in_flight,gauge,,,,,0,keda,,, -keda.disabled_metrics.count,count,,,,,0,keda,,, -keda.field_validation_request_duration_seconds.bucket,count,,,,,0,keda,,, -keda.field_validation_request_duration_seconds.count,count,,,,,0,keda,,, -keda.field_validation_request_duration_seconds.sum,count,,,,,0,keda,,, -keda.go.gc.duration.seconds.count,count,,,,,0,keda,,, -keda.go.gc.duration.seconds.quantile,gauge,,,,,0,keda,,, -keda.go.gc.duration.seconds.sum,count,,,,,0,keda,,, -keda.go.goroutines,gauge,,,,,0,keda,,, -keda.go.info,gauge,,,,,0,keda,,, -keda.go.memstats.alloc_bytes,gauge,,,,,0,keda,,, -keda.go.memstats.alloc_bytes.count,count,,,,,0,keda,,, -keda.go.memstats.buck_hash.sys_bytes,gauge,,,,,0,keda,,, -keda.go.memstats.frees.count,count,,,,,0,keda,,, -keda.go.memstats.gc.sys_bytes,gauge,,,,,0,keda,,, -keda.go.memstats.heap.alloc_bytes,gauge,,,,,0,keda,,, -keda.go.memstats.heap.idle_bytes,gauge,,,,,0,keda,,, -keda.go.memstats.heap.inuse_bytes,gauge,,,,,0,keda,,, -keda.go.memstats.heap.objects,gauge,,,,,0,keda,,, -keda.go.memstats.heap.released_bytes,gauge,,,,,0,keda,,, -keda.go.memstats.heap.sys_bytes,gauge,,,,,0,keda,,, -keda.go.memstats.lookups.count,count,,,,,0,keda,,, -keda.go.memstats.mallocs.count,count,,,,,0,keda,,, -keda.go.memstats.mcache.inuse_bytes,gauge,,,,,0,keda,,, -keda.go.memstats.mcache.sys_bytes,gauge,,,,,0,keda,,, -keda.go.memstats.mspan.inuse_bytes,gauge,,,,,0,keda,,, -keda.go.memstats.mspan.sys_bytes,gauge,,,,,0,keda,,, -keda.go.memstats.next.gc_bytes,gauge,,,,,0,keda,,, -keda.go.memstats.other.sys_bytes,gauge,,,,,0,keda,,, -keda.go.memstats.stack.inuse_bytes,gauge,,,,,0,keda,,, -keda.go.memstats.stack.sys_bytes,gauge,,,,,0,keda,,, -keda.go.memstats.sys_bytes,gauge,,,,,0,keda,,, -keda.go.memstats.time_since_last_gc.seconds,gauge,,,,,0,keda,,, -keda.go.threads,gauge,,,,,0,keda,,, -keda.hidden_metrics.count,count,,,,,0,keda,,, -keda.internal_scale.loop_latency,gauge,,,,,0,keda,,, -keda.internal_scale.loop_latency_seconds,gauge,,,,,0,keda,,, -keda.leader_election.master_status,gauge,,,,,0,keda,,, -keda.process.cpu.seconds.count,count,,,,,0,keda,,, -keda.process.max_fds,gauge,,,,,0,keda,,, -keda.process.open_fds,gauge,,,,,0,keda,,, -keda.process.resident_memory.bytes,gauge,,,,,0,keda,,, -keda.process.uptime.seconds,gauge,,,,,0,keda,,, -keda.process.virtual_memory.bytes,gauge,,,,,0,keda,,, -keda.process.virtual_memory.max_bytes,gauge,,,,,0,keda,,, -keda.registered_metrics.count,count,,,,,0,keda,,, -keda.resource_totals,gauge,,,,,0,keda,,, -keda.rest.client.requests.count,count,,,,,0,keda,,, -keda.scaled_job.errors.count,count,,,,,0,keda,,, -keda.scaler.active,gauge,,,,,0,keda,,, -keda.scaler.detail_errors.count,count,,,,,0,keda,,, -keda.scaler.errors.count,count,,,,,0,keda,,, -keda.scaler.metrics_latency,gauge,,,,,0,keda,,, -keda.scaler.metrics_latency_seconds,gauge,,,,,0,keda,,, -keda.scaler.metrics_value,gauge,,,,,0,keda,,, -keda.trigger_totals,gauge,,,,,0,keda,,, -keda.workqueue.adds.count,count,,,,,0,keda,,, -keda.workqueue.depth,gauge,,,,,0,keda,,, -keda.workqueue.longest.running_processor.seconds,gauge,,,,,0,keda,,, -keda.workqueue.queue.duration.seconds.bucket,count,,,,,0,keda,,, -keda.workqueue.queue.duration.seconds.count,count,,,,,0,keda,,, -keda.workqueue.queue.duration.seconds.sum,count,,,,,0,keda,,, -keda.workqueue.retries.count,count,,,,,0,keda,,, -keda.workqueue.unfinished_work.seconds,gauge,,,,,0,keda,,, -keda.workqueue.work.duration.seconds.bucket,count,,,,,0,keda,,, -keda.workqueue.work.duration.seconds.count,count,,,,,0,keda,,, -keda.workqueue.work.duration.seconds.sum,count,,,,,0,keda,,, +keda.aggregator_discovery_aggregation.count,count,,,,Number of times discovery was aggregated.,0,keda,,, +keda.apiserver_audit_event.count,count,,,,Number of audit events generated and sent to the audit backend.,0,keda,,, +keda.apiserver_audit_requests_rejected.count,count,,request,,Number of API server requests rejected due to an error in audit logging backend.,0,keda,,, +keda.apiserver_client_certificate_expiration_seconds.bucket,count,,,,Number of certificates observed in the apiserver_client_certificate_expiration_seconds histogram tagged by upper_bound tags.,0,keda,,, +keda.apiserver_client_certificate_expiration_seconds.count,count,,,,Number of certificates observed in the apiserver_client_certificate_expiration_seconds histogram.,0,keda,,, +keda.apiserver_client_certificate_expiration_seconds.sum,count,,second,,The sum of duration of certificates remaining expiration time in the apiserver_client_certificate_expiration_seconds histogram.,0,keda,,, +keda.apiserver_current_inflight_requests,gauge,,request,,Maximal number of currently used inflight request limit of this API server per request kind in last second.,0,keda,,, +keda.apiserver_delegated_authz_request.count,count,,request,,Number of HTTP requests partitioned by status code.,0,keda,,, +keda.apiserver_delegated_authz_request_duration_seconds.bucket,count,,,,Number of observations apiserver_delegated_authz_request_duration_seconds histogram. Broken down by status code and upper_bound duration tags.,0,keda,,, +keda.apiserver_delegated_authz_request_duration_seconds.count,count,,,,Number of observations apiserver_delegated_authz_request_duration_seconds histogram. Broken down by status code.,0,keda,,, +keda.apiserver_delegated_authz_request_duration_seconds.sum,count,,second,,The sum of duration of requests in the apiserver_delegated_authz_request_duration_seconds histogram.,0,keda,,, +keda.apiserver_envelope_encryption_dek_cache_fill_percent,gauge,,,,Percent of the cache slots currently occupied by cached DEKs.,0,keda,,, +keda.apiserver_flowcontrol_read_vs_write_current_requests.bucket,count,,request,,The number of requests (as a fraction of the relevant limit) waiting or in execution at the end of each nanosecond. Tagged by upper_bound tags.,0,keda,,, +keda.apiserver_flowcontrol_read_vs_write_current_requests.count,count,,request,,The number of requests (as a fraction of the relevant limit) observed at the end of each nanosecond.,0,keda,,, +keda.apiserver_flowcontrol_read_vs_write_current_requests.sum,count,,,,The sum of all observed request fractions at the end of each nanosecond.,0,keda,,, +keda.apiserver_flowcontrol_seat_fair_frac,gauge,,,,Fair fraction of server's concurrency to allocate to each priority level that can use it.,0,keda,,, +keda.apiserver_request.count,count,,request,,"Number of API server requests broken out for each verb, dry run value, group, version, resource, scope, component, and HTTP response code.",0,keda,,, +keda.apiserver_request_duration_seconds.bucket,count,,request,,The number of requests used to calculate the response time tagged by upper_bound tags.,0,keda,,, +keda.apiserver_request_duration_seconds.count,count,,request,,The number of requests used to calculate the response time.,0,keda,,, +keda.apiserver_request_duration_seconds.sum,count,,second,,"The sum in response time in seconds for each verb, dry run value, group, version, resource, subresource, scope and component.",0,keda,,, +keda.apiserver_request_filter_duration_seconds.bucket,count,,,,The number of observations used to calculate the request filter latency tagged by upper_bound tags.,0,keda,,, +keda.apiserver_request_filter_duration_seconds.count,count,,,,The number of observations used to calculate the request filter latency.,0,keda,,, +keda.apiserver_request_filter_duration_seconds.sum,count,,second,,"Request filter latency distribution in seconds, for each filter type.",0,keda,,, +keda.apiserver_request_sli_duration_seconds.bucket,count,,,,The number of observations used to calculate SLI response time tagged by upper_bound tags.,0,keda,,, +keda.apiserver_request_sli_duration_seconds.count,count,,,,The number of observations used to calculate SLI response time.,0,keda,,, +keda.apiserver_request_sli_duration_seconds.sum,count,,second,,"The sum of the response time (not counting webhook duration and priority & fairness queue wait times) in seconds for each verb, group, version, resource, subresource, scope and component.",0,keda,,, +keda.apiserver_request_slo_duration_seconds.bucket,count,,,,The number of observations used to calculate SLO response time tagged by upper_bound tags.,0,keda,,, +keda.apiserver_request_slo_duration_seconds.count,count,,,,The number of observations used to calculate SLO response time.,0,keda,,, +keda.apiserver_request_slo_duration_seconds.sum,count,,second,,"The sum of the response time (not counting webhook duration and priority & fairness queue wait times) in seconds for each verb, group, version, resource, subresource, scope and component.",0,keda,,, +keda.apiserver_response_sizes.bucket,count,,,,Number of responses used to calculate the response size tagged by upper_bound tags.,0,keda,,, +keda.apiserver_response_sizes.count,count,,,,Number of responses used to calculate the response size.,0,keda,,, +keda.apiserver_response_sizes.sum,count,,byte,,"The sum of sizes of responses in bytes for each group, version, verb, resource, subresource, scope and component.",0,keda,,, +keda.apiserver_storage_data_key_generation_duration_seconds.bucket,count,,,,Number of observations used to calculate data encryption key(DEK) duration tagged by upper_bound tags.,0,keda,,, +keda.apiserver_storage_data_key_generation_duration_seconds.count,count,,,,Number of observations used to calculate data encryption key(DEK) duration.,0,keda,,, +keda.apiserver_storage_data_key_generation_duration_seconds.sum,count,,second,,Time in seconds used for data encryption key(DEK) generation operations.,0,keda,,, +keda.apiserver_storage_data_key_generation_failures.count,count,,,,Number of failed data encryption key(DEK) generation operations.,0,keda,,, +keda.apiserver_storage_envelope_transformation_cache_misses.count,count,,,,Number of cache misses while accessing key decryption key(KEK).,0,keda,,, +keda.apiserver_tls_handshake_errors.count,count,,,,Number of requests dropped with 'TLS handshake error from' error.,0,keda,,, +keda.apiserver_webhooks_x509_insecure_sha1.count,count,,,,"Counts the number of requests to servers with insecure SHA1 signatures in their serving certificate OR the number of connection failures due to the insecure SHA1 signatures (either/or, based on the runtime environment).",0,keda,,, +keda.apiserver_webhooks_x509_missing_san.count,count,,,,"Counts the number of requests to servers missing SAN extension in their serving certificate OR the number of connection failures due to the lack of x509 certificate SAN extension missing (either/or, based on the runtime environment).",0,keda,,, +keda.authenticated_user_requests.count,count,,request,,Number of authenticated requests broken out by username.,0,keda,,, +keda.authentication_attempts.count,count,,,,Number of authenticated attempts.,0,keda,,, +keda.authentication_duration_seconds.bucket,count,,,,Number of observations used to calculate authentication duration tagged by upper_bound bucket tags.,0,keda,,, +keda.authentication_duration_seconds.count,count,,,,Number of observations used to calculate authentication duration.,0,keda,,, +keda.authentication_duration_seconds.sum,count,,second,,Authentication duration in seconds broken out by result.,0,keda,,, +keda.authorization_attempts.count,count,,,,"Number of authorization attempts broken down by result. It can be either 'allowed', 'denied', 'no-opinion' or 'error'.",0,keda,,, +keda.authorization_duration_seconds.bucket,count,,,,The number of events used to calculate authorization duration tagged by upper_bound tags.,0,keda,,, +keda.authorization_duration_seconds.count,count,,,,The number of events used to calculate authorization duration.,0,keda,,, +keda.authorization_duration_seconds.sum,count,,second,,Authorization duration in seconds broken out by result.,0,keda,,, +keda.build_info,gauge,,,,"Info metric, with static information about KEDA build like: version, git commit and Golang runtime info.",0,keda,,, +keda.cardinality_enforcement_unexpected_categorizations.count,count,,,,The count of unexpected categorizations during cardinality enforcement.,0,keda,,, +keda.certwatcher.read_certificate.count,count,,,,Number of certificate reads.,0,keda,,, +keda.certwatcher.read_certificate_errors.count,count,,error,,Number of certificate read errors.,0,keda,,, +keda.controller.runtime.active_workers,gauge,,,,Number of currently used workers per controller.,0,keda,,, +keda.controller.runtime.max_concurrent_reconciles,gauge,,,,Maximum number of concurrent reconciles per controller.,0,keda,,, +keda.controller.runtime.reconcile.count,count,,,,Number of reconciliations per controller.,0,keda,,, +keda.controller.runtime.reconcile_errors.count,count,,,,Number of reconciliation errors per controller.,0,keda,,, +keda.controller.runtime.reconcile_panics.count,count,,,,Number of reconciliation panics per controller.,0,keda,,, +keda.controller.runtime.reconcile_time.seconds.bucket,count,,,,The number of events observed to calculate reconciliation time tagged by upper_bound tags.,0,keda,,, +keda.controller.runtime.reconcile_time.seconds.count,count,,,,The number of events observed to calculate reconciliation time.,0,keda,,, +keda.controller.runtime.reconcile_time.seconds.sum,count,,second,,The time per reconciliation per controller.,0,keda,,, +keda.controller.runtime.terminal_reconcile_errors.count,count,,,,Number of terminal reconciliation errors per controller.,0,keda,,, +keda.controller.runtime.webhook_panics.count,count,,,,Number of webhook panics.,0,keda,,, +keda.controller.runtime.webhook_requests.count,count,,,,Number of admission requests by HTTP status code.,0,keda,,, +keda.controller.runtime.webhook_requests_in_flight,gauge,,,,Current number of admission requests being served.,0,keda,,, +keda.disabled_metrics.count,count,,,,The count of disabled metrics.,0,keda,,, +keda.field_validation_request_duration_seconds.bucket,count,,,,The number of observations used to calculate the field validation response time tagged by upper_bound tags.,0,keda,,, +keda.field_validation_request_duration_seconds.count,count,,,,The number of observations used to calculate the field validation response time.,0,keda,,, +keda.field_validation_request_duration_seconds.sum,count,,second,,The response time in seconds for each field validation value.,0,keda,,, +keda.go.gc.duration.seconds.count,count,,,,The summary count of garbage collection cycles in the Keda instance.,0,keda,,, +keda.go.gc.duration.seconds.quantile,gauge,,,,A summary of the pause duration of garbage collection cycles in the Keda instance.,0,keda,,, +keda.go.gc.duration.seconds.sum,count,,,,The sum of the pause duration of garbage collection cycles in the Keda instance.,0,keda,,, +keda.go.goroutines,gauge,,,,Number of goroutines that currently exist.,0,keda,,, +keda.go.info,gauge,,,,Information about the Go environment.,0,keda,,, +keda.go.memstats.alloc_bytes,gauge,,byte,,Number of bytes allocated and still in use.,0,keda,,, +keda.go.memstats.alloc_bytes.count,count,,byte,,"Number of bytes allocated, even if freed.",0,keda,,, +keda.go.memstats.buck_hash.sys_bytes,gauge,,byte,,Number of bytes used by the profiling bucket hash table.,0,keda,,, +keda.go.memstats.frees.count,count,,,,Number of frees.,0,keda,,, +keda.go.memstats.gc.sys_bytes,gauge,,byte,,Number of bytes used for garbage collection system metadata.,0,keda,,, +keda.go.memstats.heap.alloc_bytes,gauge,,byte,,Number of heap bytes allocated and still in use.,0,keda,,, +keda.go.memstats.heap.idle_bytes,gauge,,byte,,Number of heap bytes waiting to be used.,0,keda,,, +keda.go.memstats.heap.inuse_bytes,gauge,,byte,,Number of heap bytes that are in use.,0,keda,,, +keda.go.memstats.heap.objects,gauge,,,,Number of allocated objects.,0,keda,,, +keda.go.memstats.heap.released_bytes,gauge,,byte,,Number of heap bytes released to OS.,0,keda,,, +keda.go.memstats.heap.sys_bytes,gauge,,byte,,Number of heap bytes obtained from system.,0,keda,,, +keda.go.memstats.lookups.count,count,,,,Number of pointer lookups.,0,keda,,, +keda.go.memstats.mallocs.count,count,,,,Number of mallocs.,0,keda,,, +keda.go.memstats.mcache.inuse_bytes,gauge,,byte,,Number of bytes in use by mcache structures.,0,keda,,, +keda.go.memstats.mcache.sys_bytes,gauge,,byte,,Number of bytes used for mcache structures obtained from system.,0,keda,,, +keda.go.memstats.mspan.inuse_bytes,gauge,,byte,,Number of bytes in use by mspan structures.,0,keda,,, +keda.go.memstats.mspan.sys_bytes,gauge,,byte,,Number of bytes used for mspan structures obtained from system.,0,keda,,, +keda.go.memstats.next.gc_bytes,gauge,,byte,,Number of heap bytes when next garbage collection will take place.,0,keda,,, +keda.go.memstats.other.sys_bytes,gauge,,byte,,Number of bytes used for other system allocations.,0,keda,,, +keda.go.memstats.stack.inuse_bytes,gauge,,byte,,Number of bytes in use by the stack allocator.,0,keda,,, +keda.go.memstats.stack.sys_bytes,gauge,,byte,,Number of bytes obtained from system for stack allocator.,0,keda,,, +keda.go.memstats.sys_bytes,gauge,,byte,,Number of bytes obtained from system.,0,keda,,, +keda.go.memstats.time_since_last_gc.seconds,gauge,,second,,Number of seconds since 1970 of last garbage collection.,0,keda,,, +keda.go.threads,gauge,,,,Number of OS threads created.,0,keda,,, +keda.hidden_metrics.count,count,,,,The count of hidden metrics.,0,keda,,, +keda.internal_scale.loop_latency,gauge,,second,,(Keda =v2.16) The deviation (in seconds) between the expected execution time and the actual execution time for the scaling loop.,0,keda,,, +keda.leader_election.master_status,gauge,,,,"Gauge of if the reporting system is master of the relevant lease, 0 indicates backup, 1 indicates master. 'name' is the string used to identify the lease. Please make sure to group by name.",0,keda,,, +keda.process.cpu.seconds.count,count,,,,Number of user and system CPU time spent in seconds.,0,keda,,, +keda.process.max_fds,gauge,,,,Maximum number of open file descriptors.,0,keda,,, +keda.process.open_fds,gauge,,,,Number of open file descriptors.,0,keda,,, +keda.process.resident_memory.bytes,gauge,,,,Resident memory size in bytes.,0,keda,,, +keda.process.uptime.seconds,gauge,,second,,How long in seconds the process has been up.,0,keda,,, +keda.process.virtual_memory.bytes,gauge,,byte,,Virtual memory size in bytes.,0,keda,,, +keda.process.virtual_memory.max_bytes,gauge,,byte,,Maximum amount of virtual memory available in bytes.,0,keda,,, +keda.registered_metrics.count,count,,,,The count of registered metrics broken by stability level and deprecation version.,0,keda,,, +keda.resource_registered_total,gauge,,,,(Keda >=v2.16) Number of KEDA custom resources per namespace for each custom resource type (CRD) registered.,0,keda,,, +keda.resource_totals,gauge,,,,(Keda =v2.16) The Number of errors encountered for each scaler.,0,keda,,, +keda.scaler.errors.count,count,,,,(Keda =v2.16) The latency of retrieving current metric from each scaler, in seconds.",0,keda,,, +keda.scaler.metrics_value,gauge,,,,The current value for each scaler's metric that would be used by the HPA in computing the target average.,0,keda,,, +keda.trigger_registered_total,gauge,,,,(Keda >=v2.16) Number of triggers per trigger type registered.,0,keda,,, +keda.trigger_totals,gauge,,,,(Keda