Skip to content

一键连接 200+ 事件源:GreptimeDB 集成 Telegraf 生态教程

GreptimeDB 接受通过 InfluxDB 线路协议写入的数据。它使用户能够连接 Telegraf 支持的 200 多个事件源,同时使用 GreptimeDB 作为 "InfluxDB"输出目标的实例。本博客提供了关于如何设置此集成和查询输入数据的教程。
一键连接 200+ 事件源:GreptimeDB 集成 Telegraf 生态教程
本页内容

Telegraf 是 InfluxData 推出的开源的服务端代理,帮助用户从应用堆栈、传感器和各类系统中收集指标。它支持包括物联网传感器、DevOps 工具和框架、系统遥测等在内的 200 多个数据源。Telegraf 还包括了一些处理器(Processor)和聚合器(Aggregator)插件,在将收集到的数据写出之前,可以进行预处理和预聚合。

正如此前集成 InfluxDB 行协议的演示视频 所示,可以使用 InfluxDB 行协议向 GreptimeDB 写入数据。因此,我们可以将 GreptimeDB 当做一个 InfluxDB 行协议兼容的后端,使用 Telegraf 的 InfluxDB 插件实现集成,从而利用 Telegraf 生态中已经存在的事件源插件和各种处理器、聚合器等。

GreptimeDB 支持 InfluxDB v1 和 v2 两种行协议写入 API。为了简化配置,由于 GreptimeDB 不使用 v2 中引入的 org 概念,本教程使用 InfluxDB v1 插件进行演示。

设置 Greptime 服务 ​

让我们首先设置好 Telegraf 的输出端,也就是一个 GreptimeDB 集群。

获取 GreptimeDB 集群最快的方式是 注册 GreptimeCloud 并启动一个 Hobby Plan Service(完全免费,不需要绑定银行卡)。

根据指示创建一个新的 GreptimeDB 服务,点击 Connection Information 按钮获取连接信息,设置所需的环境变量值:

shell
export GREPTIME_HOST="<host>"
export GREPTIME_DATABASE="<dbname>"
export GREPTIME_USERNAME="<username>"
export GREPTIME_PASSWORD="<password>"

创建服务示例图

启动 Telegraf 实例 ​

准备好 GreptimeDB 集群之后的下一步,就是启动一个 Telegraf 实例来收集事件信息。

如果用户还没有安装 Telegraf,请前往其安装页面获取指南。例如,如果用户使用 Homebrew 包管理器,可以运行以下命令安装 Telegraf:

shell
brew install telegraf

然后,通过以下命令生成默认配置文件:

shell
telegraf --sample-config > telegraf.conf

修改配置文件的 [[outputs.influxdb]] 部分,以配置 GreptimeDB 的连接信息:

toml
[[outputs.influxdb]]
urls = ["https://${GREPTIME_HOST}/v1/influxdb/"]
database = "${GREPTIME_DATABASE}"
username = "${GREPTIME_USERNAME}"
password = "${GREPTIME_PASSWORD}"
skip_database_creation = true

其中,${GREPTIME_HOST} 意味着从环境变量 GREPTIME_HOST 中读取配置值。

最后,选择所需的输入插件开始收集统计数据。

例如,用户可以使用以下输入插件收集系统指标:

toml
[[inputs.cpu]]
collect_cpu_time = false
core_tags = false
percpu = true
report_active = false
totalcpu = true

[[inputs.disk]]
ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]

[[inputs.diskio]]

[[inputs.mem]]

[[inputs.processes]]

[[inputs.system]]

也可以自行添加处理器和聚合器插件:

toml
[[processors.printer]]

[[aggregators.minmax]]
period = "30s"
drop_original = false

配置完成后,运行以下命令启动 Telegraf 实例:

shell
telegraf --config telegraf.conf

查询采集到的事件信息 ​

用户可以便捷地从 GreptimeCloud Web 控制台查询 GreptimeDB 中的数据:

前往 Web Dashboard

使用 SQL 查询数据

此外,用户还可以从统计数据中构建图表进行可视化分析:

可视化分析示例

希望本教程能帮助用户轻松上手使用 GreptimeDB 和 Telegraf 集成方案,构建事件管理和查询展示流水线。

相关文章:

  • 分析时序数据:如何从 InfluxQL 迁移到 SQL
  • 用户指南 | 快速迁移 InfluxDB v1 数据至 GreptimeDB
  • 用户指南 | 快速迁移 InfluxDB v2 数据至 GreptimeDB

关于 Greptime ​

Greptime 格睿科技专注于为可观测、物联网及车联网等领域提供实时、高效的数据存储和分析服务,帮助客户挖掘数据的深层价值。目前基于云原生的时序数据库 GreptimeDB 已经衍生出多款适合不同用户的解决方案,更多信息或 demo 展示请联系下方小助手(微信号:greptime)。

欢迎对开源感兴趣的朋友们参与贡献和讨论,从带有 good first issue 标签的 issue 开始你的开源之旅吧~期待在开源社群里遇见你!添加小助手微信即可加入“技术交流群”与志同道合的朋友们面对面交流哦~

Star us on GitHub Now: https://github.com/GreptimeTeam/greptimedb

官网:https://greptime.cn/

文档:https://docs.greptime.cn/

Twitter: https://twitter.com/Greptime

Slack: https://greptime.com/slack

LinkedIn: https://www.linkedin.com/company/greptime/

Stay in the loop

加入我们的社区