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 按钮获取连接信息,设置所需的环境变量值:
export GREPTIME_HOST="<host>"
export GREPTIME_DATABASE="<dbname>"
export GREPTIME_USERNAME="<username>"
export GREPTIME_PASSWORD="<password>"
启动 Telegraf 实例
准备好 GreptimeDB 集群之后的下一步,就是启动一个 Telegraf 实例来收集事件信息。
如果用户还没有安装 Telegraf,请前往其安装页面获取指南。例如,如果用户使用 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
查询采集到的事件信息
用户可以便捷地从 GreptimeCloud Web 控制台查询 GreptimeDB 中的数据:
此外,用户还可以从统计数据中构建图表进行可视化分析:
希望本教程能帮助用户轻松上手使用 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
Twitter: https://twitter.com/Greptime
Slack: https://greptime.com/slack