diff --git a/README.md b/README.md index e30eb73274a75..44988b5bb753e 100644 --- a/README.md +++ b/README.md @@ -1,162 +1,127 @@ +# Cnos-Telegraf -# Telegraf +CnosDB-Telegraf 基于 Telegraf 进行开发,增加了一些功能与插件。 -![tiger](assets/TelegrafTiger.png "tiger") +## 原版 Telegraf 文档 -[![Contribute](https://img.shields.io/badge/Contribute%20To%20Telegraf-orange.svg?logo=influx&style=for-the-badge)](https://github.com/influxdata/telegraf/blob/master/CONTRIBUTING.md) [![Slack Status](https://img.shields.io/badge/slack-join_chat-white.svg?logo=slack&style=for-the-badge)](https://www.influxdata.com/slack) [![Circle CI](https://circleci.com/gh/influxdata/telegraf.svg?style=svg)](https://circleci.com/gh/influxdata/telegraf) [![GoDoc](https://godoc.org/github.com/influxdata/telegraf?status.svg)](https://godoc.org/github.com/influxdata/telegraf) [![Docker pulls](https://img.shields.io/docker/pulls/library/telegraf.svg)](https://hub.docker.com/_/telegraf/) [![Go Report Card](https://goreportcard.com/badge/github.com/influxdata/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 <=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) diff --git a/README.telegraf.md b/README.telegraf.md new file mode 100644 index 0000000000000..e30eb73274a75 --- /dev/null +++ b/README.telegraf.md @@ -0,0 +1,162 @@ + +# Telegraf + +![tiger](assets/TelegrafTiger.png "tiger") + +[![Contribute](https://img.shields.io/badge/Contribute%20To%20Telegraf-orange.svg?logo=influx&style=for-the-badge)](https://github.com/influxdata/telegraf/blob/master/CONTRIBUTING.md) [![Slack Status](https://img.shields.io/badge/slack-join_chat-white.svg?logo=slack&style=for-the-badge)](https://www.influxdata.com/slack) [![Circle CI](https://circleci.com/gh/influxdata/telegraf.svg?style=svg)](https://circleci.com/gh/influxdata/telegraf) [![GoDoc](https://godoc.org/github.com/influxdata/telegraf?status.svg)](https://godoc.org/github.com/influxdata/telegraf) [![Docker pulls](https://img.shields.io/docker/pulls/library/telegraf.svg)](https://hub.docker.com/_/telegraf/) [![Go Report Card](https://goreportcard.com/badge/github.com/influxdata/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 <=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)