Telegraf是一款开源的数据采集代理。其设计目标是较小的内存使用,通过插件来构建各种服务和第三方组件的 metrics 收集。Telegraf的内置插件支持将采集的数据上报给OpenTSDB。由于时序时空数据库TSDB(以下简称”TSDB”)全面兼容OpenTSDB,因此用户可以使用Telegraf来对接TSDB。
本文将介绍如何在用户的已有应用环境中部署 Telegraf 监控代理, 并对接公有云 TSDB 实例使之接收 Telegraf 的上报数据。
事前准备
- 确保用户已有的待检测应用环境(以下简称”应用环境”)已经连接上公网,并获得了公网IP。
-
根据需要申请公有云的TSDB实例,并为它申请公网地址,并在网络白名单中填入上述应用环境的公网IP。
-
TSDB实例管理界面中申请公网地址的入口。
-
网络白名单配置界面。
-
-
TSDB公网地址申请后,确认从应用环境可以连接到该TSDB实例的公网域名。
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
注1: host必须填上 “http://"前缀, 否则Telegraf将使用telnet命令上报数据,TSDB当前并不支持。 注2: 3242 是公有云TSDB实例在公网暴露的默认端口。
-
配置数据上报时的HTTP接口。可通过打开
http_path = "/api/put"
注释来实现。同时可以通过设置http_batch_size
来指定上报数据时一次批量写入的数据点数。 - 配置Telegraf写入指标时的分隔符。可通过设置
separator
实现指标的分隔符。但需注意分隔符只能选用TSDB产品文档中所支持的字符。 - 关于其他可配置项的设置,请参照 Telegraf 在线文档。
-
-
启动Telegraf,开启数据上报。 数据上报开始后,可以从TSDB实例的管控平台的监控页面,看到数据的写入情况。监控页面的入口为 [阿里云时序时空数据库 TSDB 首页]->[管理控制台]->[实例列表]->[监控]。