【发布时间】:2015-03-17 16:21:07
【问题描述】:
我通过 syslog 输入将以下日志发送到 logstash(这些日志来自通过 logspout 发送到 logstash 的 docker 容器)
因此,在下面的日志示例中,第一行是 php-fpm 错误,第二行是 nginx 访问日志
docker-nginx-php-composer|2015/03/17 16:31:28 [error] 9#0: *41 FastCGI sent in stderr: "PHP message: PHP Fatal error: Call to undefined function teetstst() in /var/www/index.php on line 3" while reading response header from upstream, client: 10.10.37.110, server: _, request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "turing:49213"
docker-nginx-php-composer|10.10.37.110 - - [17/Mar/2015:16:31:28 +0100] "GET /favicon.ico HTTP/1.1" 200 134 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36"
```
好的,现在我想过滤所有这些混乱,例如,我可以“标记”PHP-FPM 日志,或者只过滤 PHP-FPM 的警告和错误...
我想我必须使用 logstash 中的 grok 过滤器,但我不知道具体如何?
假设我只想过滤 PHP 错误,在其上放置一个“php”标签并过滤来自 nginx 的 404 和 500 错误,我如何使用 logstash/grok 轻松实现这一点?
有什么线索吗?例子?
谢谢:)
【问题讨论】:
标签: logstash