---
title: Charmhub | Deploy Opentelemetry Collector K8S using Charmhub - The Open Operator
  Collection
description: Deploy the latest version of Opentelemetry Collector K8S as a Kubernetes
  Operator on any cloud.
url: https://charmhub.io/opentelemetry-collector-k8s/configurations
---

# Opentelemetry Collector K8S

[Canonical Observability](https://charmhub.io/publisher/observability "View all packages from Canonical Observability")

* [Canonical Observability](https://charmhub.io/publisher/observability "View all packages from Canonical Observability")

Platform:

0.130/stable rev270-1-gc06dfe8

```
juju deploy opentelemetry-collector-k8s --channel 0.130/stable
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

* [always\_enable\_jaeger\_grpc](https://charmhub.io/opentelemetry-collector-k8s/configurations#always_enable_jaeger_grpc)
* [always\_enable\_jaeger\_thrift\_http](https://charmhub.io/opentelemetry-collector-k8s/configurations#always_enable_jaeger_thrift_http)
* [always\_enable\_zipkin](https://charmhub.io/opentelemetry-collector-k8s/configurations#always_enable_zipkin)
* [cpu](https://charmhub.io/opentelemetry-collector-k8s/configurations#cpu)
* [debug\_exporter\_for\_logs](https://charmhub.io/opentelemetry-collector-k8s/configurations#debug_exporter_for_logs)
* [debug\_exporter\_for\_metrics](https://charmhub.io/opentelemetry-collector-k8s/configurations#debug_exporter_for_metrics)
* [debug\_exporter\_for\_traces](https://charmhub.io/opentelemetry-collector-k8s/configurations#debug_exporter_for_traces)
* [extra\_alert\_labels](https://charmhub.io/opentelemetry-collector-k8s/configurations#extra_alert_labels)
* [forward\_alert\_rules](https://charmhub.io/opentelemetry-collector-k8s/configurations#forward_alert_rules)
* [global\_scrape\_interval](https://charmhub.io/opentelemetry-collector-k8s/configurations#global_scrape_interval)
* [global\_scrape\_timeout](https://charmhub.io/opentelemetry-collector-k8s/configurations#global_scrape_timeout)
* [max\_elapsed\_time\_min](https://charmhub.io/opentelemetry-collector-k8s/configurations#max_elapsed_time_min)
* [memory](https://charmhub.io/opentelemetry-collector-k8s/configurations#memory)
* [processors](https://charmhub.io/opentelemetry-collector-k8s/configurations#processors)
* [queue\_size](https://charmhub.io/opentelemetry-collector-k8s/configurations#queue_size)
* [tls\_insecure\_skip\_verify](https://charmhub.io/opentelemetry-collector-k8s/configurations#tls_insecure_skip_verify)
* [tracing\_sampling\_rate\_charm](https://charmhub.io/opentelemetry-collector-k8s/configurations#tracing_sampling_rate_charm)
* [tracing\_sampling\_rate\_error](https://charmhub.io/opentelemetry-collector-k8s/configurations#tracing_sampling_rate_error)
* [tracing\_sampling\_rate\_workload](https://charmhub.io/opentelemetry-collector-k8s/configurations#tracing_sampling_rate_workload)

[Learn about configurations >](https://juju.is/docs/juju/configuration#heading--application-configuration)

* always\_enable\_jaeger\_grpc | boolean

  Force-enable the receiver for the 'jaeger\_grpc' protocol in OpenTelemetry Collector, even if there is no integration currently requesting it.
* always\_enable\_jaeger\_thrift\_http | boolean

  Force-enable the receiver for the 'jaeger\_thrift\_http' protocol in OpenTelemetry Collector, even if there is no integration currently requesting it.
* always\_enable\_zipkin | boolean

  Force-enable the receiver for the 'zipkin' protocol in OpenTelemetry Collector, even if there is no integration currently requesting it.
* cpu | string

  K8s cpu resource limit, e.g. "1" or "500m". Default is unset (no limit). This value is used
  for the "limits" portion of the resource requirements (the "requests" portion is
  automatically deduced from it).
  Note that changing this config option will churn the pod.
  See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
* debug\_exporter\_for\_logs | boolean

  Add a debug exporter to the logs pipeline of the OpenTelemetry Collector config.
  WARNING: Using the debug exporter in a production environment is discouraged, as it will write all collected telemetry to stdout, i.e. to syslog, which is likely to cause log flooding. This can be avoided with the correct usage of the `path_exclude` config option.
* debug\_exporter\_for\_metrics | boolean

  Add a debug exporter to the metrics pipeline of the OpenTelemetry Collector config.
  WARNING: Using the debug exporter in a production environment is discouraged, as it will write all collected telemetry to stdout, i.e. to syslog, which is likely to cause log flooding. This can be avoided with the correct usage of the `path_exclude` config option.
* debug\_exporter\_for\_traces | boolean

  Add a debug exporter to the traces pipeline of the OpenTelemetry Collector config.
  WARNING: Using the debug exporter in a production environment is discouraged, as it will write all collected telemetry to stdout, i.e. to syslog, which is likely to cause log flooding. This can be avoided with the correct usage of the `path_exclude` config option.
* extra\_alert\_labels | string

  Comma separated key-value pairs of labels to be added to all alerts. This could be useful for differentiating between staging and production environments.
* forward\_alert\_rules | boolean

  Default: True

  Toggle forwarding of alert rules.
* global\_scrape\_interval | string

  Default: 1m

  How frequently should instances be scraped. Supported units: y, w, d, h, m, s.
* global\_scrape\_timeout | string

  Default: 10s

  How long to wait before timing out a scrape from a target. Supported units: y, w, d, h, m, s.
* max\_elapsed\_time\_min | int

  Default: 5

  Maximum time in minutes to wait for the storage backend. After this time, data loss will occur.
* memory | string

  K8s memory resource limit, e.g. "1Gi". Default is unset (no limit). This value is used
  for the "limits" portion of the resource requirements (the "requests" portion is
  automatically deduced from it).
  Note that changing this config option will churn the pod.
  See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
* processors | string

  A global opentelemetry-collector "processors" config in YAML format, without the
  "processors:" top-level key. For example, to represent a "processors" section
  such as:

  ```
  processors:
    batch:
    memory_limiter:
      limit_mib: 4000
  ```

  you could use `juju config otelcol processors=@processors.yaml`, with:

  ```
  # processors.yaml
  batch:
  memory_limiter:
    limit_mib: 4000
  ```

  The provided processors section will be applied to all relevant pipelines.

  Reference: https://opentelemetry.io/docs/collector/configuration/#processors
* queue\_size | int

  Default: 1000

  Maximum number of incoming batches of metrics, logs, traces the queue can accept.
  Ref: https://github.com/open-telemetry/opentelemetry-collector/blob/main/exporter/exporterhelper/README.md#configuration
* tls\_insecure\_skip\_verify | boolean

  Flag to skip the validation of certificates from servers we connect to with TLS.
  If "true", self-signed certs can be used seamlessly; this setting will be applied
  to all the otelcol exporter configurations and any receivers which actively make
  requests to servers, e.g. the prometheus receiver scraping metrics endpoints.
* tracing\_sampling\_rate\_charm | float

  Default: 100.0

  This property defines the percentage of charm traces that are sent to the tracing backend. Setting it to 100 would mean all charm traces are kept, setting to 0 means charm traces aren't sent to the tracing backend at all. Anything outside of 0-100 range will be clamped to this range by OpenTelemetry Collector.
* tracing\_sampling\_rate\_error | float

  Default: 100.0

  This property defines the percentage of error traces (from all sources) that are sent to the tracing backend. Setting it to 100 would mean all error traces are kept, setting to 0 means error traces aren't sent to the tracing backend at all. Anything outside of 0-100 range will be clamped to this range by OpenTelemetry Collector.
* tracing\_sampling\_rate\_workload | float

  Default: 1.0

  This property defines the percentage of workload traces that are sent to the tracing backend. Setting it to 100 would mean all workload traces are kept, setting to 0 means workload traces aren't sent to the tracing backend at all. Anything outside of 0-100 range will be clamped to this range by OpenTelemetry Collector.
