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
|
||||
plugin system to enable developers in the community to easily add support for additional
|
||||
metric collection. There are four distinct types of plugins:
|
||||
Users can choose plugins from a wide range of topics, including but not limited
|
||||
to:
|
||||
|
||||
1. [Input Plugins](/docs/INPUTS.md) collect metrics from the system, services, or 3rd party APIs
|
||||
2. [Processor Plugins](/docs/PROCESSORS.md) transform, decorate, and/or filter metrics
|
||||
3. [Aggregator Plugins](/docs/AGGREGATORS.md) create aggregate metrics (e.g. mean, min, max, quantiles, etc.)
|
||||
4. [Output Plugins](/docs/OUTPUTS.md) write metrics to various destinations
|
||||
* Devices: OPC UA, Modbus
|
||||
* Logs: File, Tail, Directory Monitor
|
||||
* Messaging: AMQP, Kafka, MQTT
|
||||
* 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
|
||||
incorporate as many pull requests as possible. Consider looking at the
|
||||
[list of external plugins](EXTERNAL_PLUGINS.md) as well.
|
||||
## 🔨 Installation
|
||||
|
||||
## 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
|
||||
- Windows 10 or later
|
||||
- FreeBSD 12 or later
|
||||
- macOS 10.15 Catalina or later
|
||||
## 💻 Usage
|
||||
|
||||
[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)
|
||||
page or from each [GitHub Releases](https://github.com/influxdata/telegraf/releases) page.
|
||||
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](/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
|
||||
repo key and setup a new sources.list entry:
|
||||
## ❤️ Contribute
|
||||
|
||||
```shell
|
||||
# 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
|
||||
```
|
||||
[](https://github.com/influxdata/telegraf/blob/master/CONTRIBUTING.md)
|
||||
|
||||
For RPM-based platforms (e.g. RHEL, CentOS) use the following to create a repo
|
||||
file and install telegraf:
|
||||
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](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
|
||||
# influxdata-archive_compat.key GPG fingerprint:
|
||||
# 9D53 9D90 D332 8DC7 D6C8 D3B9 D8FF 8E1F 7DF8 B07E
|
||||
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
|
||||
```
|
||||
If you are 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.
|
||||
|
||||
### 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.
|
||||
An easy option to get bash for windows is using the version that comes with [git for windows](https://gitforwindows.org/).
|
||||
Please use the [Community Slack](https://influxdata.com/slack) or
|
||||
[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)
|
||||
2. Clone the Telegraf repository:
|
||||
## 📜 License
|
||||
|
||||
```shell
|
||||
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)
|
||||
[](https://github.com/influxdata/telegraf/blob/master/LICENSE)
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 3.4 KiB |
Loading…
Reference in New Issue