1

我是 Logstash 的新手,我一直在尝试制作一个简单的.conf文件来从示例日志文件中读取日志。我已经尝试了从制作sincedb_path$HOME/.sincedb设置start_path为“开始”的所有方法,但我似乎无法将数据读取到stdout. 以下是我的示例日志中的示例行:

10.209.12.40 - - [06/Aug/2014:22:59:18 +0000] "GET /robots.txt HTTP/1.1" 200 220 "-" "Example-Prg/1.0"

www.example.com 10.209.11.40 - - [06/Aug/2014:23:05:15 +0000] "GET /robots.txt HTTP/1.1" 200 220 "-" "Example-Prog/1.0"

www.example.com 10.209.11.40 - - [06/Aug/2014:23:10:21 +0000] "GET /File/location-path HTTP/1.1" 404 25493 " http://blog.example.com/ link-1 " "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36(KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36"

以下是.conf我正在使用的文件:

input
{
    stdin
    {

    }
    file
    {
#       type => "access"
        path => ["/home/user/Desktop/path1/www.example.com-access_log_20140806.log"]
        start_position => "beginning"
        sincedb_path => "/dev/null"
    }
}


filter
{
#   if [type] == "access"
#   {
        grok
        {
            break_on_match => false
            match => {
                "message" => '%{IP:sourceIP} %{DATA:User_Id} %{DATA:User_Auth} \[%{HTTPDATE:timestamp}\] \"%{WORD:HTTP_Command} %{DATA:HTTP_Path} %{DATA:HTTP_Version}\" %{NUMBER:HTTP_Code} %{NUMBER:Bytes} \"%{DATA:Host}\" \"%{DATA:Agent}\"'
            }
            match => {
                "message" => '%{HOST:WebPage} %{IP:sourceIP} %{DATA:User_Id} %{DATA:User_Auth} \[%{HTTPDATE:timestamp}\] \"%{WORD:HTTP_Command} %{DATA:HTTP_Path} %{DATA:HTTP_Version}\" %{NUMBER:HTTP_Code} %{NUMBER:Bytes} \"%{DATA:Host}\" \"%{DATA:Agent}\"'
            }
        }
#   }
}

output
{
    stdout
    {
        codec => rubydebug
    }
}

我正在运行它stdout以检查我是否得到输出。我得到以下输出:

{
       "message" => "",
      "@version" => "1",
    "@timestamp" => "2015-07-02T20:48:55.453Z",
          "host" => "monil-Inspiron-3543",
          "tags" => [
        [0] "_grokparsefailure"
    ]
}

我花了好几个小时试图找出问题所在。请告诉我哪里出错了。

提前致谢。

编辑:这是文件名中的错误。

4

0 回答 0