前面说到,JMeter修改了.jtl的格式后,无法生成测试结果报表,而即便使用JMeter的报表,面对7、8G大小的.jtl,生成报表将非常耗时。往往为了等报告,1天的时间就过去了。
先想想我们性能测试人员或运维人员都要面临的资源监控问题。如:
- 按时间序列保存资源指标
- 保存的指标能被快速、直观、实时地查询
- 最好能可视化的方式呈现趋势
- 资源保存安全可靠
- …
TICK就是用来解决这一系列问题的架构。下面一起来看看。
TICK 是什么
TICK 是由 influxdata 公司研发的一套解决方案,能用于资源监控、存储和查询,并具有丰富的插件支持,在物联网也有广泛用途。
TICK 是一个缩写,包含了四个部分:
- Telegraf:是一个 plugin-driver 服务器,用于收集和报告指标。简单来说就是从其运行的系统中获取各种指标,然后通过输出插件将指标数据发送到各种其他的数据存储服务或消息队列中,包括InfluxDB、Graphite、MQTT、Kafka等等。
- InfluxDB:是一个时间序列数据库(意味着数据发生的时间戳与数据本身同样重要),用于处理高写入和查询的场景,并且具有专门为时间戳数据设计的存储引擎,但更新和插入数据操作会受限。对于DevOps监控、物联网监控和实时分析等用例特别有帮助。
- Chronograf:TICK 的管理用户界面和可视化组件,可以通过它配置监控和警报的设置。
- Kapacitor:是一个原生的数据处理引擎,他可以处理来自 influxDB 的流数据和批数据,并允许我们插入自定义的逻辑和自定义的函数,以处理警报等操作。
四者关系如下图:
InfluxDB 关键概念
【以下内容来自官网资料 InfluxDB key concepts】
influxDB 数据元素
InfluxDB 使用时间戳、字段键、字段值、标签等元素来构造数据,其中InfluxDB 2.3版本包含以下几种数据元素: