Logstash-2.3.0の設定ファイルで*.logを指定すると読み込まれなくなる


#1

logstash-2.3.0の設定ファイルのpathに
001.log と指定すると 001.log は読み込まれるのですが
*.log と指定すると xxxx.log のファイルであっても
読み込まれなくなります。

具体的には、下記の設定ファイル(test.conf)を作成して
bin\logstash -f conf\test.conf
でlogstashを起動して
C:\test\logstash-2.3.0\inputフォルダに
001.log ファイルを入れても
何の変化もなくelasticsearchにデータが送られません。
どうも 001.log ファイルが検出されていないようです。

path => "C:\test\logstash-2.3.0\input*.log"
の部分を
path => "C:\test\logstash-2.3.0\input\001.log"
に書き換えると 001.log が読み込まれて
elasticsearchにデータが送らます。

なぜ *.log では読み込まれないのでしょうか。
xxxxx.log のファイルをすべて読み込ませるには、
どのように記述すればよいのでしょうか。

なお、以前に読み込んだファイルを覚えていて
同じファイルは読み込まないこともありますので
毎回 nullファイルは削除して確認をしています。

動作環境は Windows7 で logstash は 2.3.0、elasticsearch は 2.3.0 です。

よろしくお願いします。

---conf\test.conf---------------------------------

input {
  file {
    path => "C:\test\logstash-2.3.0\input\*.log"
    sincedb_path => "C:\test\logstash-2.3.0\temp\null"
    start_position => "beginning"
  }
}

filter {
  csv {
      columns => ["timestamp",
      "pc",
      "user",
      "name",
      "point"
     ]
     separator => ","
  }

  date {
    match => ["timestamp", "[YYYY/MM/dd HH:mm:ss]" ]
  }

  mutate {
    convert => { 
       "point" => "float"
    }
  }
}

output {
   elasticsearch {
      hosts => ["localhost:9200"]
      index => "test"
   }
   stdout {
      codec => rubydebug
   }
}

---001.log---------------------------------
[2016/04/12 15:03:34],PC1,wakayana,若山,100
[2016/04/12 15:09:21],PC3,yamada,山田,90
---002.log---------------------------------
[2016/04/12 15:07:02],PC2,ando,安藤,90
---003.log---------------------------------
[2016/04/12 16:31:58],PC1,kato,加藤,56
:
:


(Jun Ohtani) #2

\の代わりに/にしてみたらどうでしょうか?


#3

\の代わりに/にしてみましたら正しく読み込まれるようになりました。
いろいろ確認しましたところ理由はよく分かりませんが
*.logの直前の\のみを/にしておく必要があるようです。
ありがとうございました。


(system) #4