TDengine + Telegraf + Grafana(TDengine初体验~)

最近GitHub上开源了一个专为IoT设计的大数据平台,相当火热(下图),我们先来跑一下官方给的demo,有个感性的认识。

(注:以下所有截图均来自我的微信公众号“生锈的TRUENO”,欢迎各位关注!)

    我们要跑的这个demo,是一个实时监测系统,主要分为三个步骤:1.数据采集,2.数据持久化,3.数据可视化。流程图如下:

我们可以看到,TDengine处于数据持久化阶段,充当了一个数据库的作用。下面,我们开始跑这个demo

    1、首先,我们先在Ubuntu上来安装TDengine:

    点击官方给的链接,进行下载:
https://www.taosdata.com/en/getting-started/#Install-from-Package

下载完毕后,安装。  

安装成功后,把TDengine设置为开启自启动服务:

systemctl start taosd

 设置成功后,在terminal中输入:taos,检测该服务是否已经启动(下图表示服务启动成功)。

    2、数据采集用的是“Telegraf”

这是一个开源的数据采集代理,在这个demo中,我们用它来收集CPU的不同指标信息。下面,我们来在Ubuntu上安装一下:

在terminal中输入:

wget https://dl.influxdata.com/telegraf/releases/telegraf_1.11.3-1_amd64.deb
sudo dpkg -i telegraf_1.11.3-1_amd64.deb

安装成功后, 需要对telegraf进行配置,使其可以读取CPU的指标信息:

打开/etc/telegraf/telegraf.conf,并把其中的“[[outputs.http]]”,修改为下面的样子:

[[outputs.http]]
  url = "http://localhost:6020/telegraf/udb"
  method = "POST"
  username = "root"
  password = "taosdata"
  data_format = "json"
  json_timestamp_units = "1ms" 

这样修改的目的是让telegraf连接taosd的接口,可以向其中传递数据,然后,我们需要修改[agent]部分:

[agent]
  hostname = "myhost"
  metric_batch_size = 30
  interval = "10s"
  debug = true
  omit_hostname = false 

现在,我们把telegraf设置为开启自启动服务:

sudo systemctl start telegraf

现在,telegraf理论上就会向TDengine传递数据了,我们通过SQL语句验证一下:

show databases;
use udb;
show stables;
show tables;

结果如下图,说明已经成功地创建了udb这个数据库,以及其中的表单;

到目前为止,数据收集和数据持久化均已完成,下面来实现数据的可视化:

    3、数据可视化:

    这部分用到了“Grafana”这个数据可视化工具,我们先来安装它:

在terminal中输入:

wget https://dl.grafana.com/oss/release/grafana_6.2.5_amd64.deb 
sudo dpkg -i grafana_6.2.5_amd64.deb

然后,把TDengine中Grafana的插件

tdengine-1.6.0.0/code/examples/grafana拷贝到/var/lib/grafana/plugins 这个路径下,然后启动这个服务:

sudo systemctl start grafana

现在,我们在浏览器中打开“localhost:3000”,用用户名admin和密码admin登录,然后在configuration中选择TDengine:

然后进行如下配置:

创建dashboard,点击“Add Query”,添加三个SQL查询,分别查询CPU处于空闲的时间比例(idle)、CPU运行用户进程的时间比例(user)以及CPU运行内核进程的时间比例(system),并将过去30分钟(时间可以人为设置)的数据情况以折线图的形式进行展示,如下图:

    目前为止,TDengine给我最直观的感受,就是一个用来存储时序数据的数据库,并且可以实现,在一个时间轴上显示多个时间线的数据,并且支持数据的订阅,一旦有新的订阅数据产生,就会通知应用(在这个demo中的体现,就是:被SQL查询的数据,如果出现新的,折线图就会随着时间先前推移),此外,历史数据和当前的实时数据可以一起显示,更方便分析数据的趋势。

    目前仅仅是跑了一个demo,至于官方说的:比其他数据库快10倍的插入与查询速度、1/5的计算资源、与其他工具的集成以及使用不同语言进行接口调用等功能,还有待考察。

发布了28 篇原创文章 · 获赞 6 · 访问量 2466

猜你喜欢

转载自blog.csdn.net/Kobe_1314/article/details/98041981