elasticsearch 在logstash配置中为索引生成映射,elasticsearch,logstash,elasticsearch,Logstash" /> elasticsearch 在logstash配置中为索引生成映射,elasticsearch,logstash,elasticsearch,Logstash" />

elasticsearch 在logstash配置中为索引生成映射

elasticsearch 在logstash配置中为索引生成映射,elasticsearch,logstash,elasticsearch,Logstash,我有这个日志文件,我想通过logstash将其值插入elasticsearch。我想为相同的文件编写一个.conf文件。如果按原样插入,则格式为“14/Nov/2014 08:56:23”的日期属性将读取为字符串。我想格式化它,以便它被读取为一个日期。我只想在logstash.conf文件中进行更改。我该怎么做呢?此外,是否可以将该日期设置为时间戳 我的配置文件如下所示: input { file { path => "/home/sagnik/NGINX\ LOGS/ac

我有这个日志文件,我想通过logstash将其值插入elasticsearch。我想为相同的文件编写一个.conf文件。如果按原样插入,则格式为“14/Nov/2014 08:56:23”的日期属性将读取为字符串。我想格式化它,以便它被读取为一个日期。我只想在logstash.conf文件中进行更改。我该怎么做呢?此外,是否可以将该日期设置为时间戳

我的配置文件如下所示:

input {
    file {
    path => "/home/sagnik/NGINX\ LOGS/access.log.4"
    start_position => beginning
  }
}
filter {
  if [path] =~ "access" {
    mutate { replace => { "type" => "apache_access" } }
    grok {
      match => { "message" => "%{COMBINEDAPACHELOG}" }
    }
  }
  date {
    match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
  }
}

output {
  elasticsearch {
    host => localhost
  }
  stdout { codec => rubydebug }
}
我的日志是这样的:

192.168.3.33 - - [14/Nov/2014:04:03:01 +0530] "GET /static/img/erecharge/datacard_2.png HTTP/1.1" 200 12892 "http://ph.kuchvi.com/agent?action1=TRSRC&country=JV&productType=MOBILE" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36" "203.111.224.53, 23.76.205.89"

我正在以字符串格式获取日期

您可以分享您使用的过滤器以及模式和示例日志语句吗?将有助于调试和解决您的问题!我唯一看到的是,您的regexp模式应该写成:if[path]=~/access/。