1.什么是TICK技术栈?
1.1 简介
TICK 是由 InfluxData开发的一套开源工具栈,由 Telegraf, InfluxDB, Chronograf, Kapacitor 四个工具的首字母组成。
1.2 Telegraf
Telegraf是一个用Go语言开发的代理程序,可用于收集和报告指标。Telegraf插件直接从其运行的系统中获取各种指标,从第三方API中提取指标,甚至通过StatsD和Kafka消费者服务来监听指标。它还具有输出插件,可以将指标发送到各种其他数据存储,服务和消息队列,包括InfluxDB,Graphite,OpenTSDB,Datadog,Librato,Kafka,MQTT,NSQ等。github地址:https://github.com/influxdata/telegraf
1.3 InfluxDB
InfluxDB是一个用Go语言开发的时序数据库,用于处理高写入和查询负载,专门为带时间戳的数据编写,对DevOps监控,IoT监控和实时分析等应用场景非常有用。通过自定义配置让InfluxDB保留规定时间内的数据,并自动从系统中删除不在规定时间内的数据,可以节省计算机上的空间。InfluxDB还提供了一种类似于SQL的查询语言来与数据进行交互,并且InfluxDB相比传统关系型数据库更关注数据的实时性和并发插入时的承受能力。github地址:https://github.com/influxdata/influxdb
1.4 Chronograf
Chronograf是InfluxData的开源可视化引擎,可让通过数据的实时可视化快速构建仪表板,但是由于Chronograf没有Grafana扩展性和易用性强,所以后面会使用了Grafana替代Chronograf。github地址:https://github.com/influxdata/chronograf
1.5 Grafana
Grafana是一款采用go语言和Angular框架编写的开源的可视化工具,主要用于大规模指标数据的可视化展示,提供包括折线图,饼图,仪表盘等多种监控数据可视化UI,是网络架构和应用分析中最流行的时序数据可视化工具,支持多种不同的时序数据库数据源。github地址:https://github.com/grafana/grafana
1.6 Kapacitor
Kapacitor是InfluxData开源的数据处理引擎。它可以处理来自InfluxDB的流数据和批处理数据,并且用户可以用tickScript脚本来处理,监视和警报时序数据库中的时序数据。github地址:https://github.com/influxdata/kapacitor
1.7 小结
- Telegraf - 指标数据采集
- InfluxDB - 数据接收和存储
- Chronograf和Grafana - 数据可视化展示
- Kapacitor - 时序数据的处理,监视和警报等
2.TICK技术栈应用场景
在近几年互联网高速发展的背景下,时序数据逐渐成为各类大型企业和各种不同领域研究的对象,对应的业务场景也应运而生,那就是监控系统,而TICK是InfluxData提供面向时序列数据的一整套的开源的高性能监控解决方案。当然也有很多大型企业自己开发搭建基于时序数据库企业级的监控系统,例如小米、阿里的饿了吗等大型企业,它们也会用到TICK技术栈或者其中的某种工具,对于一些中小型企业要做基于时序数据的监控系统,TICK技术栈可以说是一种不可多得的选择。就目前而言,TICK技术栈中的InfluxDB已经被广泛用于各行各业,应用于存储系统的监控数据,IoT行业的实时数据等场景。
3.安装和部署
因为官方已经给了专业的文档,照着官网的文档进行安装部署非常的方便和简单。
- TICK套件下载安装地址:
https://portal.influxdata.com/downloads - Telegraf官方文档地址: https://docs.influxdata.com/telegraf/v1.12/introduction/getting-started/
- InfluxDB官方文档地址:
https://docs.influxdata.com/influxdb/v1.7/introduction/getting-started/ - Chronograf官方文档地址:https://docs.influxdata.com/chronograf/v1.7/introduction/getting-started/
- Grafana官方文档地址:
https://grafana.com/docs/ - Kapacitor官方文档地址: https://docs.influxdata.com/kapacitor/v1.5/introduction/getting-started/
参考资料
当然后续我也会继续出关于TICK每个套件的安装部署以及入门的文章,如果文中有错误或其它问题,欢迎在评论区及时指正和提出来,我会积极的进行处理的。