时序数据库之InfluxDB及其Telegraf的使用
本文介绍了时序数据库及其代表InfluxDB的使用操作1 背景2 技术选型3 InfluxDB安装Web控制台加载数据源4 Telegraf的使用安装Telegraf配置插件启动服务5 参考文献
时序数据库之InfluxDB及其Telegraf的使用
【转载请注明出处: https://leytton.blog.csdn.net/article/details/120806860】
1 背景
目前对于时序大数据的存储和处理往往采用关系型数据库的方式进行处理,但由于关系型数据库天生的劣势导致其无法进行高效的存储和数据的查询。时序大数据解决方案通过使用特殊的存储方式,使得时序大数据可以高效存储和快速处理海量时序大数据,是解决海量数据处理的一项重要技术。该技术采用特殊数据存储方式,极大提高了时间相关数据的处理能力,相对于关系型数据库它的存储空间减半,查询速度极大的提高。【1】
时序数据库主要用于存储基于时间序列的指标数据,例如一个Web页面的PV、UV等指标,将其定期采集,并打上时间戳,就是一份基于时间序列的指标。时序数据库通常用来配合前端页面来展示一段时间的指标曲线。【2】
2 技术选型
打开数据库排名网站DB-Engines Ranking,左侧选择时序数据库(Time Series DBMS),如下图所示:
可见,InfluxDB遥遥领先,其他数据库也可以去查找相关资料了解其特性,比如说:
Apache Druid,国内很多大厂都有使用,如阿里、土豆、优酷、微博、小米、滴滴、有赞等,参考 http://druid.apache.org/druid-powered。
比较常见的使用场景【3】:
- 点击流分析(web 和 mobile 分析)
- 风控分析
- 网路遥测分析(网络性能监控)
- 服务器指标存储
- 供应链分析(制造业指标)
- 应用性能指标
- 商业智能/实时在线分析系统 OLAP
TDengine,国产数据库,据官网介绍,性能碾压大部分时序数据库,参考https://www.taosdata.com/cn/documentation。
更多可以参考这篇文章:《时间序列数据库(TSDB)初识与选择》
本文着重关注InfluxDB。
3 InfluxDB
InfluxDB
是一款Go语言写的时序数据库,开源版不支持集群。但单机性能强、生态好,SDK以及文档丰富。
安装
打开官方文档,里面有各种系统的安装方式,本文测试环境为CentOS7,在此我们使用docker安装体验:
docker run --name influxdb -p 8086:8086 influxdb:2.0.9
Web控制台
打开Web控制台 http://localhost:8086,填入账号密码、团队组织信息、以及初始化桶名称(将用于存储数据保留策略等系统信息)
进入控制台后,分三步开始,采集加载数据->创建观察面板->设置预警
加载数据源
加载数据源可以是采用丰富的客户端库进行数据写入,也可以直接使用各种各样的Telegraf插件采集数据。Telegraf是一个数据采集代理,类似与ElasticSearch的Logstash,需要安装才能使用。
比如我们要采集CPU信息,提示需要安装Telegraf,如下图:
4 Telegraf的使用
Telegraf的使用分三步:
- 安装Telegraf
- 配置插件
- 启动服务
安装Telegraf
打开Telegraf文档,查看安装和使用手册。
执行以下命令:
cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
sudo yum install telegraf
配置插件
打开/etc/telegraf/telegraf.conf
文件,配置CPU信息采集(默认已配置)。
我们创建一个桶用于存储测试数据,可以设置数据自动删除的时间:
配置采集到的数据输出到创建的桶里:
启动服务
sudo systemctl start telegraf
创建Dashboard,并把数据添加进来即可直观查看图表:
后续再测试客户端SDK。
5 参考文献
更多推荐
所有评论(0)