Telegraf如何对接TSDB

Telegraf是一款开源的数据采集代理。其设计目标是较小的内存使用,通过插件来构建各种服务和第三方组件的 metrics 收集。Telegraf的内置插件支持将采集的数据上报给OpenTSDB。由于时序数据库TSDB(以下简称“TSDB”)全面兼容OpenTSDB,因此用户可以使用Telegraf来对接TSDB。

本文将介绍如何在用户的已有应用环境中部署Telegraf监控代理, 并对接公有云TSDB实例使之接收Telegraf的上报数据。

前提条件

  • 确保已有的待检测应用环境(以下简称“应用环境”)已经连接上公网,并获得了公网IP。

  • 已申请公有云的TSDB实例,并在网络白名单中填入上述应用环境的公网IP。操作详情,请参见创建实例设置网络白名单

  • 已申请公网地址,并确认从应用环境可以连接到该TSDB实例的公网域名。

安装Telegraf

请结合应用环境所属的平台种类,选择合适自身平台的安装方式,详情请参见Telegraf帮助文档

配置Telegraf连接TSDB

  1. 修改 Telegraf 的配置文件telegraf.conf,找到其中的OUTPUT PLUGINS部分。

  2. 关闭掉output.influxdb的插件,启用output.opentsdb插件。

     ......
     #[[outputs.influxdb]]
     ~(下略)~
     [[outputs.opentsdb]]
     ......
  3. 配置[[outputs.opentsdb]]的相关设置。

    1. 配置TSDB实例的域名和端口。填入类似以下的内容。

       host = "http://{TSDB实例ID}.hitsdb.rds.aliyuncs.com"
       port = 3242
      说明
      • host必须填上“http://"前缀,否则Telegraf将使用telnet命令上报数据,TSDB当前并不支持。

      • 3242是公有云TSDB实例在公网暴露的默认端口。

    2. 配置数据上报时的HTTP接口。可通过打开http_path = "/api/put"注释来实现。同时可以通过设置http_batch_size来指定上报数据时一次批量写入的数据点数。

    3. 配置Telegraf写入指标时的分隔符。可通过设置separator实现指标的分隔符,但是分隔符只能选用TSDB所支持的字符,参见详情写入数据

    4. 关于其他可配置项的设置,请参照Telegraf 在线文档

  4. 启动Telegraf,开启数据上报。 数据上报后,可以在TSDB实例的管控平台的实例监控页面,查看数据的写入情况。

    数据写入监控