Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logstash 自定义日志的日志存储_Logstash_Logstash Grok_Logstash Configuration - Fatal编程技术网

Logstash 自定义日志的日志存储

Logstash 自定义日志的日志存储,logstash,logstash-grok,logstash-configuration,Logstash,Logstash Grok,Logstash Configuration,我正在尝试为下面的日志编写一个grok筛选器,但却遇到了grokfailure。我是新手,请帮帮我 日志: msg.repository.routed.ABC_MAS:101::20170526-05:03:08:以t-rate和f-size从远程主机获取tmp目录 msg.repository.routed.ABC_MAS:101::20170526-05:03:07:以t-rate和f-size从远程主机获取tmp目录 msg.repository.routed.BCD_MAS:101::2

我正在尝试为下面的日志编写一个grok筛选器,但却遇到了grokfailure。我是新手,请帮帮我

日志: msg.repository.routed.ABC_MAS:101::20170526-05:03:08:以t-rate和f-size从远程主机获取tmp目录 msg.repository.routed.ABC_MAS:101::20170526-05:03:07:以t-rate和f-size从远程主机获取tmp目录 msg.repository.routed.BCD_MAS:101::20170526-00:04:34:sftp连接到1.2.2.1(msg),超时:1000 msg.repository.routed.ABC_MAS:101::20170526-00:04:37:sftp连接到1.2.2.1(msg),超时:1000

我使用的Grok模式: 滤器{ 格罗克{ match=>{“message”=>'(?:%%{GREEDYDATA:pullpathinfo}):%%{NUMBER:thread}::%%{NUMBER:date}-%%{NUMBER:HOUR}:%%{NUMBER:MINUTE}:%%{NUMBER:SECOND}:(?:sftp连接到%{IPORHOST:remoteip}%{GREEDYDATA:msg})} match=>{“message”=>'(?:%{GREEDYDATA:pullpathinfo}):%{NUMBER:thread}::%{NUMBER:date}-%{NUMBER:HOUR}:%{NUMBER:MINUTE}:%{NUMBER:SECOND}:(?:got\%{GREEDYDATA:rate\u size})} }
}

要开发grok模式,我建议您使用。它允许您逐步建立grok模式

对于以下日志(在您问题中的日志行上):

以下grok模式将起作用:

%{USERNAME:pullpathinfo}:%{NUMBER:thread}::%{NUMBER:date}-%{TIME:time}: sftp connected to %{IPORHOST:remoteip}%{GREEDYDATA:msg}
以下变化是相关的:

  • grok模式必须精确到模式中的每个字符。对于grok模式之间的每个空格也是如此(
    %{WORD}%{WORD}
    %{WORD}%{WORD}
    不同。在您的模式中,
    %{IPORHOST:remoteip}
    %{greedydydata:msg}
    之间的空格过多
  • %{USERNAME}
    而不是
    %{GREEDYDATA}
    (GREEDYDATA应该只用于日志行中的其余部分。即使模式用户名有一个不合适的名称,它后面的模式看起来很合适,因为它包括
    [a-zA-Z0-9.\u-]+
    (但不是冒号
  • %%{TIME}
    而不是`{NUMBER:HOUR}:%%{NUMBER:MINUTE}:%%{NUMBER:SECOND}
我希望这有帮助

%{USERNAME:pullpathinfo}:%{NUMBER:thread}::%{NUMBER:date}-%{TIME:time}: sftp connected to %{IPORHOST:remoteip}%{GREEDYDATA:msg}