全部产品
云市场

OpenFalcon如何对接TSDB

更新时间:2019-06-14 16:43:32

Open-Falcon是国内由 小米科技® 开源出来的一款互联网企业级监控产品,在国内的不少互联网企业中都有广泛引用。Open-Falcon拥有众多的组件,全面实现了监控数据的采集,分发,归档,查询,告警等一系列功能。不过在Open-Falcon产品中,其监控数据的存储需要存放在外部的时序数据库中,如今,阿里云TSDB已经支持Open-Falcon中产生的监控数据存放于在阿里云的TSDB实例中。

本文将介绍如何通过设置将一个Open-Falcon集群中采集的监控数据存放于阿里云TSDB中。使用阿里云TSDB接入Open-Falcon集群后的整体架构图如下所示:

Architecture_on_OpenFalcon_with_TSDB

事前准备

本文将基于Open-Falcon的v0.2版本系列介绍其与TSDB对接的方法,假定用户已经根据Open-Falcon v0.2 的官方文档 中介绍的分布式安装的方式进行了Open-Falcon集群的安装和部署。

  • 如果Open-Falcon集群部署在用户自建机房中,请确保以下事项:

    1. Open-Falcon集群中的中Transfer节点可以连接上公网
    2. 所申请的TSDB实例已申请了公网地址(假设开通后的公网地址为:ts_xxxx.hitsdb.rds.aliyuncs.com:3242
      • TSDB实例管理界面中申请公网地址的入口TSDB公网申请
    3. Transfer节点的公网地址加入进了TSDB实例的网络白名单。
  • 如果Open-Falcon集群已经部署在了阿里云上的ECS中,请确保以下事项:

    1. 申请的TSDB实例所用的VPC网络与Open-Falcon集群所在的VPC网络为同一网络。 (假定开通后的TSDB实例的VPC网络地址为:ts_xxxx.hitsdb.tsdb.aliyuncs.com:8242
    2. Transfer节点的VPC网络地址加入进了TSDB实例的网络白名单。

注意事项

只有TSDB引擎版本为2.5.3及以上的TSDB实例才具备了与Open-Falcon对接的能力。请在继续以下步骤前确认所使用的TSDB引擎版本号。

确认方法如下:

  1. $curl ts_xxxx.hitsdb.tsdb.aliyuncs.com:8242/api/version
  2. {...(左略)...,"version":"2.5.3",...(右略)...}

配置Transfer节点连接TSDB

在Open-Falcon集群中,负责接收采集到的监控数据并转发写入到时序数据库的是Transfer节点(可能有多个Transfer节点部署成集群方式),因此该章节介绍如何设置Transfer节点连接TSDB实例。

  1. 修改Transfer节点的配置文件(配置文件的默认路径为 /path/to/transfer/config/cfg.json
    • tsdb参数设置为true,表示启用时序数据库作为其后端时序数据的存储
    • 修改address参数,将值修改为TSDB实例中的公网地址或者VPC网络地址(具体使用公网地址还是VPC网络地址,取决于之前Open-Falcon集群的部署形态。相见章节【事前准备】)
    • 以下展示了配置连接TSDB实例的Transfer节点的配置文件片段
      1. {
      2. ...(其余略)...
      3. "tsdb": {
      4. "enabled": true,
      5. "batch": 200,
      6. "Timeout": 1000,
      7. "callTimeout": 5000,
      8. "maxConns": 32,
      9. "maxIdle": 32,
      10. "retry": 3,
      11. "address": "ts_xxxx.hitsdb.tsdb.aliyuncs.com:8242"
      12. }
      13. }
  2. 重启Transfer进程。
  3. 如果存在多个Transfer节点,对其余的Transfer节点重复上述步骤1~2

设置完毕后,就可以在TSDB实例的管理控制台的【实例监控】界面中看见Open-Falcon采集的监控数据被源源不断的写入。之后还可以参照Grafana如何对接TSDB一文中介绍的方法将该实例与Grafana对接,对TSDB实例的数据进行可视化分析。