forked from influxdata/telegraf
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from cnosdb/doc
Doc
- Loading branch information
Showing
2 changed files
with
226 additions
and
99 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,162 +1,127 @@ | ||
# Cnos-Telegraf | ||
|
||
# Telegraf | ||
CnosDB-Telegraf 基于 Telegraf 进行开发,增加了一些功能与插件。 | ||
|
||
 | ||
## 原版 Telegraf 文档 | ||
|
||
[](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) | ||
[README.md](./README.telegraf.md) | ||
|
||
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: | ||
## Cnos-Telegraf 的改动说明 | ||
|
||
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 | ||
### Parser Plugin | ||
|
||
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. | ||
增加 Parser 插件 OpenTSDB 和 OpenTSDB-Telnet,用于采集 OpenTSDB 的写入请求。 | ||
|
||
## Minimum Requirements | ||
- **OpenTSDB** | ||
|
||
Telegraf shares the same [minimum requirements][] as Go: | ||
通过使用 Input 插件 http_listener_v2 并配置 `data_format` 为 `"opentsdb"`,将能够解析 OpenTSDB 格式的写入请求。 | ||
|
||
- Linux kernel version 2.6.23 or later | ||
- Windows 7 or later | ||
- FreeBSD 11.2 or later | ||
- MacOS 10.11 El Capitan or later | ||
```toml | ||
[[inputs.http_listener_v2]] | ||
service_address = ":8080" | ||
paths = ["/api/put"] | ||
methods = ["POST", "PUT"] | ||
data_format = "opentsdb" | ||
``` | ||
|
||
[minimum requirements]: https://github.com/golang/go/wiki/MinimumRequirements#minimum-requirements | ||
- **OpenTSDB-Telnet** | ||
|
||
## Obtaining Telegraf | ||
通过使用 Input 插件 socket_listener,并配置 `data_format` 为 `"opentsdbtelnet"`,将能够解析 OpenTSDB-Telnet 格式的写入请求。 | ||
|
||
View the [changelog](/CHANGELOG.md) for the latest updates and changes by version. | ||
```toml | ||
[[inputs.socket_listener]] | ||
service_address = "tcp://:8081" | ||
data_format = "opentsdbtelnet" | ||
``` | ||
|
||
### Binary Downloads | ||
### Output Plugin | ||
|
||
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. | ||
增加 Output 插件 CnosDB,用于将指标输出到 CnosDB。 | ||
|
||
### Package Repository | ||
```toml | ||
[[outputs.cnosdb]] | ||
url = "localhost:31006" | ||
user = "user" | ||
password = "pass" | ||
database = "telegraf" | ||
``` | ||
|
||
InfluxData also provides a package repo that contains both DEB and RPM downloads. | ||
- **配置介绍** | ||
|
||
For deb-based platforms (e.g. Ubuntu and Debian) run the following to add the | ||
repo key and setup a new sources.list entry: | ||
| 参数 | 说明 | | ||
|----------|------------------| | ||
| url | CnosDB GRpc 服务地址 | | ||
| user | 用户名 | | ||
| password | 密码 | | ||
| database | CnosDB 数据库 | | ||
|
||
```shell | ||
# influxdb.key GPG Fingerprint: 05CE15085FC09D18E99EFB22684A14CF2582E0C5 | ||
wget -q https://repos.influxdata.com/influxdb.key | ||
echo '23a1c8836f0afc5ed24e0486339d7cc8f6790b83886c4c96995b88a061c5bb5d influxdb.key' | sha256sum -c && cat influxdb.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdb.gpg > /dev/null | ||
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdb.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 | ||
``` | ||
### Input Plugin | ||
|
||
For RPM-based platforms (e.g. RHEL, CentOS) use the following to create a repo | ||
file and install telegraf: | ||
增加配置参数 high_priority_io,用于开启端到端模式。 | ||
|
||
```shell | ||
# influxdb.key GPG Fingerprint: 05CE15085FC09D18E99EFB22684A14CF2582E0C5 | ||
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/influxdb.key | ||
EOF | ||
sudo yum install telegraf | ||
``` | ||
当设置为 true 时,写入的数据将立即发送到 Output 插件,并根据 Output 插件的返回参数来决定返回值。 | ||
|
||
### Build From Source | ||
```toml | ||
[[inputs.http_listener_v2]] | ||
service_address = ":8080" | ||
paths = ["/api/put"] | ||
methods = ["POST", "PUT"] | ||
data_format = "opentsdb" | ||
high_priority_io = true | ||
``` | ||
|
||
Telegraf requires Go version 1.18 or newer, the Makefile requires GNU make. | ||
以上配置与在 [Output](#output) 章节中的配置相比,增加了 `high_priority_io = true` 配置项。 | ||
|
||
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/). | ||
## 构建 | ||
|
||
1. [Install Go](https://golang.org/doc/install) >=1.18 (1.18.0 recommended) | ||
2. Clone the Telegraf repository: | ||
1. [安装 Go](https://golang.org/doc/install) >=1.18 (推荐 1.18.0 版本) | ||
2. 从 Github 克隆仓库: | ||
|
||
```shell | ||
git clone https://github.com/influxdata/telegraf.git | ||
git clone https://github.com/cnosdb/cnos-telegraf.git | ||
``` | ||
|
||
3. Run `make build` from the source directory | ||
3. 在仓库目录下执行 `make build` | ||
|
||
```shell | ||
cd telegraf | ||
cd cnos-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 | ||
### 生成一份标准的 telegraf 配置文件 | ||
|
||
```shell | ||
telegraf config > telegraf.conf | ||
``` | ||
|
||
### Generate config with only cpu input & influxdb output plugins defined | ||
### 生成一份 telegraf 配置文件,仅包含 cpu 指标采集 & influxdb 输出两个插件 | ||
|
||
```shell | ||
telegraf config --section-filter agent:inputs:outputs --input-filter cpu --output-filter influxdb | ||
``` | ||
|
||
### Run a single telegraf collection, outputting metrics to stdout | ||
### 运行 telegraf 但是将采集指标输出到标准输出 | ||
|
||
```shell | ||
telegraf --config telegraf.conf --test | ||
``` | ||
|
||
### Run telegraf with all plugins defined in config file | ||
### 运行 telegraf 并通过配置文件来管理加载的插件 | ||
|
||
```shell | ||
telegraf --config telegraf.conf | ||
``` | ||
|
||
### Run telegraf, enabling the cpu & memory input, and influxdb output plugins | ||
### 运行 telegraf,仅加载 cpu & memory 指标采集,和 influxdb 输出插件 | ||
|
||
```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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,162 @@ | ||
|
||
# Telegraf | ||
|
||
 | ||
|
||
[](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) | ||
|
||
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: | ||
|
||
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 | ||
|
||
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. | ||
|
||
## Minimum Requirements | ||
|
||
Telegraf shares the same [minimum requirements][] as Go: | ||
|
||
- Linux kernel version 2.6.23 or later | ||
- Windows 7 or later | ||
- FreeBSD 11.2 or later | ||
- MacOS 10.11 El Capitan or later | ||
|
||
[minimum requirements]: https://github.com/golang/go/wiki/MinimumRequirements#minimum-requirements | ||
|
||
## Obtaining Telegraf | ||
|
||
View the [changelog](/CHANGELOG.md) for the latest updates and changes by version. | ||
|
||
### Binary Downloads | ||
|
||
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. | ||
|
||
### Package Repository | ||
|
||
InfluxData also provides a package repo that contains both DEB and RPM downloads. | ||
|
||
For deb-based platforms (e.g. Ubuntu and Debian) run the following to add the | ||
repo key and setup a new sources.list entry: | ||
|
||
```shell | ||
# influxdb.key GPG Fingerprint: 05CE15085FC09D18E99EFB22684A14CF2582E0C5 | ||
wget -q https://repos.influxdata.com/influxdb.key | ||
echo '23a1c8836f0afc5ed24e0486339d7cc8f6790b83886c4c96995b88a061c5bb5d influxdb.key' | sha256sum -c && cat influxdb.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdb.gpg > /dev/null | ||
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdb.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 | ||
file and install telegraf: | ||
|
||
```shell | ||
# influxdb.key GPG Fingerprint: 05CE15085FC09D18E99EFB22684A14CF2582E0C5 | ||
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/influxdb.key | ||
EOF | ||
sudo yum install telegraf | ||
``` | ||
|
||
### Build From Source | ||
|
||
Telegraf requires Go version 1.18 or newer, the Makefile requires GNU make. | ||
|
||
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/). | ||
|
||
1. [Install Go](https://golang.org/doc/install) >=1.18 (1.18.0 recommended) | ||
2. Clone the Telegraf repository: | ||
|
||
```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) |