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

使用 collected 向 TDengine 写入数据

在这里插入图片描述

collectd 是一个用来收集系统性能的守护进程。collectd 提供各种存储方式来存储不同值的机制。它会在系统运行和存储信息时周期性的统计系统的相关统计信息。利用这些信息有助于查找当前系统性能瓶颈和预测系统未来的负载等。

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

前置条件

要将 collectd 数据写入 TDengine,需要几方面的准备工作。

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

配置步骤

配置 taosAdapter

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

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

    ...
    [opentsdb_telnet]
    enable = true
    maxTCPConnections = 250
    tcpKeepAlive = false
    dbs = ["opentsdb_telnet", "collectd", "icinga2", "tcollector"]
    ports = [6046, 6047, 6048, 6049]
    user = "root"
    password = "taosdata"
    ...
    

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

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

配置 collectd

collectd 使用插件机制可以以多种形式将采集到的监控数据写入到不同的数据存储软件。TDengine 支持直接采集插件和 write_tsdb 插件。

  1. 配置直接采集插件

    修改 collectd 配置文件(默认位置 /etc/collectd/collectd.conf)相关配置项。

    LoadPlugin network
    <Plugin network>Server "<taosAdapter's host>" "<port for collectd direct>"
    </Plugin>
    

    其中 <taosAdapter’s host> 填写运行 taosAdapter 的服务器域名或 IP 地址。<port for collectd direct> 填写 taosAdapter 用于接收 collectd 数据的端口(默认为 6045)。

    示例如下:

    LoadPlugin network
    <Plugin network>Server "127.0.0.1" "6045"
    </Plugin>
    
  2. 配置 write_tsdb 插件

    修改 collectd 配置文件(默认位置 /etc/collectd/collectd.conf)相关配置项。

    LoadPlugin write_tsdb
    <Plugin write_tsdb><Node>Host "<taosAdapter's host>"Port "<port for collectd write_tsdb plugin>"...</Node>
    </Plugin>
    

    其中 <taosAdapter’s host> 填写运行 taosAdapter 的服务器域名或 IP 地址。<port for collectd write_tsdb plugin> 填写 taosAdapter 用于接收 collectd write_tsdb 插件的数据(默认为 6047)。

    LoadPlugin write_tsdb
    <Plugin write_tsdb><Node>Host "127.0.0.1"Port "6047"HostTags "status=production"StoreRates falseAlwaysAppendDS false</Node>
    </Plugin>
    

    然后重启 collectd:

    systemctl restart collectd
    

验证方法

重启 collectd

sudo systemctl restart collectd

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

taos> show databases;name              |
=================================information_schema             |performance_schema             |collectd                       |
Query OK, 3 row(s) in set (0.003266s)taos> use collectd;
Database changed.taos> show stables;name              |
=================================load_1                         |memory_value                   |df_value                       |load_2                         |load_0                         |interface_1                    |irq_value                      |interface_0                    |entropy_value                  |swap_value                     |
Query OK, 10 row(s) in set (0.002236s)taos> select * from collectd.memory_value limit 10;ts               |           value           |              host              |         type_instance          |           type           |
=========================================================================================================================================================2022-04-20 09:27:45.459653462 |        54689792.000000000 | shuduo-1804                    | buffered                       | memory                   |2022-04-20 09:27:55.453168283 |        57212928.000000000 | shuduo-1804                    | buffered                       | memory                   |2022-04-20 09:28:05.453004291 |        57942016.000000000 | shuduo-1804                    | buffered                       | memory                   |2022-04-20 09:27:45.459653462 |      6381330432.000000000 | shuduo-1804                    | free                           | memory                   |2022-04-20 09:27:55.453168283 |      6357643264.000000000 | shuduo-1804                    | free                           | memory                   |2022-04-20 09:28:05.453004291 |      6349987840.000000000 | shuduo-1804                    | free                           | memory                   |2022-04-20 09:27:45.459653462 |       107040768.000000000 | shuduo-1804                    | slab_recl                      | memory                   |2022-04-20 09:27:55.453168283 |       107536384.000000000 | shuduo-1804                    | slab_recl                      | memory                   |2022-04-20 09:28:05.453004291 |       107634688.000000000 | shuduo-1804                    | slab_recl                      | memory                   |2022-04-20 09:27:45.459653462 |       309137408.000000000 | shuduo-1804                    | used                           | memory                   |
Query OK, 10 row(s) in set (0.010348s)

提示:

  • TDengine 默认生成的子表名是根据规则生成的唯一 ID 值。

关于 TDengine

TDengine 是一款专为物联网、工业互联网等场景设计并优化的大数据平台,其核心模块是高性能、集群开源、云原生、极简的时序数据库。它能安全高效地将大量设备每天产生的高达 TB 甚至 PB 级的数据进行汇聚、存储、分析和分发,并提供 AI 智能体对数据进行预测与异常检测,提供实时的商业洞察。

http://www.dtcms.com/a/263582.html

相关文章:

  • 论文中用matplotlib画的图,如何保持大小一致。
  • OpenWrt | 使用 Docker 运行 iperf3
  • 前后端Dockerfile
  • 2025年 UI 自动化框架使用排行
  • GeoTools 结合 OpenLayers 实现属性查询(二)
  • 嵌入式原理与应用篇---常见基础知识(10)
  • 【软考高项论文】论信息系统项目的进度管理
  • Spring-事务和事务传播机制
  • DFMEA检查表模板下载
  • 简单的 PyTorch 示例,可视化和解释 weight decay 的作用
  • 云上攻防—Docker安全容器逃逸特权模式危险挂载
  • 【C++】简单学——模板初阶
  • tauri v2 开源项目学习(一)
  • PSQL 处理 BLOB 类型数据问题
  • 华为云Flexus+DeepSeek征文 | ​​华为云ModelArts Studio大模型与企业AI会议纪要场景的对接方案
  • 数据库事务全面指南:概念、语法、机制与最佳实践
  • C++ 快速回顾(五)
  • 【冷知识】Spring Boot 配置文件外置
  • SpringBoot -- 自动配置原理
  • Bessel位势方程求解步骤
  • STL简介+string模拟实现
  • 「Java案例」计算矩形面积
  • 大数据(3)-Hive
  • 【算法】动态规划:1137. 第 N 个泰波那契数
  • 初等变换 线性代数
  • C++ STL之string类
  • Windows11系统中安装docker并配置docker镜像到pycharm中
  • EA自动交易完全指南:从策略设计到实盘部署
  • SpringBoot 启动入口深度解析:main方法执行全流程
  • Android Telephony 网络状态中的 NAS 信息