使用两个不同的日志文件作为输入来创建公共日志文件

问题描述 投票:0回答:1

我有一个要求,我必须使用来自两个不同来源的两个日志文件来可视化数据,一个是haproxy日志,另一个是nginx日志。我正在尝试ELK堆栈,但是我无法使用logstash解析两种通用格式的不同日志文件。

以下是代理日志的格式:

**Feb 22 21:17:32** ap haproxy[1235]: 10.172.80.45:32071 10.31.33.34:44541 10.31.33.34:32772 13.127.229.72:443 [22/Feb/2020:21:17:32.006] this_machine~ backend_app/app_32772 40/0/5/1/**836** 200 701381 - - ---- 0/0/0/0/0 0/0 {cdn.net} {hitting} "GET **/ob/720/output00007.ts** HTTP/1.1"

下面是Nginx日志:

183.87.179.64 - - [**24/Feb/2020:16:58:08** +0000] "GET **/felaapp/hd_images/apple.jpg** HTTP/1.1" 200 3414616 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0" **1.049** - .

我想要突出显示的内容和一个额外的文件,以标识以下通用格式的数据源

"Date" "Time" "Content" "Responsetime in Milliseconds" "Source"
"24-02-2020" "16:58:08" "/felaapp/hd_images/apple.jpg" "836" "Nginx"
"22-02-2020" "21:17:32" "/ob/720/output00007.ts" "1.04" "Haproxy"

[我正在尝试使用gork和mutate插件通过logstash完成此操作,但是我也可以使用csv格式,但是我将需要实时数据,因此必须实时更新csv。

请帮助。

elastic-stack
1个回答
0
投票

Nginx和Haproxy都有一个Filebeat模块,可用于将日志转换为ECS格式。从那里,您可以以相同的方式查询,也可以使用弹性SIEM功能作为奖励。

© www.soinside.com 2019 - 2024. All rights reserved.