Logstash简单文件输入配置

时间:2015-07-02 21:04:11

标签: logstash logstash-grok logstash-file

我是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" - " "实施例-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" - " "实施例-PROG / 1.0"

     

www.example.com 10.209.11.40 - - [06 / Aug / 2014:23:10:21 +0000]" GET /文件/位置路径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,与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"
    ]
}

我花了很多时间试图找出问题所在。请告诉我哪里出错了。

先谢谢。

编辑:文件名中出错。

0 个答案:

没有答案