本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32062
一,测试右移介绍
1.1 测试右移的价值
测试环境不能完全模拟线上环境线上质量不仅取决于已发布代码,还取决于数据变更与配置变更线上测试可以获得更多质量数据辅助产 品更新
1.2 测试右移实践
(1)质量监控
apm 应用性能监控全链路监控 zipkin skywalking崩溃率监控 bugly线上用户体验特征监控与分析
(2)测试监控
测试的深度 更好测试的速度 更快测试的广度 更全测试的进度 管理
(3)精准测试
降低测试成本,根据代码变更定位用例 范围提高测试覆盖率,更准确覆盖被测业务提高测试用例有效性,反推有效测试用例
(4)故障注入混沌工程
(5)线上巡检与测试
二,数据采集与处理引擎 – logstash
2.1 logstash 简介
Logstash是一个收集与处理数据的引擎,就像ElasticSearch是专门用来检索的引擎一样,Logstash用于收集、处理和转换各种数据源(文件、数据库、网站等)的数据,并将其转换为统一的格式。
Logstash支持多种插件,进行数据过滤、转换和输出,可以方便地与 ES 和 Kibana 集成使用。
还支持多线程处理和事件模型,可以在大规模数据处理场景下提供高性能、高可用的服务。
2.2 logstash 处理流程
2.3 pipeline 机制
2.4 logstash 安装
(1)Linux安装方式
(2)docker安装部署
docker 方式:需要挂载本地数据路径与配置文件路径
查找镜像:docker search logstash
拉取镜像:docker pull logstash
启动容器:
# 把1ogstash.conf配置文件放到pipeline目录中,注意数据路径要为docker内的路径
# 把logstash.yam1挂载进去覆盖已有的默认域名,解决警告提示
# 把数据目录挂载进去
docker run it --rm
-v $PWD/config/logstash.yml:/usr/share/logstash/config/logstash.yml
-v $PWD/pipeline:/usr/share/logstash/pipeline
-v /home/demi/www/:/data/
docker.elastic.co/logstash/logstash:5.6.12
--config.reload.automatic
123456789101112
(3) input 常用配置
stdin{ }
file {
path =>"/data/*.csv"
}
file {
path =>"/data/*.json"
codec:json
}
kafka {
topic_id =>'topic name'
zk_connect =>'${zookeeper的地址}:2181/kafka'
}
123456789101112
(4) filter 常见配置
csv{
columns =>[ "log_time", "real_ip", "status", "http_user_agent"]
}
json {
source => "message"
}
123456
(5)output 常见配置
elasticsearch{
hosts=>["x.x.x.x"]
}
stdout {}
1234
(6)场景读取csv文件
docker run -it --rm logstash -e '
input { stdin { } }
filter {
csv { columns=>["a","b","c","d"] }
}
output { stdout {} }
'
1234567
(7)场景读取json数据
docker run -it --rm logstash -e '
input { stdin { } }
filter {
json { source=>"message" }
}
output { stdout {} }
'
1234567
(8) 自动推送 CSV 数据到 ES
docker run -it --rm logstash -e '
input {
file {
path=>["/data/*.csv"]
}
}
filter {
csv {
columns=>["a","b","c","d"] }
}
output {
elasticsearch {
hosts=>["http://172.17.0.1:9200"]
}
}
'
12345678910111213141516
(9) 读取 nginx 日志
在pipeline目录下新建nginx.conf文件,写入下记管道配置
input {
file{
path =>[ "/data/access.log"]
}
}
filter {
grok{ match =>{ "message" =>"%{COMBINEDAPACHELOG}"}}
geoip{ source =>"clientip"}
}
output{
stdout{}
elasticsearch {
hosts =>[ "http://h2.stug.ceshiren.com:9200"]
index => "logstash-nginx-%{+YYYY.MM.dd}"
}
}
12345678910111213141516
运行管道:
docker run it --rm -v $PWD/config/logstash.yml:/usr/share/logstash/config/logstash.yml -v $PWD/pipeline:/usr/share/logstash/pipeline -v /home/demi/www/access.log:/data/access.log logstash --config.reload.automatic
1
管道配置文件用法
字段引用:[][]“apache.${[response][status]}”
格式控制:%{}“/var/log/%{type}.%{+yyyy.MM.dd.HH}”
逻辑控制:filter{if[action]==“login”{mutate{ remove_field =>“secret”}}}
字段修改:plugins
推荐学习
【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战
【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)
【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)
【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)
【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)
【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试
【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff
【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享
【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装
【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?
【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!
【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我
【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化
【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试
【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !
【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置
【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)