运维监控场景下,如何从OpenTSDB迁移到TDengine
OpenTSDB是一个经典的时序数据库系统,它没有开发自己的存储引擎,而是基于HBase,对于已经有HBase基础服务的企业而言,降低了门槛。而且得益于其先发优势,OpenTSDB在运维监控领域有不少应用。不过也因为要依赖HBase,系统的性能、压缩效率逐渐成为瓶颈。随着业务系统规模的扩大,部署成本、运行效率等方面的问题日益严重。此外,OpenTSDB的功能升级也比较缓慢。 与之相比,TDengine有着明显的优势:
- 数据写入和查询的性能远超OpenTSDB;
- 针对时序数据的高效压缩机制,压缩后在磁盘上的存储空间不到OpenTSDB的1/5;
- 安装部署非常简单,单一安装包完成安装部署,除了taosAdapter需要依赖Go运行环境外,不依赖其他第三方软件,整个安装部署非常迅速;
- 提供的内建函数覆盖OpenTSDB支持的全部查询函数,还支持更多的时序数据查询函数、标量函数及聚合函数,支持多种时间窗口聚合、连接查询、表达式运算、多种分组聚合、用户定义排序、以及用户定义函数等高级查询功能。采用类 SQL 的语法规则,更加简单易学,基本上没有学习成本。
- 支持多达128个标签,标签总长度可达到16KB;
- 除HTTP 之外,还提供Java、Python、C、Rust、Go 等多种语言的接口。
如果我们将原本运行在OpenTSDB上的应用迁移到 TDengine 上,不仅可以有效降低计算和存储资源的占用、减少部署服务器的规模,还能够极大减少运行维护成本,让运维管理工作更简单、更轻松,大幅降低总拥有成本。
本文将以“使用最典型并广泛应用的运维监控场景”来说明,不用编写一行代码,如何将基于OpenTSDB的应用快速、安全、可靠地迁移到 TDengine之上。
1、典型运维监控应用场景
一个典型的运维监控应用场景的系统整体的架构如下图(图1) 所示。
图1. 运维监控场景典型架构
在该应用场景中,包含了部署在应用环境中负责收集机器度量(Metrics)、网络度量(Metrics)以及应用度量(Metrics)的 Agent 工具,汇聚Agent所收集信息的数据收集器,负责数据持久化存储和管理的系统以及监控数据可视化工具(例如:Grafana等)。
其中,部署在应用节点的Agent负责向collectd/Statsd提供不同来源的运行指标,collectd/StatsD则负责将汇聚的数据推送到OpenTSDB集群系统,然后使用Grafana将数据以可视化的方式呈现出来。
2、迁移服务
-
TDengine 安装部署
首先是TDengine的安装,从官网上下载TDengine最新稳定版,解压缩后运行install.sh进行安装。各种安装包的使用帮助可参考《TDengine多种安装包的安装和卸载》。 注意,安装完成以后,不要立即启动 taosd 服务,在正确配置完成参数以后再启动。
-
调整数据收集器配置
在TDengine 2.3版本中,在后台服务taosd启动后,一个叫taosAdapter的HTTP的服务也会自动启用。利用taosAdapter,能够兼容Influxdb的Line Protocol和OpenTSDB的telnet/Json写入协议,所以我们可以将collectd和StatsD收集的数据直接推送到TDengine。
如果使用collectd,修改其默认位置在/etc/collectd/collectd.conf
的配置文件,使其指向taosAdapter部署的节点IP地址和端口。假设taosAdapter的IP地址为192.168.1.130,端口为 6046,配置如下:
LoadPlugin write_tsdb <Plugin write_tsdb> <Node> Host "192.168.1.130" Port "6046" HostTags "status=production" StoreRates false AlwaysAppendDS false </Node> </Plugin>
这样collectd就可以通过taosAdapter将数据写入TDengine了。如果使用的是StatsD,可以相应地调整配置文件。
- 调整看板(Dashborad)系统
在数据能够正常写入TDengine后,可以调整适配Grafana,将写入TDengine的数据可视化呈现出来。在TDengine的安装目录下有为Grafana提供的连接插件(connector/grafanaplugin)。使用很简单:
首先将grafanaplugin目录下的dist目录整体拷贝到Grafana的插件目录(默认地址为 /var/lib/grafana/plugins/
),然后重启Grafana,即可在Add Data Source菜单下看见 TDengine 数据源。
此外,TDengine还提供了两套默认的Dashboard 模板,供用户快速查看保存到TDengine库里的信息。只需要其导入到Grafana中并激活。
图2. 导入Grafana模板
至此,我们就完成了将OpenTSDB替换成为TDengine的迁移工作。可以看到整个流程非常简单,不需要写代码,只需要调整某个配置文件。
3、迁移后架构
完成迁移以后,此时的系统整体的架构如下图(图3)所示,而整个过程中采集端、数据写入端、以及监控呈现端均保持了稳定,除了极少的配置调整外,不涉及任何重要的更改和变动。
图3. 迁移完成后的系统架构
OpenTSDB的主要应用场景就是运维监控,这种情况下我们可以轻松完成向TDengine的迁移,从而用上 TDengine更加强大的处理能力和查询性能。
在绝大多数运维监控场景中,如果拥有一个小规模的OpenTSDB集群(3台及以下的节点)作为监控数据的存储端,依赖OpenTSDB所提供的数据存储和查询功能,那么可以安全地将其替换为TDengine,并节约更多的计算和存储资源。在同等计算资源配置情况下,单台TDengine即可实现3 ~ 5台OpenTSDB节点提供的服务能力。如果规模比较大,那便需要采用TDengine集群。
如果应用特别复杂,或者应用领域并不是运维监控场景,你可以继续阅读下一篇文章,更加全面深入地了解将OpenTSDB应用迁移到TDengine的高级话题。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
云原生PaaS平台LIGHT-CORE实践之道:基于K8s,聚焦服务与价值
“没有集装箱,就没有全球化。” 在集装箱物流运输崛起前,码头是货物流转的核心地。人工装货、卸货的货物处理流程复杂、耗时、成本高昂。 于是,最初的集装箱运输理念出现了。从航海革命到世界经济的重塑,是运输技术的优化变革对全球产业链产生了巨大的经贸效应。 而集装箱所代表的标准化、集成化、组装化等先进的效能生产理念正延展到其他行业,对非物流领域带来了诸多启发,比如计算机行业的容器化部署和应用。 数字化转型期,金融机构的最佳实践路径便是以容器化技术为核心的云原生演进。 为满足金融业务敏捷交付的需求,金融机构的容器应用部署方案经历了不同阶段的发展,从原来单体架构时期的虚拟化技术跨越至应用容器化,如今又进一步朝云原生PaaS平台演进。 从虚拟化技术到容器化应用 单机时代,硬件成本高昂,资源利用率不高。虚拟化技术成为最早解决开发中各种资源利用率不高、成本居高不下等问题的关键方案。 目前大部分金融机构的数据中心都采用了硬件虚拟化,但应用部署效率并不高,因此更轻量的方案“操作系统虚拟化”诞生了。 所谓操作系统虚拟化,即“容器化”技术。由操作系统创建虚拟的系统环境,使应用独立部署,在整个环境中可做到无感知运...
- 下一篇
Jetpack Compose 现已支持 Material You | 2021 Android 开发者峰会
作者 / 开发者关系工程师 Nick Butcher 上个月,Android 开发者峰会 为 Jetpack Compose 带来了许多 激动人心的更新,包括 Google 的新设计语言 Material You,Compose 现已对其提供支持。若您错过了某些内容,可以通过本文简要了解精彩内容,也可以 点击这里 查看精彩内容视频。 新版本: Jetpack Compose 1.1 Beta 版和 compose-material 3 我们发布了 Jetpack Compose 1.1 Beta 版。这意味着 1.1 中的新 API 现已稳定,可以为您提供新的功能并带来性能提升。1.1 新增了一些功能,比如经过优化的焦点处理、触摸目标值、"ImageVector" 缓存和对 Android 12 拉伸滚动的支持。Compose 1.1 还让许多之前的实验性 API 过渡到了稳定阶段,并支持新版 Kotlin。我们已经更新了 示例、Codelab 和 Accompanist 开发库,以便与 Compose 1.1 搭配使用。 我们发布了 compose-material 3。这是使用 J...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作