暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

GreptimeDB 2024-07-09
175


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

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

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



01

设置 Greptime 服务



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


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


根据指示创建一个新的 GreptimeDB 服务,点击 Connection Information 按钮获取连接信息,设置所需的环境变量值:
export GREPTIME_HOST="<host>"
export GREPTIME_DATABASE="<dbname>"
export GREPTIME_USERNAME="<username>"
export GREPTIME_PASSWORD="<password>"


(图 1:创建服务示例图)



02

启动 Telegraf 实例



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


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

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

telegraf --sample-config > telegraf.conf

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

[[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 中读取配置值。  

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

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

[[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]]


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

[[processors.printer]]

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


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

telegraf --config telegraf.conf



03

查询采集到的
事件信息



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

(图 2:前往 Web Dashboard)


(图 3:使用 SQL 查询数据)


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

(图 4:可视化分析示例)


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



相关文章:


Reference:

[1] https://docs.influxdata.com/telegraf/v1/plugins/

[2] https://www.youtube.com/watch?v=JZuq0inSO9Q

[3] https://greptime.com/product/cloud

[4] https://docs.influxdata.com/telegraf/v1/install/




关于 Greptime

Greptime 格睿科技专注于为物联网(如智慧能源、智能汽车等)及可观测等产生大量时序数据的领域提供实时、高效的数据存储和分析服务,帮助客户挖掘数据的深层价值。目前主要有以下三款产品:


GreptimeDB 是一款用 Rust 语言编写的开源时序数据库,具有云原生、无限水平扩展、高性能和融合分析等特点,帮助企业实时读写、处理和分析时序数据的同时,降低长期存储的成本。我们提供 GreptimeDB 企业版,支持更多企业特性和定制化服务,如有需要欢迎联系我们:15310923206(同微信)。


边云一体方案专为更高效地解决物联网中边缘存储和计算问题而设计,解决了物联网企业数据呈几何倍数增长后的实际业务痛点。它通过将多模式边缘数据库与云端的GreptimeDB 企业版相结合,大幅降低了流量、计算和存储成本,同时提升了数据及时性和商业洞察力。


GreptimeCloud 是一款全托管的云上数据库即服务(DBaaS)解决方案,基于开源时序数据库 GreptimeDB 打造,能够高效支持可观测、物联网、金融等领域的应用。


GreptimeDB 作为开源项目,欢迎对时序数据库、Rust 语言等内容感兴趣的同学们参与贡献和讨论。第一次参与项目的同学推荐先从带有 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/


点击下方链接🔗关注 GreptimeDB,了解更多技术干货👇

往期精彩文章:


👇 点击下方阅读原文,立即体验 GreptimeDB!


文章转载自GreptimeDB,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论