Documentation

Create agents in Telegraf Controller

Telegraf Controller is in Private Alpha

Telegraf Controller is in private alpha. If you are interested in being a part of the private alpha program, please sign up:

Sign Up for the Alpha

While in alpha, Telegraf Controller is not meant for production use. The Telegraf Controller documentation is a work in progress, and we are actively working to improve it. If you have any questions or suggestions, please submit an issue. We welcome any and all contributions.

Agents represent Telegraf instances that send heartbeat data to Telegraf Controller through the heartbeat output plugin. Controller uses the heartbeat payload to create and track each agent.

How agent creation works

  • The heartbeat output plugin in a Telegraf configuration reports agent data back to the /agents/heartbeat endpoint of your Telegraf Controller instance.
  • The heartbeat payload includes a unique instance_id (also referred to as an “agent ID”) for the agent.
  • When the first heartbeat arrives for an agent, Telegraf Controller automatically creates the agent record and marks it with the reported status. Subsequent agent heartbeats update the existing agent record.

Configure agents

Heartbeat output plugin configuration options determine what agent data Telegraf sends to Telegraf Controller. The following heartbeat plugin configuration options are available:

  • url: (Required) URL of heartbeat endpoint.
  • instance_id: (Required) Unique identifier for the Telegraf instance or agent (also known as the agent ID).
  • token: Authorization token for the heartbeat endpoint
  • interval: Interval for sending heartbeat messages. Default is 1m (every minute).
  • include: Information to include in the heartbeat message. Available options are:
    • hostname: Hostname of the machine running Telegraf.
    • statistics: (Recommended) Agent metrics including number of metrics collected and written since the last heartbeat, logged error and warning counts, etc.
    • configs: (Recommended) Redacted list of configurations loaded by the Telegraf instance.
  • headers: HTTP headers to include with the heartbeat request.

Example heartbeat output plugin

The following is an example heartbeat output plugin configuration that uses an agent_id configuration parameter to specify the instance_id.

[[outputs.heartbeat]]
  url = "http://telegraf_controller.example.com/agents/heartbeat"
  instance_id = "&{agent_id}"
  interval = "1m"
  include = ["hostname", "statistics", "configs"]

  [outputs.heartbeat.headers]
    User-Agent = "telegraf"

Verify a new agent

  1. Open Telegraf Controller and go to Agents.
  2. Confirm the agent appears in the list with the expected instance_id.
  3. Click the More button () and select View Details to verify metadata, labels, and the reporting rule assignment.

Was this page helpful?

Thank you for your feedback!


New in InfluxDB 3.8

Key enhancements in InfluxDB 3.8 and the InfluxDB 3 Explorer 1.6.

See the Blog Post

InfluxDB 3.8 is now available for both Core and Enterprise, alongside the 1.6 release of the InfluxDB 3 Explorer UI. This release is focused on operational maturity and making InfluxDB easier to deploy, manage, and run reliably in production.

For more information, check out:

InfluxDB Docker latest tag changing to InfluxDB 3 Core

On February 3, 2026, the latest tag for InfluxDB Docker images will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments.

If using Docker to install and run InfluxDB, the latest tag will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments. For example, if using Docker to run InfluxDB v2, replace the latest version tag with a specific version tag in your Docker pull command–for example:

docker pull influxdb:2