- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
[2018-02-12 09:15:43] development.WARNING: home page
[2018-02-12 09:15:43] development.INFO: home page
[2018-02-12 10:22:50] development.WARNING: home page
[2018-02-12 10:22:50] development.INFO: home page
[2018-02-12 10:22:50] development.ERROR: Call to undefined function vie() {"exception":"[object](Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Call to undefined function vie() at /var/www/html/routes/web.php:16
[stacktrace]
#0 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php(198): Illuminate\\Routing\\Router->{closure}()
#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php(172): Illuminate\\Routing\\Route->runCallable()
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\Routing\\Route->run()
#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#5 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
.....
.....
.....
#45 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#46 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#47 /var/www/html/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#48{main}
"}
以上是我的 Laravel monolog 示例日志数据。我正在使用 Logstash 读取日志数据并将其发送到 Elasticsearch。下面是我的 logstash.conf 文件
input {
file {
path => '/var/www/html/php-app/application/storage/logs/laravel-*.log'
start_position => 'beginning'
ignore_older => 0
}
}
filter {
grok {
match => { "message" => "\[%{TIMESTAMP_ISO8601:timestamp}\] %{DATA:env}\.%{DATA:severity}: %{DATA:message}at %{DATA:trace}" }
}
}
output {
elasticsearch {
hosts => [ 'localhost:9200' ]
index => "laravel-%{+YYYY-MM-dd}"
}
stdout {
codec => rubydebug
}
}
以上配置适用于单行日志消息。例如下面的日志消息
[2018-02-12 09:15:43] development.WARNING: home page
生成输出为
"timestamp": "2018-02-12 10:57:25",
"@timestamp": "2018-02-12T10:57:26.614Z",
"severity": "INFO",
"path": "/var/www/html/php-app/application/storage/logs/laravel-2018-02-12.log",
"message": "[2018-02-12 10:57:25] development.INFO: home page ",
"env": "development"
但对于多行消息(即 - 带有堆栈跟踪的消息),它会为每一行生成如下所示。
"@timestamp" => 2018-02-12T10:56:47.785Z,
"path" => "/var/www/html/php-app/application/storage/logs/laravel-2018-02-12.log",
"message" => "#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\\\Foundation\\\\Http\\\\Middleware\\\\ValidatePostSize->handle(Object(Illuminate\\\\Http\\\\Request), Object(Closure))",
"tags" => [
[0] "_grokparsefailure"
],
我也试过多行过滤器。多行错误日志仍然没有成功。我需要一个适用于多行和单行错误消息的解决方案。
请帮我找到适合单行和多行错误日志的正确 grok 配置。
最佳答案
终于!我得到了我的问题的解决方案。并发布将来对其他人有用的 logstash 配置。
input {
file {
path => '/var/www/html/php-app/application/storage/logs/laravel-*.log'
start_position => 'beginning'
ignore_older => 0
codec => multiline { pattern => "\[[\d]{4}" negate => "true" what => "previous" }
}
}
filter {
grok {
match => { "message" => "\[%{TIMESTAMP_ISO8601:timestamp}\] %{DATA:env}\.%{DATA:severity}: %{DATA:message}" }
}
}
output {
elasticsearch {
hosts => [ 'localhost:9200' ]
index => "laravel-%{+YYYY-MM-dd}"
}
stdout {
codec => rubydebug
}
}
@baudsp 感谢您帮助我解决这个问题。
关于elasticsearch - 用于 php monolog 多行(stacktrace)日志的 Logstash grok 过滤器配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48745506/
我有一个 GROK 模式,我正尝试在 Logstash 中使用它,它在 GROK 调试器中工作 website但不在日志存储中。我尝试了不同的配置但没有成功。我希望有人可以帮助我确定为什么这不起作用。
以下是事件消息的示例: { "timestamp":"2016-03-29T22:35:44.770750-0400", "flow_id":45385792, "in_iface":"eth1",
我有一个像这样的日志字符串: 2018-08-02 12:02:25.904 [http-nio-8080-exec-1] WARN o.s.w.s.m.s.DefaultHandlerExcept
以下是事件消息的示例: { "timestamp":"2016-03-29T22:35:44.770750-0400", "flow_id":45385792, "in_iface":"eth1",
我有一个像这样的日志字符串: 2018-08-02 12:02:25.904 [http-nio-8080-exec-1] WARN o.s.w.s.m.s.DefaultHandlerExcept
我的问题是关于如何使用 Grok 模式。 我知道给定的现有 Grok 模式,我可以使用以下语法将值分配给字段: %{DATESTAMP_RFC822:timestamp} 我也知道我可以创建自己的自定
我正在尝试为 Java 应用程序设置 ELK。 tomcat 日志是使用 log4j 生成的。要编写测试模式,我使用 Grok Debugger .但是在调试器上它总是显示 Compile ERROR
我正在尝试使用某种 grok 模式来使用以下日志记录格式: *Sun 07:05:18.372 INFO [main] [userID] perf - 0ms - select x from y 我
我正在尝试学习如何第一次使用 logstash 的 grok 过滤器捕获日志文件中的不同字段,但无法正确解析它。我正在使用 https://grokdebug.herokuapp.com/来测试我的工
这是我的 grok 模式 2017-09-25 08:58:17,861 p=14774 u=ec2-user | 14774 1506329897.86160:检查 any_errors_fatal
我有一个 200 MB 的日志文件。我将日志文件输入logstash,需要几个小时才能完成工作。 我想知道是否有办法加快速度?也许以并行模式运行它? 最佳答案 您可以看看here关于如何加快速度。 T
在 Logstash 2.3.3 中,grok 过滤器不适用于最后一个字段。 要重现该问题,请创建 test.conf,如下所示: input { file { path => "/Use
我是 logstash 和 grok 的新手,对模式有疑问。我正在尝试为我的 apache 错误日志创建一个 grok 模式。但是我对以下行为有点困惑。 如果我在 http://grokdebug.h
以下是我的日志 # Time: 2017-11-02T07:41:22.631956Z# User@Host: root[root] @ localhost [] Id: 我无法为单词 ro
2012 年 9 月 27 日星期四 15:30:27 BST:- 无效 token $_POST[custom],指示金额、用户 ID 这是来 self 尝试使用 grok 解析 logstash
我有一个类似于以下的输入 2015-12-02T12:39:57.546461+08:00 222.55.201.19 c): start_time="2015-12-02 ...some other
我是 logstash 和 grok 的新手,对模式有疑问。我正在尝试为我的 apache 错误日志创建一个 grok 模式。但是我对以下行为有点困惑。 如果我在 http://grokdebug.h
我有这些日志,我试图使用 grok 从每一行中提取多个信息。但似乎有些匹配没有被考虑在内,尽管它们对我来说似乎很好。 这是一个示例行: "#wtb# GetSP ok. Referer:http://
我有来自 kafka 的数据,我想将它们发送到 ElasticSearch。我有一个这样的带有标签的日志: APPLI_A|PRF|ENV_1|003 我试图用 grok 解析它使用 grok 调试器
几周来我一直在做这件事,但我似乎无法理解这有什么问题。 我试图让所有这些行适应与 grok 的多行匹配,但它只选择最后一行,甚至丢弃行开头的数字。 11:31:03.936 5: Loa
我是一名优秀的程序员,十分优秀!