问题标签 [logstash-grok]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
regex - logstash 中动态列的配置中的正则表达式
我有一个日志文件,我在下面粘贴了两行:
11 月 26 日 14:20:32 172.16.0.1 日期=2014-11-26 时间=14:18:37 devname=XXXXCCCFFFFF devid=XXXCCVVGFFDD logid=3454363464 type=traffic subtype=forward level=notice vd=root srcip=172.16.1.251 srcport=62032 srcintf="Combo_LAN" dstip=XXXX dstport=X dstintf="wan2" sessionid=16172588 status=close user="XX" group="Open Group" policyid=2 dstcountry="United States" srccountry="Reserved" trandisp=snat transip=XXXX transport=X service=HTTP proto=6 applist="Block_Applications" duration=11 sentbyte=2377 rcvdbyte=784 sentpkt=6 rcvdpkt=7 identidx=5 utmaction=passthrough utmevent=webfilter utmsubtype=ftgd-cat urlcnt =1 主机名="tacoda.at.atwola.com" catdesc="广告"
11 月 26 日 14:20:32 172.16.0.1 日期=2014-11-26 时间=14:18:37 devname=XXXXCCCFFFFF devid=XXXCCVVGFFDD logid=3454363464 type=utm subtype=webfilter eventtype=ftgd_allow level=notice vd="root" policyid=2 identidx=5 sessionid=15536743 user="XX" srcip=XXXX srcport=X srcintf="Combo_LAN" dstip=XXXX dstport=80 dstintf="wan2" service="http" hostname="streaming.sbismart.com" profiletype="Webfilter_Profile" profile="Open Group_Policy" status="passthrough" reqtype="direct" url="/diffusion/" sentbyte=984 rcvdbyte=202 msg="URL 属于策略中允许的类别" method=domain 类=0 cat=18 catdesc="经纪和交易"
我的问题是,如果列数和顺序是固定的,我可以解析数据。
但是,我如何解析配置文件中的动态列,这样我就不会得到_grokparsefailure
?
logstash - Logstash:解析apache访问日志的时间戳导致解析失败
我想解析常见的 apache 访问日志文件,它是这样的:
这是我的过滤器部分:
所有字段都得到识别,但不是时间戳。控制台上的输出如下:
我已经检查了日期过滤器的文档。它依赖于DateTimeFormat。
我做错了什么?看不到错误。
elasticsearch - 如何从日志文件路径中提取变量,测试 Logstash 中模式的日志文件名?
我在 S3 存储桶上有 AWS ElasticBeanstalk 实例日志。
日志路径是:
转换为:
资源/环境/日志/发布/e- [随机环境 id] /i- [随机实例 id] /
该路径包含多个日志:
请注意,AWS 在“.gz”之前的文件名中插入了一些随机数(时间戳?)
问题是我需要根据日志文件名设置变量。
这是我的配置:
在这种情况下,我想从路径中提取环境、实例和文件名。在文件名中,我需要忽略该随机数。我这样做对吗?什么是完整的,正确的解决方案?
另一个问题是如何为上面的特定日志文件指定自定义日志格式的字段?
这可能是这样的:(元代码)
如何测试文件名模式?
logstash - Logstash 中的 Syslog 转发 HAProxy 日志过滤
我在理解如何正确执行此操作时遇到问题。
我有以下 Logstash 配置:
使用 logstash-forwarder,我将 syslog 生成的 haproxy.log 文件推送到 logstash。Kibana 然后向我展示了一个_source
如下所示的内容:
现在,这必须被过滤(以某种方式),我不得不承认我一点也不知道如何过滤。
查看grok 文档并摆弄grok 调试器,我仍然没有从 Logstash 和 Kibana 中得到任何有用的东西。
我一直在扫描模式目录及其文件,但我不能说我了解如何使用它们。我希望提供一个带有 haproxy 模式 Logstash 的过滤器会匹配我的模式,_source
但这没有任何运气。
grok - 如何将时间戳作为 Grok Logstash 中的唯一分隔符?
我有一个如下的日志条目:-
为了使用 grok 解析它,我在 logstash 中使用了以下模式:-
上面的代码不起作用,我收到以下消息:-
这不是预期的,我需要一条消息:-
换句话说,有没有办法确保只有时间戳作为分隔符?
elasticsearch - 在 Elasticsearch 中将字符串的默认映射更改为“未分析”
在我的系统中,数据的插入总是通过 csv 文件通过 logstash 完成。我从不预先定义映射。但是每当我输入一个字符串时,它总是被认为是analyzed
,因此一个条目就像hello I am Sinha
被拆分为hello
, I
, am
, Sinha
。无论如何我可以更改弹性搜索的默认/动态映射,以便所有字符串,无论索引,无论类型如何都被视为not analyzed
?或者有没有办法在.conf
文件中设置它?说我的conf
文件看起来像
我希望所有的字符串都是not analyzed
,我不介意它是所有未来数据插入弹性搜索的默认设置
csv - 使用 logstash 选择性解析 csv 文件
我正在尝试通过logstash将数据从csv文件输入elasticsearch。这些 csv 文件包含第一行作为列名。解析文件时有什么特殊的方法可以跳过该行吗?是否有任何条件/过滤器可以使用,以便在出现异常时跳到下一行?
我的配置文件如下所示:
我的 csv 文件的前几行看起来像
无论如何我可以跳过第一行吗?此外,如果我的 csv 文件以新行结尾,其中没有任何内容,那么我也会收到错误消息。如果这些新行出现在文件末尾或者两行之间有一个空行,我该如何跳过它们?
elasticsearch - 使用 logstash grok 进行数据类型转换
Basic
是一个浮点字段。提到的索引在弹性搜索中不存在。使用 运行配置文件时logstash -f
,我也不例外。然而,在 elasticsearch 中反映和输入的数据显示为Basic
as的映射string
。我该如何纠正这个问题?以及如何为多个字段执行此操作?
filter - Logstash 过滤使用 grok 过滤带有 [] 的日志
我在弹性 serach 中捕获了以下日志,我们通过 kibana gui 查看。现在我们需要将日志分解为日期时间戳、日志级别、对象名称、描述等,以便在仪表板中显示它们。
{"message":" Mon Dec 15 2014 05:55:11 [test][crypto][info] mpgw(Test): tid(135196353)[request][10.259.268.129]: certificate validation succeeded for '/C=US/O=Company/OU=Web Servers/CN=abcqa-client.company.com' against 'CompanyCA_ValCred'
\r","@version":"1","@timestamp":"2014-12-15T10:55:19.168Z","host":"testserver","path":"/opt/store/device_logging/QA1_filter2.log.20141215055512"}
我正在使用 grok 调试器(https://grokdebug.herokuapp.com/)在更新 logstash conf 文件之前进行测试。我对 []、: 和 () 有疑问。没有这些,我可以获得如下输出。
输入:Mon Dec 15 2014 05:55:11 test crypto INFO mpgwTest tid135196353 request 10.255.215.129 证书验证成功'/C=US/O=Company/OU=Web Servers/CN=abcqa-client.ompany.com' against 'CompanyCA_ValCred'
模式:
%{WORD:day} %{MONTH:month} %{MONTHDAY:monthday} %{YEAR:year} %{TIME:time} (?:%{WORD:DOMAIN}) (?:%{WORD:Objecttype}) (?:%{LOGLEVEL:level}) (?:%{WORD:DPObject}) (?:%{WORD:tid}) (?:%{WORD:flowtype}) (?:%{IP:ClientIP}) (?:%{GREEDYDATA:Description})
我得到了正确的输出。
我怎么能省略[],:,().
?
amazon-web-services - 弹性搜索和 Logstash 性能
用logstash解析日志文件需要很多时间。我怎样才能提高logstash的性能。这是我的25mb场景,它需要30分钟。谁能建议我,如何提高性能,这也是计算性能的正确方法。我的环境详细信息具有 15gb RAM 的 AWS 大型实例。在此先感谢您的回复