Telegraf如何对接TSDB
Telegraf是一款开源的数据采集代理。其设计目标是较小的内存使用,通过插件来构建各种服务和第三方组件的 metrics 收集。Telegraf的内置插件支持将采集的数据上报给OpenTSDB。由于时间序列数据库 TSDB(以下简称“TSDB”)全面兼容OpenTSDB,因此用户可以使用Telegraf来对接TSDB。
本文将介绍如何在用户的已有应用环境中部署Telegraf监控代理, 并对接公有云TSDB实例使之接收Telegraf的上报数据。
前提条件
确保已有的待检测应用环境(以下简称“应用环境”)已经连接上公网,并获得了公网IP。
已申请公有云的TSDB实例,并在网络白名单中填入上述应用环境的公网IP。详情请参见设置网络白名单。
已申请公网地址,并确认从应用环境可以连接到该TSDB实例的公网域名。
安装Telegraf
请结合应用环境所属的平台种类,选择合适自身平台的安装方式,详情请参见Telegraf帮助文档。
配置Telegraf连接TSDB
修改 Telegraf 的配置文件
telegraf.conf
,找到其中的OUTPUT PLUGINS
部分。关闭掉
output.influxdb
的插件,启用output.opentsdb
插件。...... #[[outputs.influxdb]] ~(下略)~ [[outputs.opentsdb]] ......
配置[[outputs.opentsdb]]的相关设置。
配置TSDB实例的域名和端口。填入类似以下的内容。
host = "http://{TSDB实例ID}.hitsdb.rds.aliyuncs.com" port = 3242
说明host必须填上“http://"前缀,否则Telegraf将使用telnet命令上报数据,TSDB当前并不支持。
3242是公有云TSDB实例在公网暴露的默认端口。
配置数据上报时的HTTP接口。可通过打开
http_path = "/api/put"
注释来实现。同时可以通过设置http_batch_size
来指定上报数据时一次批量写入的数据点数。配置Telegraf写入指标时的分隔符。可通过设置
separator
实现指标的分隔符,但是分隔符只能选用TSDB所支持的字符,详情请参见写入数据。关于其他可配置项的设置,详情请参见Telegraf 在线文档。
启动Telegraf,开启数据上报。 数据上报后,可以在TSDB实例的管控平台的实例监控页面,查看数据的写入情况。