Categorygithub.com/influxdata/telegraf
modulepackage
1.33.2
Repository: https://github.com/influxdata/telegraf.git
Documentation: pkg.go.dev

# README

tiger Telegraf

GoDoc Docker pulls Go Report Card Circle CI

Telegraf is an agent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.

  • Offers a comprehensive suite of over 300 plugins, covering a wide range of functionalities including system monitoring, cloud services, and message passing
  • Enables the integration of user-defined code to collect, transform, and transmit data efficiently
  • Compiles into a standalone static binary without any external dependencies, ensuring a streamlined deployment process
  • Utilizes TOML for configuration, providing a user-friendly and unambiguous setup experience
  • Developed with contributions from a diverse community of over 1,200 contributors

Users can choose plugins from a wide range of topics, including but not limited to:

🔨 Installation

For binary builds, Docker images, RPM & DEB packages, and other builds of Telegraf, please see the install guide.

See the releases documentation for details on versioning and when releases are made.

đŸ’ģ Usage

Users define a TOML configuration with the plugins and settings they wish to use, then pass that configuration to Telegraf. The Telegraf agent then collects data from inputs at each interval and sends data to outputs at each flush interval.

For a basic walkthrough see quick start.

📖 Documentation

For a full list of documentation including tutorials, reference and other material, start with the /docs directory.

Additionally, each plugin has its own README that includes details about how to configure, use, and sometimes debug or troubleshoot. Look under the /plugins directory for specific plugins.

Here are some commonly used documents:

â¤ī¸ Contribute

Contribute

We love our community of over 1,200 contributors! Many of the plugins included in Telegraf were originally contributed by community members. Check out our contributing guide if you are interested in helping out. Also, join us on our Community Slack or Community Forums if you have questions or comments for our engineering teams.

If you are completely new to Telegraf and InfluxDB, you can also enroll for free at InfluxDB university to take courses to learn more.

â„šī¸ Support

Slack Forums

Please use the Community Slack or Community Forums if you have questions or comments for our engineering teams. GitHub issues are limited to actual issues and feature requests only.

📜 License

MIT

# Packages

Package selfstat is a package for tracking and collecting internal statistics about telegraf.

# Functions

# Constants

Possible values for the ValueType enum.
Debug will log all of the above and debugging messages issued by plugins.
Error will log error messages.
Possible values for the ValueType enum.
Possible values for the ValueType enum.
Info will log error messages, warnings and information messages.
None means nothing is logged.
Possible values for the ValueType enum.
Trace will log all of the above and trace messages issued by plugins.
Possible values for the ValueType enum.
Warn will log error messages and warnings.

# Structs

DeprecationInfo contains information for marking a plugin deprecated.
Field represents a single field key and value.
Tag represents a single tag key and value.

# Interfaces

Accumulator allows adding metrics to the processing flow.
AggregatingOutput adds aggregating functionality to an Output.
Aggregator is an interface for implementing an Aggregator plugin.
DeliveryInfo provides the results of a delivered metric group.
Initializer is an interface that all plugin types: Inputs, Outputs, Processors, and Aggregators can optionally implement to initialize the plugin.
Logger defines an plugin-related interface for logging.
Metric is the type of data that is processed by Telegraf.
Parser is an interface defining functions that a parser plugin must satisfy.
ParserFuncPlugin is an interface for plugins that are able to parse arbitrary data formats.
ParserPlugin is an interface for plugins that are able to parse arbitrary data formats.
PluginDescriber contains the functions all plugins must implement to describe themselves to Telegraf.
PluginWithID allows a plugin to overwrite its identifier of the plugin instance by a user specified value.
Processor is a processor plugin interface for defining new inline processors.
SecretStore is an interface defining functions that a secret-store plugin must satisfy.
Serializer is an interface defining functions that a serializer plugin must satisfy.
SerializerFuncPlugin is an interface for plugins that are able to serialize arbitrary data formats and require multiple instances of a parser.
SerializerPlugin is an interface for plugins that are able to serialize telegraf metrics into arbitrary data formats.
StatefulPlugin contains the functions that plugins must implement to persist an internal state across Telegraf runs.
StreamingProcessor is a processor that can take in a stream of messages.
TemplateMetric is an interface to use in templates (e.g text/template) to generate complex strings from metric properties e.g.
TrackingAccumulator is an Accumulator that provides a signal when the metric has been fully processed.

# Type aliases

LogLevel denotes the level for logging.
ParserFunc is a function to create a new instance of a parser.
ResolveFunc is a function to resolve the secret.
SerializerFunc is a function to create a new instance of a serializer.
TrackingID uniquely identifies a tracked metric group.
ValueType is an enumeration of metric types that represent a simple value.