---
title: Charmhub | Deploy Telegraf using Charmhub - The Open Operator Collection
description: Deploy the latest version of Telegraf on any cloud.
url: https://charmhub.io/telegraf/configurations
---

# Telegraf

[Llama (LMA) Charmers](https://charmhub.io/publisher/llama-charmers "View all packages from Llama (LMA) Charmers")

* [Llama (LMA) Charmers](https://charmhub.io/publisher/llama-charmers "View all packages from Llama (LMA) Charmers")
* [Monitoring](https://charmhub.io/?filter=monitoring)

Platform:

noble

24.04

22.04

20.04

18.04

16.04

14.04

stable 23.10

```
juju deploy telegraf
```

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

* [collect\_intel\_rdt\_metrics](https://charmhub.io/telegraf/configurations#collect_intel_rdt_metrics)
* [collect\_ipmi\_sensor\_metrics](https://charmhub.io/telegraf/configurations#collect_ipmi_sensor_metrics)
* [collect\_iptables\_metrics](https://charmhub.io/telegraf/configurations#collect_iptables_metrics)
* [collect\_smart\_metrics](https://charmhub.io/telegraf/configurations#collect_smart_metrics)
* [collection\_jitter](https://charmhub.io/telegraf/configurations#collection_jitter)
* [cpu\_idle](https://charmhub.io/telegraf/configurations#cpu_idle)
* [debug](https://charmhub.io/telegraf/configurations#debug)
* [disabled\_plugins](https://charmhub.io/telegraf/configurations#disabled_plugins)
* [extra\_options](https://charmhub.io/telegraf/configurations#extra_options)
* [extra\_packages](https://charmhub.io/telegraf/configurations#extra_packages)
* [extra\_plugins](https://charmhub.io/telegraf/configurations#extra_plugins)
* [flush\_interval](https://charmhub.io/telegraf/configurations#flush_interval)
* [flush\_jitter](https://charmhub.io/telegraf/configurations#flush_jitter)
* [hostname](https://charmhub.io/telegraf/configurations#hostname)
* [inputs\_config](https://charmhub.io/telegraf/configurations#inputs_config)
* [install\_keys](https://charmhub.io/telegraf/configurations#install_keys)
* [install\_method](https://charmhub.io/telegraf/configurations#install_method)
* [install\_sources](https://charmhub.io/telegraf/configurations#install_sources)
* [interval](https://charmhub.io/telegraf/configurations#interval)
* [lead\_time](https://charmhub.io/telegraf/configurations#lead_time)
* [logfile](https://charmhub.io/telegraf/configurations#logfile)
* [metric\_buffer\_limit](https://charmhub.io/telegraf/configurations#metric_buffer_limit)
* [nagios\_context](https://charmhub.io/telegraf/configurations#nagios_context)
* [nagios\_servicegroups](https://charmhub.io/telegraf/configurations#nagios_servicegroups)
* [outputs\_config](https://charmhub.io/telegraf/configurations#outputs_config)
* [package\_status](https://charmhub.io/telegraf/configurations#package_status)
* [prometheus\_context](https://charmhub.io/telegraf/configurations#prometheus_context)
* [prometheus\_datasource](https://charmhub.io/telegraf/configurations#prometheus_datasource)
* [prometheus\_ip\_range](https://charmhub.io/telegraf/configurations#prometheus_ip_range)
* [prometheus\_output\_bindaddress](https://charmhub.io/telegraf/configurations#prometheus_output_bindaddress)
* [prometheus\_output\_port](https://charmhub.io/telegraf/configurations#prometheus_output_port)
* [promreg\_authtoken](https://charmhub.io/telegraf/configurations#promreg_authtoken)
* [promreg\_url](https://charmhub.io/telegraf/configurations#promreg_url)
* [quiet](https://charmhub.io/telegraf/configurations#quiet)
* [round\_interval](https://charmhub.io/telegraf/configurations#round_interval)
* [snap\_channel](https://charmhub.io/telegraf/configurations#snap_channel)
* [snapd\_refresh](https://charmhub.io/telegraf/configurations#snapd_refresh)
* [socket\_listener\_port](https://charmhub.io/telegraf/configurations#socket_listener_port)
* [tags](https://charmhub.io/telegraf/configurations#tags)
* [wait\_time](https://charmhub.io/telegraf/configurations#wait_time)

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

* collect\_intel\_rdt\_metrics | boolean

  Enable the collection of Intel memory bandwidth metrics, using the telegraf intel\_rdt input plugin. Collecting these metrics requires sudo access - enabling this option will install an appropriate, locked-down sudoers file. . There are certain requisites to run this plugin, including having a kernel >= v5.4, Intel RDT tools >= v4.1 available in a repository, and a supported CPU (as reported by the Intel utility `pqos`) . Currently the charm will configure monitoring of all detected cores. . See https://github.com/influxdata/telegraf/blob/master/plugins/inputs/intel\_rdt/README.md for info on the telegraf intel\_rdt plugin. . NOTE: you need to be using at minimum version 4.1.0 of pqos, available in the intel-cmt-cat package on ppa:canonical-bootstack/public. Also, Telegraf needs to include a patch for https://github.com/influxdata/telegraf/issues/9380, currently available in ppa:guoqiao/telegraf.
* collect\_ipmi\_sensor\_metrics | boolean

  Enable the collection of IPMI sensor metrics, using the ipmi sensor telegraf input plugin. Collecting these metrics requires sudo access - enabling this option will install an appropriate, locked-down sudoers file.
* collect\_iptables\_metrics | boolean

  Enable the collection of iptables metrics, using the iptables telegraf input plugin. Collecting these metrics requires sudo access - enabling this option will install an appropriate, locked-down sudoers file.
* collect\_smart\_metrics | boolean

  Enable the collection of S.M.A.R.T. metrics, using the "smart" telegraf input plugin. Collecting these metrics requires sudo access - enabling this option will install an appropriate, locked-down sudoers file.
* collection\_jitter | string

  Default: 5s

  Collection jitter is used to jitter the collection by a random amount. Each plugin will sleep for a random time within jitter before collecting. This can be used to avoid many plugins querying things like sysfs at the same time, which can have a measurable effect on the system.
* cpu\_idle | int

  Default: 10

  Percent of idle CPU at which to generate a Prometheus alert. Default 10%, i.e. alert if the CPU has less than 10% CPU running idle therefore 90% used by us+sy+wa+st.
* debug | boolean

  Run telegraf in debug mode
* disabled\_plugins | string

  Colon(:) separated plugins names to disable, including builtin input plugins and custom exec metrics in `files/telegraf_exec_metrics.py`, e.g.: cpu:mem:buddyinfo:zoneinfo
* extra\_options | string

  YAML with extra options for out|inputs managed by relations or in the default config. example:
  inputs:
  cpu:
  percpu: false
  fielddrop: ["time\_\*"]
  disk:
  mount\_points: ["/"]
  ignore\_fs: ["tmpfs", "devtmpfs"]
  elasticsearch:
  local: false
  cluster\_health: true
  postgresql:
  databases: ["foo", "bar"]
  tagpass:
  db: ["template", "postgres"]
  outputs:
  influxdb:
  precision: ms
* extra\_packages | string

  Space separated list of extra deb packages to install.
* extra\_plugins | string

  Extra plugins, manually configured. This is expected to be a string and will be saved "as is" in telegraf.d/extra\_plugins.conf
* flush\_interval | string

  Default: 10s

  Default data flushing interval for all outputs. You should not set this below interval. Maximum flush\_interval will be flush\_interval + flush\_jitter
* flush\_jitter | string

  Default: 5s

  Jitter the flush interval by a random amount. This is primarily to avoid large write spikes for users running a large number of telegraf instances. ie, a jitter of 5s and interval 10s means flushes will happen every 10-15s
* hostname | string

  Default: {model}:{unit}

  Override default hostname. {model} is replaced with the Juju model name and {unit} is replaced with the sanitized unit name (eg. service\_name-0). {uuid} is replaced by the model UUID, for sites without unique model names. {host} is replaced by the machine hostname
* inputs\_config | string

  [inputs.xxx] sections as a string, this override default input plugins.
* install\_keys | string

  Default: - null

  List of signing keys for install\_sources package sources, per charmhelpers standard format (a yaml list of strings encoded as a string). The keys should be the full ASCII armoured GPG public keys. While GPG key ids are also supported and looked up on a keyserver, operators should be aware that this mechanism is insecure. null can be used if a standard package signing key is used that will already be installed on the machine, and for PPA sources where the package signing key is securely retrieved from Launchpad.
* install\_method | string

  Default: deb

  Installation method. Valid values are "deb" or "snap".
* install\_sources | string

  Default: - ppa:telegraf-devs/ppa

  List of extra apt sources, per charm-helpers standard format (a yaml list of strings encoded as a string). Each source may be either a line that can be added directly to sources.list(5), or in the form ppa:<user>/<ppa-name> for adding Personal Package Archives, or a distribution component to enable.
* interval | string

  Default: 10s

  Default data collection interval for all plugins
* lead\_time | string

  Default: 14d

  Time period to use when alerting on predictive Prometheus rules, e.g a disk might run low on space in $lead\_time, based on the previous usage over lead\_time. Default 14d, i.e. based on the previous 14 days, alert if we have 14 days disk left. String, e.g. 14d, 4w.
* logfile | string

  Default: /var/log/telegraf/telegraf.log

  Name of the file to be logged to when using the file logtarget. If set to the empty string then logs are written to stderr.
* metric\_buffer\_limit | int

  Default: 10000

  Telegraf will cache metric\_buffer\_limit metrics for each output, and will flush this buffer on a successful write.
* nagios\_context | string

  Default: juju

  A string that will be prepended to instance name to set the host name in nagios. So for instance the hostname would be something like:
  juju-myservice-0
  If you're running multiple environments with the same services in them this allows you to differentiate between them.
* nagios\_servicegroups | string

  Default: juju

  Comma separated list of nagios servicegroups for the telegraf check
* outputs\_config | string

  [outputs.xxx] sections as a string
* package\_status | string

  Default: install

  The status of service-affecting packages will be set to this value in the dpkg database. Valid values are "install" and "hold".
* prometheus\_context | string

  Default: juju

  A string that will be used to identify this site in the 'cloud\_name' label in Prometheus. If you're running multiple environments with the same services in them this allows you to differentiate between them.
* prometheus\_datasource | string

  Specifies the datasource for Grafana dashboards. This usually corresponds to the application name of the related Prometheus. Defaults to "" to use the prometheus-client relation to parse the application name. If set, it will override the relation data.
  Note: The complete datasource inserted into dashboard will be "$prometheus\_datasource - Juju generated source" This matches how the Prometheus2/Grafana charms format the datasource.
* prometheus\_ip\_range | string

  If set, the comma-separated list of IP Ranges which are allowed to access metrics. ex: prometheus\_ip\_range = "192.168.0.0/24,192.168.1.0/30"
* prometheus\_output\_bindaddress | string

  If set prometheus output plugin will be configured to listen on the provided address. If set to string "default" the charm will use the default port (9103). Accepted values are IPs, network ranges and interface names, followed by a port, e.g. "10.0.0.1:9000", "10.0.0.0/24:9101", "2001:0db8:85a3:0000:0000:8a2e:0370:7334:9101" or "eth0:9101"
* prometheus\_output\_port | string

  Default: 9103

  WARNING: This config option is deprecated in favor of prometheus\_output\_bindaddress. Please use that option instead. If set prometheus output plugin will be configured to listen on the provided port. If set to string "default" the charm will use default port (9103)
* promreg\_authtoken | string

  The Prometheus Registration authtoken.
* promreg\_url | string

  The http(s) url and port where the Prometheus Registration service is listening.
* quiet | boolean

  Run telegraf in quiet mode
* round\_interval | boolean

  Default: True

  Rounds collection interval to 'interval' ie, if interval="10s" then always collect on :00, :10, :20, etc.
* snap\_channel | string

  Default: stable

  Snap Store channel from which to install the telegraf snap.
* snapd\_refresh | string

  How often snapd handles updates for installed snaps. The default (an empty string) is 4x per day. Set to "max" to check once per month based on the charm deployment date. You may also set a custom string as described in the 'refresh.timer' section here:
  https://forum.snapcraft.io/t/system-options/87
* socket\_listener\_port | string

  Default: 8094

  If set, the input socket\_listener will listen on the specified port. The default option is to listen to 8094.
* tags | string

  Comma separated list of global tags. ie, 'dc=us-east-1,rack=1a' will tag all metrics with dc=us-east-1 and rack=1a
* wait\_time | string

  Default: 5m

  When exporting Prometheus alerting rules, how long a condition should be true before firing an alert. String, e.g. 5m, 1h, etc.
