我在理解如何正确执行此操作时遇到问题。
我有以下 Logstash 配置:
input {
lumberjack {
port => 5000
host => "127.0.0.1"
ssl_certificate => "/etc/ssl/star_server_com.crt"
ssl_key => "/etc/ssl/server.key"
type => "somelogs"
}
}
output {
elasticsearch {
protocol => "http"
host => "es01.server.com"
}
}
使用 logstash-forwarder,我将 syslog 生成的 haproxy.log 文件推送到 logstash。Kibana 然后向我展示了一个_source
如下所示的内容:
{"message":"Dec 8 11:32:20 localhost haproxy[5543]: 217.116.219.53:47746 [08/Dec/2014:11:32:20.938] es_proxy es_proxy/es02.server.com 0/0/1/18/20 200 305 - - ---- 1/1/1/0/0 0/0 \"GET /_cluster/health HTTP/1.1\"","@version":"1","@timestamp":"2014-12-08T11:32:21.603Z","type":"syslog","file":"/var/log/haproxy.log","host":"haproxy.server.com","offset":"4728006"}
现在,这必须被过滤(以某种方式),我不得不承认我一点也不知道如何过滤。
查看grok 文档并摆弄grok 调试器,我仍然没有从 Logstash 和 Kibana 中得到任何有用的东西。
我一直在扫描模式目录及其文件,但我不能说我了解如何使用它们。我希望提供一个带有 haproxy 模式 Logstash 的过滤器会匹配我的模式,_source
但这没有任何运气。