测试右移之logstash完整配置实例

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 测试右移之logstash完整配置实例

本文节选自霍格沃兹测试学院内部教材

logstash是ElasticStack(ELK)的一个重要技术组件,用于对数据进行转换处理。他可以接受各种输入源,并按照记录对数据进行变换,并导出到输出源中。

image
image
1080×240 51.8 KB
安装
docker pull docker.elastic.co/logstash/logstash
quick start
简单的输入一行内容,并发送给远程的elastic search服务器

docker run -it --rm logstash -e '

input { stdin { } }

filter { json {source => "message"} }

output {

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

stdout {}

}
'
输入源

从csv文件读取

file { path => "/data/ELK/data/*.csv" }

从kafka中读取

kafka { topic_id => 'topic_name'; zk_connect => '${zookeeper的地址}:2181/kafka'}
常见的filter

读取csv,并设置表头

csv{columns =>[ "log_time", "real_ip", "status", "http_user_agent"]

读取json数据

json {source => "message"}
输出源
elasticsearch{ hosts=>["x.x.x.x"] }

stdout {}
完整配置实例
读取csv数据

input {

file {

path => "/data/ELK/data/*.csv"

start_position => beginning

}

}

filter {

csv{

columns =>[ "log_time", "real_ip", "status", "http_user_agent"]

}

date {

match => ["log_time", "yyyy-MM-dd HH:mm:ss"]

}

}

output {

elasticsearch {}

}
读取kafka数据

input {

kafka {

topic_id => 'topic_name'

zk_connect => '${zookeeper的地址}:2181/kafka'

}

}

filter {

csv{

separator => "|"

columns => [ "host", "request", "http_user_agent"]

}

date {

match => ["log_time", "yyyy-MM-dd HH:mm:ss"]

}

}

output {

elasticsearch {

index => "logstash-topic-%{+YYYY.MM.dd}"

}

}
Filebeat

image
image
940×735 58.7 KB
Filebeat是一个高性能的日志采集框架,它主要是以agent模式工作,特点是高性能。用以解决logstash的性能问题,一般我们都会把数据先借助于filebeat采集,并存到redis里,再由logstash对数据进行编辑变换,再输出到es中。

logstash就先介绍到这里,大家可以试着做一下实战练习,分析nginx日志保存到elastic search!

更多技术文章:https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=bjhao&timestamp=1651808542

相关文章
|
27天前
|
存储 Ubuntu 安全
ROS2教程02 ROS2的安装、配置和测试
本文是关于ROS2(机器人操作系统2)的安装、配置和测试的教程。内容包括使用一键安装脚本快速安装ROS2 Humble版,手动安装步骤,设置语言环境、添加软件源、更新软件包、安装ROS2桌面版和开发工具,配置ROS2环境,创建工作空间,配置ROS2领域以避免网络冲突,以及如何删除ROS2。此外,还包括了测试ROS2是否安装成功的两个案例:基本的Topic通信测试和使用Turtlesim演示程序。适用于Ubuntu 22.04操作系统。
54 1
ROS2教程02 ROS2的安装、配置和测试
|
2月前
|
存储
Postman 接口测试配置 Pre-request Script
Postman 接口测试配置 Pre-request Script
105 5
Postman 接口测试配置 Pre-request Script
|
1月前
|
数据可视化 API 开发工具
影创SDK☀️三、工程默认配置,及基础测试建议
影创SDK☀️三、工程默认配置,及基础测试建议
|
24天前
|
Java 测试技术 API
SpringBoot单元测试快速写法问题之创建 PorkInst 实例如何解决
SpringBoot单元测试快速写法问题之创建 PorkInst 实例如何解决
|
26天前
|
缓存 NoSQL 网络协议
【Azure Redis 缓存 Azure Cache For Redis】在创建高级层Redis(P1)集成虚拟网络(VNET)后,如何测试VNET中资源如何成功访问及配置白名单的效果
【Azure Redis 缓存 Azure Cache For Redis】在创建高级层Redis(P1)集成虚拟网络(VNET)后,如何测试VNET中资源如何成功访问及配置白名单的效果
|
2月前
|
监控 Java 测试技术
确保Selenium WebDriver配置与测试环境兼容
确保Selenium WebDriver配置与测试环境兼容
|
1月前
|
Docker 容器
FunASR离线文件转写软件包3.0问题之推理效率测试的配置如何解决
FunASR离线文件转写软件包3.0问题之推理效率测试的配置如何解决
23 0
|
1月前
|
存储 测试技术 API
apifox实例应用-自动化测试用例for循环的使用
总结来说,通过在Apifox自动化测试用例中结合for循环的使用,我们可以有效地对接口进行批量测试,提升测试效率和覆盖率。同时,通过参数化测试数据的灵活应用,能够确保我们的接口在不同的输入条件下都能保持正确的行为。这种方法能够显著减少手动测试工作量,同时通过标准化的流程确保测试的一致性。
51 0
|
1月前
|
SQL 缓存 关系型数据库
MySQL配置简单优化与读写测试
MySQL配置简单优化与读写测试
|
2月前
|
Java jenkins 持续交付
Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试
【7月更文挑战第1天】Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试。成功后,Jenkins执行部署任务,发布到服务器或云环境。使用Jenkins能提升效率,保证软件质量,加速上线,并需维护其稳定运行。
96 0