全部产品
云市场

Telegraf如何对接TSDB

更新时间:2019-04-08 10:14:32

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

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

事前准备

  1. 确保用户已有的待检测应用环境(以下简称”应用环境”)已经连接上公网,并获得了公网IP
  2. 根据需要申请公有云的TSDB实例,并为它申请公网地址,并在网络白名单中填入上述应用环境的公网IP

    • TSDB实例管理界面中申请公网地址的入口TSDB公网申请

    • 网络白名单配置界面TSDB网络白名单

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

    TSDB实例域名以及端口会在公网地址申请成功后显示在下述位置: TSDB公共域名

安装Telegraf

请结合应用环境所属的平台种类,根据Telegraf的产品文档,选择适合自身平台的安装方式

配置Telegraf连接TSDB

  1. 修改 Telegraf 的配置文件telegraf.conf,找到其中的OUTPUT PLUGINS部分。
  2. 关闭掉 output.influxdb的插件,启用output.opentsdb插件
    1. ......
    2. #[[outputs.influxdb]]
    3. ~(下略)~
    4. [[outputs.opentsdb]]
    5. ......
  3. 配置[[outputs.opentsdb]]的相关设置

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

      1. host = "http://{TSDB实例ID}.hitsdb.rds.aliyuncs.com"
      2. port = 3242

      注1: host必须填上 “http://"前缀, 否则Telegraf将使用telnet命令上报数据,TSDB当前并不支持 注2: 3242 是公有云TSDB实例在公网暴露的默认端口

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

    3. 配置Telegraf写入指标时的分隔符。可通过设置separator实现指标的分隔符。但需注意分隔符只能选用TSDB产品文档中所支持的字符
    4. 关于其他可配置项的设置,请参照 Telegraf 在线文档
  4. 启动Telegraf,开启数据上报。 数据上报开始后,可以从TSDB实例的管控平台的监控页面,看到数据的写入情况。监控页面的入口为 [阿里云时序时空数据库 TSDB 首页]->[管理控制台]->[实例列表]->[监控]

    数据写入监控