- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用 logstash 和 grok 解析 Check Point 防火墙 Syslog 日志。
日志条目示例:
<190>2015 Mar 19 12:40:55 fw1 <60031> User admin failed to login (wrong authentication) (Source IP:123.123.123.123 Via:HTTP)
我使用这种模式:
<%{POSINT:syslog_pri}>%{YEAR} %{SYSLOGTIMESTAMP:syslog_timestamp} %{DATA:device} <%{POSINT:status}> User %{WORD:account} %{DATA:msg} (?:[(])%{DATA:msg1}(?:[)]) (?:[(])Source IP:%{IPV4:src} Via:%{WORD:protocol}(?:[)])
所有字段都被很好地解析并显示在 elasticsearch/kibana 中。 Grok Debugger适用于此特定日志/模式组合。但是,我不断收到 _grokparsefailure 标签。有没有人提示如何摆脱它们?
更新:这是我完整的 logstash 配置(最相关的部分是“登录失败” block ):
input {
syslog {
type => "syslog"
port => 514
}
}
filter {
if [type] == "syslog" {
geoip { source => "host" }
# Firewall rule fired
if [message] =~ "packet" {
grok {
match => [ "message", "<%{POSINT:syslog_pri}>%{YEAR} %{SYSLOGTIMESTAMP:syslog_timestamp} %{DATA:device} <%{POSINT:status}> %{WORD:activity} %{DATA:inout} (?:[(])%{DATA:msg}(?:[)]) Src:%{IPV4:src} SPort:%{POSINT:sport} Dst:%{IPV4:dst} DPort:%{POSINT:dport} IPP:%{POSINT:ipp} Rule:%{INT:rule} Interface:%{WORD:iface}" ]
}
}
# Failed login
else if [message] =~ "failed" {
grok {
match => [ "message", "<%{POSINT:syslog_pri}>%{YEAR} %{SYSLOGTIMESTAMP:syslog_timestamp} %{DATA:device} <%{POSINT:status}> User %{WORD:account} %{DATA:msg} (?:[(])%{DATA:msg1}(?:[)]) (?:[(])Source IP:%{IPV4:src} Via:%{WORD:protocol}(?:[)])" ]
}
}
# Successful login/out
else if [message] =~ "logged" {
mutate {
add_field => [ "userlogged", "%{host}" ]
}
grok {
match => [ "message", "<%{POSINT:syslog_pri}>%{YEAR} %{SYSLOGTIMESTAMP:syslog_timestamp} %{DATA:device} <%{POSINT:status}> User %{DATA:account} %{WORD} %{WORD:action} (?:[(])Source IP:%{IPV4:src} Via:%{WORD:protocol}(?:[)])" ]
}
}
else {
grok {
match => [ "message", "<%{POSINT:syslog_pri}>%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" ]
}
}
}
}
output {
elasticsearch {
host => "localhost"
protocol => "http"
}
}
最佳答案
似乎 _grokparsefailure 是由内部也使用 grok 的输入插件“syslog”抛出的。用
替换输入 block 后input {
tcp {
port => 514
type => syslog
}
udp {
port => 514
type => syslog
}
}
我没有再收到任何失败消息。 This blog post对我帮助很大。
关于elasticsearch - 通过 Grok Debugger 获取 Logstash _grokparsefailure 不会抛出任何错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29142531/
我正在使用 STM32CubeIDE 生成代码,但是当我开始调试时出现如下错误- STMicroelectronics ST-LINK GDB 服务器。版本 5.2.3 Copyright (c)
我正在使用 STM32CubeIDE 生成代码,但是当我开始调试时出现如下错误- STMicroelectronics ST-LINK GDB 服务器。版本 5.2.3 Copyright (c)
有什么区别 Debugger.Launch(); Debugger.Break(); ? 最佳答案 阅读文档,听起来如果附加了调试器,Launch 什么都不做——它实际上break(虽然我还没有验证这
我想知道是否应该在调用其他 Debug 和 Debugger 函数之前调用 if(Debugger.IsAttached)? if(Debugger.IsAttached) { Debugger.Br
我在我的应用程序中嵌入了单声道。该应用程序是支持插件的控制台应用程序。插件是 .NET 程序集。一切都很好,但我想调试它们。要在我的 C 代码中启用调试,我有: mono_set_dirs (ASSE
我有一个 PhoneGap 应用程序,它在 iOS 上运行良好,但在设置发布版本时,在 Android 上无法运行。 我正在使用 Phonegap CLI 创建我的应用程序。 $ phonegap -
我使用的是 Xcode 10.2.1 和 macOS Catalina Developer Beta 2。每当我尝试使用内存图调试器时,我都会收到此错误: Memory Graph Debugger:
这是一个示例网址: http://www.motherjones.com/mojo/2012/05/reince-priebus-lgbt-workplace-discrimination 当粘贴到
我正在 Mac 上的 IntelliJ 中设置远程调试器。我没有做任何修改就遵循了模板。然后我单击“调试 xxx”按钮。表明 "Error running 'Remote Debugger': Una
我想知道 debuggable true 语句的确切作用: // build.gradle android { buildTypes { deb
在 Visual Studio 中,我通常采用当前断点并将其移回上一行,但在 vscode 中我不知道该怎么做。 请指教。 最佳答案 有两个可能的命令可能会对您有所帮助 - 它们对我来说效果不佳,但您
在 Eclipse 中调试 J2EE 应用程序时,我确实看到了数百个线程。 但是,我对我的断点命中的单个线程感兴趣。 每次都来回找,很痛苦。 如何过滤掉未挂起的线程? 最佳答案 据我所知,没有一种简单
我正在尝试从我的 Android 设备(运行 One UI 2.0 的非根 Exynos Galaxy S9)中提取数据库文件,每次打开 Android Studio 3.6.2 -> 设备文件资源管
我使用Grok Debugger验证我的模式:%{DATA:evolution}%{DATA:value} 但问题是它不读取变量“值”的内容。 如果要使用两个连续的字符串,请问该如何做? 最佳答案 使
在 visual studio 中调试代码时,如果将鼠标悬停在某个属性上,将执行该属性的主体。当该代码正在执行时,是否可以确定它是由于调试器而不是由于正常代码执行而被执行的? 明确地说,我不是在寻找
Android 调试器没有进入我的位置。我正在按 F8(Step Over)完成调试,调试器跳转到:View.class,AsyncTask.class。 如果我不退出类(class),调试器会等待很
我刚刚发现了 debugger 关键字或用于 JavaScript 开发的任何东西,但我不清楚它是什么。当然它不是一个表达式,它没有任何值(value)。但是我需要在它后面放一个分号吗?它被定义为什么
几个月来我一直在默默地处理这个问题,最后我觉得有必要在这里问一下。 lldb 中的“po”通常会产生以下输出: (lldb) error: :3:1: error: use of unresolved
我有无处不在的 HelloWorldApp.java 文件 /** * The HelloWorldApp class implements an application that * simpl
我正在尝试从代码中获取应用程序的可调试属性值: packageInfo = context.getPackageManager().getPackageInfo(packageName, 0);
我是一名优秀的程序员,十分优秀!