grok解析失败-正在筛选错误日志

szqfcxe2  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(1)|浏览(502)

嗨,我得到以下错误:

  1. "tags" => [
  2. [0] "beats_input_codec_plain_applied",
  3. [1] "_grokparsefailure"
  4. ]

我的logstash-sample.conf如下

  1. input {
  2. beats {
  3. port => "5044"
  4. }
  5. }
  6. filter {
  7. grok {
  8. match => ["message","HTTPD20_ERRORLOG \[%{HTTPDERROR_DATE:timestamp}\] \[%{LOGLEVEL:loglevel}\] (?:\[client %{IPORHOST:clientip}\] )$
  9. }
  10. }
  11. output {
  12. stdout { codec => rubydebug }
  13. }

有人能帮我一下吗?我在这里干什么?也在模式中{loglevel:loglevel}](?:[客户%{iporhost:clientip}我需要指定loglevel和clientip吗?
我的日志示例:

  1. 2020-10-09 14:24:33,489 [Thread1] INFO ReceiverLogging- Connecting
  2. 2020-10-09 14:24:34,166 [Thread1] INFO ReceiverLogging- Connected...
  3. 2020-10-09 14:24:34,166 [Thread1] INFO ReceiverLogging- Getting folder...
  4. 2020-10-09 14:24:34,167 [Thread1] INFO ReceiverLogging- Got folder
  5. 2020-10-09 14:24:34,167 [Thread1] INFO ReceiverLogging- Opening folder
  6. 2020-10-09 14:24:34,237 [Thread1] INFO ReceiverLogging- getting folder
  7. 2020-10-09 14:24:34,247 [Thread-6] ERROR CheckLog Error While Connecting to Websocket
  8. javax.websocket.DeploymentException: The HTTP request to initiate the WebSocket connection failed
  9. at org.apache.tomcat.websocket.WsWebSocketContainer.connectToServer(WsWebSocketContainer.java:392)
  10. at org.apache.tomcat.websocket.WsWebSocketContainer.connectToServer(WsWebSocketContainer.java:150)
  11. at global.services.WebSocketClient.<init>(WebSocketClient.java:33)
  12. at global.services.WebSocketClient.getInstance(WebSocketClient.java:51)
  13. at global.services.SchedulerThread.run(SchedulerThread.java:63)
  14. Caused by: java.util.concurrent.TimeoutException
  15. at sun.nio.ch.PendingFuture.get(PendingFuture.java:197)
  16. at org.apache.tomcat.websocket.WsWebSocketContainer.processResponse(WsWebSocketContainer.java:674)
  17. at org.apache.tomcat.websocket.WsWebSocketContainer.connectToServer(WsWebSocketContainer.java:340)
  18. ... 4 more
  19. 2020-10-09 14:24:34,248 [Thread-6] ERROR Exception- Error While Connecting to Websocket

请帮忙

ruarlubt

ruarlubt1#

首先,我建议大家学习一下grok的一些基本知识以及它是如何工作的。在答案末尾添加一些有用的资源。
日志中的当前模式类似于timestamp classname loglevel logmessage
对于下面问题中的日志示例,它是一个示例管道,但不确定是否需要多行来捕获堆栈跟踪。在这种情况下,可以扩展以下内容。

  1. filter {
  2. grok{
  3. match => { "message" => "%{TIMESTAMP_ISO8601:timeStamp}%{SPACE}\[%{DATA:className}\]%{SPACE}%{LOGLEVEL:logLevel}%{SPACE}%{GREEDYDATA:message}"}
  4. overwrite => [ "message" ]
  5. }
  6. date {
  7. match => ["timeStamp","yyyy-MM-dd HH:mm:ss,SSS"]
  8. timezone => "Europe/London"
  9. target => "@timestamp"
  10. remove_field => ["timeStamp"]
  11. }
  12. }

输出事件如下所示

  1. {
  2. "logLevel" => "INFO",
  3. "@version" => "1",
  4. "path" => "/usr/share/logstash/stack/data/data.log",
  5. "className" => "Classname",
  6. "host" => "95b3783b146a",
  7. "@timestamp" => 2020-10-09T13:24:35.004Z,
  8. "message" => "LOGG- Sending message : Test"
  9. }
  10. {
  11. "logLevel" => "ERROR",
  12. "@version" => "1",
  13. "path" => "/usr/share/logstash/stack/data/data.log",
  14. "className" => "Classname",
  15. "host" => "95b3783b146a",
  16. "@timestamp" => 2020-10-09T13:24:35.004Z,
  17. "message" => "InternetApp- in details."
  18. }

初学者指南
grok调试器
基本格洛克模式

展开查看全部

相关问题