我通过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轻松实现?
任何线索?例子?
谢谢:)
答案 0 :(得分:0)
我会定义两个grok模式:
您可以根据需要在每个grok {}中添加add_tag。