当前位置: 首页 > news >正文

使用 StatsD 向 TDengine 写入

在这里插入图片描述

StatsD 是汇总和总结应用指标的一个简单的守护进程,近些年来发展迅速,已经变成了一个用于收集应用性能指标的统一的协议。

只需要在 StatsD 的配置文件中填写运行 taosAdapter 的服务器域名(或 IP 地址)和相应端口即可将 StatsD 的数据写入到 TDengine 中,可以充分利用 TDengine 对时序数据的高效存储查询性能和集群处理能力。

前置条件

要将 StatsD 数据写入 TDengine 需要以下几方面的准备工作。

  • TDengine 集群已经部署并正常运行
  • taosAdapter 已经安装并正常运行。具体细节请参考 taosAdapter 的使用手册
  • StatsD 已经安装。安装 StatsD 请参考 官方文档

配置步骤

配置 taosAdapter

配置 taosAdapter 接收 StatsD 数据的方法:

  • 在 taosAdapter 配置文件(默认位置 /etc/taos/taosadapter.toml)中使能配置项

    ...
    [statsd]
    enable = true
    port = 6044
    db = "statsd"
    user = "root"
    password = "taosdata"
    worker = 10
    gatherInterval = "5s"
    protocol = "udp"
    maxTCPConnections = 250
    tcpKeepAlive = false
    allowPendingMessages = 50000
    deleteCounters = true
    deleteGauges = true
    deleteSets = true
    deleteTimings = true
    ...
    

    其中 taosAdapter 默认写入的数据库名称为 statsd,也可以修改 taosAdapter 配置文件 db 项来指定不同的名称。user 和 password 填写实际 TDengine 配置的值。修改过配置文件 taosAdapter 需重新启动。

  • 使用 taosAdapter 命令行参数或设置环境变量启动的方式,使能 taosAdapter 接收 StatsD 数据功能,具体细节请参考 taosAdapter 的参考手册

配置 StatsD

使用 StatsD 需要下载其源代码。其配置文件请参考其源代码下载到本地的根目录下的示例文件 exampleConfig.js 进行修改。其中 <taosAdapter’s host> 填写运行 taosAdapter 的服务器域名或 IP 地址,<port for StatsD> 请填写 taosAdapter 接收 StatsD 数据的端口(默认为 6044)。

backends 部分添加 "./backends/repeater"
repeater 部分添加 { host:'<taosAdapter's host>', port: <port for StatsD>}

示例配置文件:

{
port: 8125
, backends: ["./backends/repeater"]
, repeater: [{ host: '127.0.0.1', port: 6044}]
}

增加如下内容后启动 StatsD(假设配置文件修改为 config.js)。

npm install
node stats.js config.js &

验证方法

运行 StatsD:

$ node stats.js config.js &
[1] 8546
$ 20 Apr 09:54:41 - [8546] reading config file: config.js
20 Apr 09:54:41 - server is up INFO

使用 nc 写入测试数据:

$ echo "foo:1|c" | nc -u -w0 127.0.0.1 8125

使用 TDengine CLI 验证从 StatsD 向 TDengine 写入数据并能够正确读出:

taos> show databases;name              |
=================================information_schema             |performance_schema             |statsd                         |
Query OK, 3 row(s) in set (0.003142s)taos> use statsd;
Database changed.taos> show stables;name              |
=================================foo                            |
Query OK, 1 row(s) in set (0.002161s)taos> select * from foo;ts               |         value         |         metric_type          |
=======================================================================================2022-04-20 09:54:51.219614235 |                     1 | counter                      |
Query OK, 1 row(s) in set (0.004179s)taos>

提示

  • TDengine will automatically create unique IDs for sub-table names by the rule.
http://www.lqws.cn/news/603325.html

相关文章:

  • Python应用指南:利用高德地图API获取公交+地铁可达圈(三)
  • 黑马python(二十三)
  • 【王阳明代数集合代数基础】文化资本理论实体意气感知评定亲疏情感偏序集,实例《临江仙》讲解情感分析之数据结构的演变
  • LL面试题11
  • 【Python】numpy数组常用数据处理(测试代码+api例程)
  • Git 运行.sh文件
  • 2025 推理技术风向标:DeepSeek-R1 揭示大模型从 “记忆” 到 “思考” 的进化路径
  • 基于SpringBoot + HTML 的网上书店系统
  • JavaEE线程概念
  • Yolov7训练自己的数据集和ONNX/TRT部署
  • MongoDB 常用增删改查方法及示例
  • C++ 快速回顾(六)
  • 数据结构与算法 第二章 线性表
  • CMS、OA、CRM、ERP 是什么意思?区别在哪里
  • CentOS Stream 下 Nginx 403 权限问题解决
  • 大模型-分布式论文一瞥
  • 植物small RNA靶基因预测软件,psRobot
  • Reactor ConnectableFlux支持多订阅者
  • RabbitMQ:消息队列的轻量级王者
  • 顶级SCI极光优化算法!PLO-Transformer-GRU多变量时间序列预测,Matlab实现
  • ChatGPT + GitHub Copilot + Cursor 实战提升编程效率
  • 量化选股策略 聚宽
  • 【硬核拆解】英伟达Blackwell芯片架构如何重构AI算力边界?
  • 【C++】头文件的能力与禁忌
  • BFD故障检测技术之概述
  • 【ArcGIS】矢量数据的叠加分析
  • 类加载生命周期与内存区域详解
  • 胖喵安初 (azi) Android 应用初始化库 (类似 Termux)
  • 物联网数据洪流下,TDengine 如何助 ThingLinks 实现 SaaS 平台毫秒级响应?
  • k8s将service的IP对应的不同端口分配到不同的pod上