docs: Revamp readme (#15290)
Co-authored-by: Dane Strandboge <136023093+DStrand1@users.noreply.github.com>
This commit is contained in:
parent
043489ed97
commit
a78e02c3ae
206
README.md
206
README.md
|
|
@ -1,164 +1,92 @@
|
||||||
|
#  Telegraf
|
||||||
|
|
||||||
# Telegraf
|
[](https://godoc.org/github.com/influxdata/telegraf) [](https://hub.docker.com/_/telegraf/) [](https://goreportcard.com/report/github.com/influxdata/telegraf) [](https://circleci.com/gh/influxdata/telegraf)
|
||||||
|
|
||||||

|
Telegraf is an agent for collecting, processing, aggregating, and writing
|
||||||
|
metrics, logs, and other arbitrary data.
|
||||||
|
|
||||||
[](https://github.com/influxdata/telegraf/blob/master/CONTRIBUTING.md) [](https://www.influxdata.com/slack) [](https://circleci.com/gh/influxdata/telegraf) [](https://godoc.org/github.com/influxdata/telegraf) [](https://hub.docker.com/_/telegraf/) [](https://goreportcard.com/report/github.com/influxdata/telegraf)
|
* 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
|
||||||
|
|
||||||
Telegraf is an agent for collecting, processing, aggregating, and writing metrics. Based on a
|
Users can choose plugins from a wide range of topics, including but not limited
|
||||||
plugin system to enable developers in the community to easily add support for additional
|
to:
|
||||||
metric collection. There are four distinct types of plugins:
|
|
||||||
|
|
||||||
1. [Input Plugins](/docs/INPUTS.md) collect metrics from the system, services, or 3rd party APIs
|
* Devices: OPC UA, Modbus
|
||||||
2. [Processor Plugins](/docs/PROCESSORS.md) transform, decorate, and/or filter metrics
|
* Logs: File, Tail, Directory Monitor
|
||||||
3. [Aggregator Plugins](/docs/AGGREGATORS.md) create aggregate metrics (e.g. mean, min, max, quantiles, etc.)
|
* Messaging: AMQP, Kafka, MQTT
|
||||||
4. [Output Plugins](/docs/OUTPUTS.md) write metrics to various destinations
|
* Monitoring: OpenTelemetry, Prometheus
|
||||||
|
* Networking: Cisco TelemetryMDT, gNMI
|
||||||
|
* System monitoring: CPU, Memory, Disk, Network, SMART, Docker, Nvidia SMI, etc.
|
||||||
|
* Universal: Exec, HTTP, HTTP Listener, SNMP, SQL
|
||||||
|
* Windows: Event Log, Management Instrumentation, Performance Counters
|
||||||
|
|
||||||
New plugins are designed to be easy to contribute, pull requests are welcomed, and we work to
|
## 🔨 Installation
|
||||||
incorporate as many pull requests as possible. Consider looking at the
|
|
||||||
[list of external plugins](EXTERNAL_PLUGINS.md) as well.
|
|
||||||
|
|
||||||
## Minimum Requirements
|
For binary builds, Docker images, RPM & DEB packages, and other builds of
|
||||||
|
Telegraf, please see the [install guide](/docs/INSTALL_GUIDE.md).
|
||||||
|
|
||||||
Telegraf shares the same [minimum requirements][] as Go:
|
See the [releases documentation](/docs/RELEASES.md) for details on versioning
|
||||||
|
and when releases are made.
|
||||||
|
|
||||||
- Linux kernel version 2.6.32 or later
|
## 💻 Usage
|
||||||
- Windows 10 or later
|
|
||||||
- FreeBSD 12 or later
|
|
||||||
- macOS 10.15 Catalina or later
|
|
||||||
|
|
||||||
[minimum requirements]: https://go.dev/wiki/MinimumRequirements
|
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.
|
||||||
|
|
||||||
## Obtaining Telegraf
|
For a basic walkthrough see [quick start](/docs/QUICK_START.md).
|
||||||
|
|
||||||
View the [changelog](/CHANGELOG.md) for the latest updates and changes by version.
|
## 📖 Documentation
|
||||||
|
|
||||||
### Binary Downloads
|
For a full list of documentation including tutorials, reference and other
|
||||||
|
material, start with the [Docs directory](/docs/README.md).
|
||||||
|
|
||||||
Binary downloads are available from the [InfluxData downloads](https://www.influxdata.com/downloads)
|
Additionally, each plugin has its own README that includes details about how to
|
||||||
page or from each [GitHub Releases](https://github.com/influxdata/telegraf/releases) page.
|
configure, use, and sometimes debug or troubleshoot. Look under the
|
||||||
|
[/plugins directory](/plugins/) for specific plugins.
|
||||||
|
|
||||||
### Package Repository
|
Here are some commonly used documents:
|
||||||
|
|
||||||
InfluxData also provides a package repo that contains both DEB and RPM downloads.
|
* [Changelog](/CHANGELOG.md)
|
||||||
|
* [Configuration](/docs/CONFIGURATION.md)
|
||||||
|
* [FAQ](/docs/FAQ.md)
|
||||||
|
* [Releases](https://github.com/influxdata/telegraf/releases)
|
||||||
|
* [Security](/SECURITY.md)
|
||||||
|
|
||||||
For deb-based platforms (e.g. Ubuntu and Debian) run the following to add the
|
## ❤️ Contribute
|
||||||
repo key and setup a new sources.list entry:
|
|
||||||
|
|
||||||
```shell
|
[](https://github.com/influxdata/telegraf/blob/master/CONTRIBUTING.md)
|
||||||
# influxdata-archive_compat.key GPG fingerprint:
|
|
||||||
# 9D53 9D90 D332 8DC7 D6C8 D3B9 D8FF 8E1F 7DF8 B07E
|
|
||||||
wget -q https://repos.influxdata.com/influxdata-archive_compat.key
|
|
||||||
echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key' | sha256sum -c && cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null
|
|
||||||
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list
|
|
||||||
sudo apt-get update && sudo apt-get install telegraf
|
|
||||||
```
|
|
||||||
|
|
||||||
For RPM-based platforms (e.g. RHEL, CentOS) use the following to create a repo
|
We love our community of over 1,200 contributors! Many of the plugins included
|
||||||
file and install telegraf:
|
in Telegraf were originally contributed by community members. Check out
|
||||||
|
our [contributing guide](CONTRIBUTING.md) if you are interested in helping out.
|
||||||
|
Also, join us on our [Community Slack](https://influxdata.com/slack) or
|
||||||
|
[Community Forums](https://community.influxdata.com/) if you have questions or
|
||||||
|
comments for our engineering teams.
|
||||||
|
|
||||||
```shell
|
If you are completely new to Telegraf and InfluxDB, you can also enroll for free at
|
||||||
# influxdata-archive_compat.key GPG fingerprint:
|
[InfluxDB university](https://www.influxdata.com/university/) to take courses to
|
||||||
# 9D53 9D90 D332 8DC7 D6C8 D3B9 D8FF 8E1F 7DF8 B07E
|
learn more.
|
||||||
cat <<EOF | sudo tee /etc/yum.repos.d/influxdata.repo
|
|
||||||
[influxdata]
|
|
||||||
name = InfluxData Repository - Stable
|
|
||||||
baseurl = https://repos.influxdata.com/stable/\$basearch/main
|
|
||||||
enabled = 1
|
|
||||||
gpgcheck = 1
|
|
||||||
gpgkey = https://repos.influxdata.com/influxdata-archive_compat.key
|
|
||||||
EOF
|
|
||||||
sudo yum install telegraf
|
|
||||||
```
|
|
||||||
|
|
||||||
### Build From Source
|
## ℹ️ Support
|
||||||
|
|
||||||
Telegraf requires Go version 1.22 or newer and the Makefile requires GNU make.
|
[](https://www.influxdata.com/slack) [](https://community.influxdata.com/)
|
||||||
|
|
||||||
On Windows, the makefile requires the use of a bash terminal to support all makefile targets.
|
Please use the [Community Slack](https://influxdata.com/slack) or
|
||||||
An easy option to get bash for windows is using the version that comes with [git for windows](https://gitforwindows.org/).
|
[Community Forums](https://community.influxdata.com/) if you have questions or
|
||||||
|
comments for our engineering teams. GitHub issues are limited to actual issues
|
||||||
|
and feature requests only.
|
||||||
|
|
||||||
1. [Install Go](https://golang.org/doc/install)
|
## 📜 License
|
||||||
2. Clone the Telegraf repository:
|
|
||||||
|
|
||||||
```shell
|
[](https://github.com/influxdata/telegraf/blob/master/LICENSE)
|
||||||
git clone https://github.com/influxdata/telegraf.git
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Run `make build` from the source directory
|
|
||||||
|
|
||||||
```shell
|
|
||||||
cd telegraf
|
|
||||||
make build
|
|
||||||
```
|
|
||||||
|
|
||||||
### Nightly Builds
|
|
||||||
|
|
||||||
[Nightly](/docs/NIGHTLIES.md) builds are available, generated from the master branch.
|
|
||||||
|
|
||||||
### 3rd Party Builds
|
|
||||||
|
|
||||||
Builds for other platforms or package formats are provided by members of theTelegraf community.
|
|
||||||
These packages are not built, tested, or supported by the Telegraf project or InfluxData. Please
|
|
||||||
get in touch with the package author if support is needed:
|
|
||||||
|
|
||||||
- [Ansible Role](https://github.com/rossmcdonald/telegraf)
|
|
||||||
- [Chocolatey](https://chocolatey.org/packages/telegraf) by [ripclawffb](https://chocolatey.org/profiles/ripclawffb)
|
|
||||||
- [Scoop](https://github.com/ScoopInstaller/Main/blob/master/bucket/telegraf.json)
|
|
||||||
- [Snap](https://snapcraft.io/telegraf) by Laurent Sesquès (sajoupa)
|
|
||||||
- [Homebrew](https://formulae.brew.sh/formula/telegraf#default)
|
|
||||||
|
|
||||||
## Getting Started
|
|
||||||
|
|
||||||
See usage with:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
telegraf --help
|
|
||||||
```
|
|
||||||
|
|
||||||
### Generate a telegraf config file
|
|
||||||
|
|
||||||
```shell
|
|
||||||
telegraf config > telegraf.conf
|
|
||||||
```
|
|
||||||
|
|
||||||
### Generate config with only cpu input & influxdb output plugins defined
|
|
||||||
|
|
||||||
```shell
|
|
||||||
telegraf config --section-filter agent:inputs:outputs --input-filter cpu --output-filter influxdb
|
|
||||||
```
|
|
||||||
|
|
||||||
### Run a single telegraf collection, outputting metrics to stdout
|
|
||||||
|
|
||||||
```shell
|
|
||||||
telegraf --config telegraf.conf --test
|
|
||||||
```
|
|
||||||
|
|
||||||
### Run telegraf with all plugins defined in config file
|
|
||||||
|
|
||||||
```shell
|
|
||||||
telegraf --config telegraf.conf
|
|
||||||
```
|
|
||||||
|
|
||||||
### Run telegraf, enabling the cpu & memory input, and influxdb output plugins
|
|
||||||
|
|
||||||
```shell
|
|
||||||
telegraf --config telegraf.conf --input-filter cpu:mem --output-filter influxdb
|
|
||||||
```
|
|
||||||
|
|
||||||
## Contribute to the Project
|
|
||||||
|
|
||||||
Telegraf is an MIT licensed open source project and we love our community. The fastest way to get something fixed is to open a PR. Check out our [contributing guide](CONTRIBUTING.md) if you're interested in helping out. Also, join us on our [Community Slack](https://influxdata.com/slack) or [Community Page](https://community.influxdata.com/) if you have questions or comments for our engineering teams.
|
|
||||||
|
|
||||||
If your completely new to Telegraf and InfluxDB, you can also enroll for free at [InfluxDB university](https://www.influxdata.com/university/) to take courses to learn more.
|
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
[Latest Release Documentation](https://docs.influxdata.com/telegraf/latest/)
|
|
||||||
|
|
||||||
For documentation on the latest development code see the [documentation index](/docs).
|
|
||||||
|
|
||||||
- [Input Plugins](/docs/INPUTS.md)
|
|
||||||
- [Output Plugins](/docs/OUTPUTS.md)
|
|
||||||
- [Processor Plugins](/docs/PROCESSORS.md)
|
|
||||||
- [Aggregator Plugins](/docs/AGGREGATORS.md)
|
|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 3.4 KiB |
Loading…
Reference in New Issue