【问题标题】:Logstash timestamp appearing as text in ElasticsearchLogstash 时间戳在 Elasticsearch 中显示为文本
【发布时间】:2019-09-12 07:51:50
【问题描述】:

我正在使用 Elasticsearch 7.3.1 和 Logstash 7.3.1。我正在尝试使用日期过滤器将我的一个字段作为 Elasticsearch 时间戳。数据已正确插入,但@timestamp 的类型即将到来text。我该如何解决这个问题?

我的输入时间戳类似于1567408605794750813。我的代码是:

input {
  elasticsearch {
    hosts => "x.x.x.x"
    index => "raw"
    docinfo => true
  }
}
filter {
  mutate {
    convert => {
      "timestamp" => "integer"
    }
  }
  date {
    match => ["timestamp", "UNIX_MS", "ISO8601"]
    target => "@timestamp"
  }
}
output {
  elasticsearch {
    index => "logs-%{app_name}"
    document_id => "%{[@metadata][_id]}"
  }
}

运行映射API后,我得到了

"@timestamp" : {
  "type" : "text",
  "fields" : {
    "keyword" : {
      "type" : "keyword",
      "ignore_above" : 256
    }
  }
}

【问题讨论】:

    标签: elasticsearch logstash


    【解决方案1】:

    试试下面的代码,

    date {
        match => [ "[timestamp]", "UNIX" ]
        target => "[@timestamp]"
    }
    

    【讨论】:

      猜你喜欢
      • 2015-10-23
      • 1970-01-01
      • 2016-12-14
      • 1970-01-01
      • 1970-01-01
      • 2011-12-23
      • 1970-01-01
      • 1970-01-01
      • 2016-06-15
      相关资源
      最近更新 更多