软件测试学习笔记丨测试右移logstash

编程有点难不难 2024-09-04 13:55:22

本文转自测试人社区,原文链接:

一,测试右移介绍1.1 测试右移的价值测试环境不能完全模拟线上环境线上质量不仅取决于已发布代码,还取决于数据变更与配置变更线上测试可以获得更多质量数据辅助产 品更新

1.2 测试右移实践

(1)质量监控

apm 应用性能监控全链路监控 zipkin skywalking崩溃率监控 bugly线上用户体验特征监控与分析

(2)测试监控

测试的深度 更好测试的速度 更快测试的广度 更全测试的进度 管理

(3)精准测试

降低测试成本,根据代码变更定位用例 范围提高测试覆盖率,更准确覆盖被测业务提高测试用例有效性,反推有效测试用例

(4)故障注入混沌工程

(5)线上巡检与测试

二,数据采集与处理引擎 - logstash2.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

(3) input 常用配置

stdin{ }file {path =>"/data/*.csv"}file {path =>"/data/*.json"codec:json}kafka { topic_id =>'topic name' zk_connect =>'${zookeeper的地址}:2181/kafka'}

(4) filter 常见配置

csv{ columns =>[ "log_time", "real_ip", "status", "http_user_agent"] }json { source => "message" }

(5)output 常见配置

elasticsearch{ hosts=>["x.x.x.x"] }stdout {}

(6)场景读取csv文件

docker run -it --rm logstash -e ' input { stdin { } } filter { csv { columns=>["a","b","c","d"] } } output { stdout {} }'

(7)场景读取json数据

docker run -it --rm logstash -e ' input { stdin { } } filter { json { source=>"message" } } output { stdout {} }'

(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"] } } '

(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}" }}运行管道: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管道配置文件用法字段引用:[][]“apache.${[response][status]}”格式控制:%{}“/var/log/%{type}.%{+yyyy.MM.dd.HH}”逻辑控制:filter{if[action]==“login”{mutate{ remove_field =>“secret”}}}字段修改:plugins

0 阅读:0

编程有点难不难

简介:感谢大家的关注