测试开发工程师,你该如何快速提升工作效率?来试试这个新技术!

随着互联网技术的日益发展,测试开发工程师要达到“保障质量、提升效率”目标,提升效率更体现在方方面面。作为测试开发工程师,需要掌握基本开发技能,对代码能力也有一定的要求,这也是对项目多一道强有力的保障。

在这里插入图片描述

在功能测试遇到BUG时,测试开发工程师需在编译器中调试代码,一边追根溯源,一边监测代码质量。而“追根溯源”这一步最重要的依据就是系统输出日志,日志也是开发人员定位问题的第一检查场所。因此,为提升这部分工作效率,小编想通过ELK搭建一套日志收集、存储、展示的工具,来解决目前存在的日志查看效率低下、缺少可视化界面等问题。

1、什么是ELK

ELK由又Elasticsearch、Logstash和Kibana三个工具的首字母拼写而成,下面对这些工具进行简单介绍。

(1)Logstash

Logstash是一种数据处理管道,能够从多个不同的来源收集数据,进行转换之后将数据发送到需要的地方,它支持几乎任何类型的日志。

(2)Elasticsearch

Elasticsearch是一个基于Lucene分布式、RESTful风格的搜索和数据分析引擎,可以近乎实时的存储、检索数据,具有良好的扩展性。

(3)Kibana

Kibana是一个开源的分析和可视化平台,是用于展示日志信息的图形界面,能够分析和可视化存储在 Elasticsearch指标中的日志数据。

2、如何构建ELK通道

使用ELK工具搭建的日志管理平台整体架构如图1所示。其中Logstash用来收集、分析、过滤日志信息,收集到的信息经过预处理和过滤之后发送到Elasticsearch;Elasticsearch提供日志分析存储功能,实现全文搜索;Kibana为日志信息可视化功能提供展示界面,展示存储在Elasticsearch中的日志数据,供用户查询分析。

图1 日志管理平台架构图
Logstash中日志收集与预处理比较操作较为复杂,需要手动编写配置文件。Logstash包含三个部分:输入插件(input)、过滤器(filter)、输出插件(output),输入插件收集来自各个模块的日志,过滤器插件预处理收集到的日志,输出插件将日志写入目标。Logstash处理日志的详细流程如图2所示,Logstash启动前需要编写一个(.conf)配置文件,配置文件中有三个插件及各自包含的控件等配置。
在这里插入图片描述

图2 Logstash日志处理流程示意图
Elasticsearch与Kibana的配置文件较为简单,只需更改已有配置文件参数。

Elasticsearch更改配置如下:

http.port: 9200

http.cors.allow-origin: “/.*/”

http.cors.enabled: true

Kibana更改配置如下:

elasticsearch.url: “http://localhost:9200”

三个工具的启动方式也类似,进入软件安装包的bin目录下,通过命令行启动即可。最后在浏览器中输入Kibana的地址,端口号默认5601,界面如图3所示。

在这里插入图片描述

图3 Kibana界面展示图

3、使用ELK的思考

在测试环境中,将被测系统的日志收集存储到ELK平台,最终在Kibana界面中查看,不仅能够对存储的日志进行全文检索,直接定位到输出级别为ERROR的日志,同时对于Linux操作和IDE调试不熟练的测试人员,能够降低通过日志定位问题的门槛。

日志作为一个持续输出的增量文件,在后续的使用中应考虑存储空间的问题,设计方案定期解决过期日志;当遇到日志迸发的高峰期时,硬件条件一定的情况下,需要调整Logstash的配置参数,提高整体数据传输速率。对于以上问题,小编会在接下来的实践中不断摸索尝试,为大家带来更多解决方案。


END

公众号:程序员二黑,获取软件测试资源(面试题,PDF文档,视频教程)

好东西要和朋友一起分享哦

猜你喜欢

转载自blog.csdn.net/m0_53918927/article/details/113619365