Logstash简单文件输入配置
我是Logstash的新手,我一直在尝试制作一个简单的Logstash简单文件输入配置,logstash,logstash-grok,logstash-file,Logstash,Logstash Grok,Logstash File,我是Logstash的新手,我一直在尝试制作一个简单的.conf文件来从示例日志文件中读取日志。我尝试了所有方法,从创建sincedb\u路径到$HOME/.sincedb再到将开始路径设置为“开始”,但我似乎无法读取数据,甚至无法读取到标准输出。以下是我的示例日志中的示例行: 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.
.conf
文件来从示例日志文件中读取日志。我尝试了所有方法,从创建sincedb\u路径
到$HOME/.sincedb
再到将开始路径
设置为“开始”,但我似乎无法读取数据,甚至无法读取到标准输出
。以下是我的示例日志中的示例行:
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”-“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”“”Mozilla/5.0(Macintosh;英特尔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"
]
}
我花了好几个小时试图找出问题所在。请告诉我哪里出了问题
提前谢谢
编辑:文件名中有错误