elasticsearch - 无法在logstash/elasticSearch中解析字符串至今

标签 elasticsearch logstash elastic-stack kibana-4

我创建了一个logstash脚本来读取一个日志文件,该日志文件具有各种时间戳格式为``2018-05-08T12:18:53.506 + 0530''。我正在尝试使用日志存储中的日期过滤器将其解析为日期

date{
     match => ["edrTimestamp","yyyy-MM-dd'T'HH:mm:ss.SSS'Z'","ISO8601"]
     target => "edrTimestamp"
}

运行上面的logstash脚本会创建一个 flex 搜索索引。但是仍然没有对该字符串进行解析。它还在索引中显示了日期解析的异常。

它创建这样的输出。
{
          "tags": [
            "_dateparsefailure"
          ],
          "statusCode": "805",
          "campaignRedemptionLimitTotal": 1000,
          "edrTimestamp": "2018-05-22T16:41:25.162+0530 ",
          "msisdn": "+919066231327",
          "timestamp": "2018-05-22T16:41:25.122+0530",
          "redempKeyword": "print1",
          "campaignId": "C910101-1527004962-1582",
          "category": "RedeemRequestReceived"
        }

请告诉我上面的代码有什么问题>我尝试了许多其他替代方法,但仍然无法正常工作。

最佳答案

您的问题是您的时间戳记"edrTimestamp": "2018-05-22T16:41:25.162+0530 ",的末尾有一个空格,这导致日期解析失败。您需要添加:

mutate {
  strip => "edrTimestamp"
}

在日期过滤器之前。

关于elasticsearch - 无法在logstash/elasticSearch中解析字符串至今,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50490639/

相关文章:

elasticsearch - 如何在Elasticsearch中仅查询索引的所有文档名称

elasticsearch - 使用Sphinx进行多语言全文搜索

elasticsearch - 是否可以在 Elasticsearch 中运行两个节点但只允许查询一个?

elasticsearch - Kibana的脚本字段可以在运行时运行吗?

amazon-web-services - elasticsearch只显示1个使用logstash进行数据迁移的docs.count

python-3.x - 使用match all query python从Elastic搜索索引中获取有限的数据

elasticsearch - 在 Elastic Search 中将嵌套查询与 bool 查询相结合

sorting - 对嵌套数组进行排序并返回弹性中的前 10 名

logging - 使用logstash(ELK)轮询日志

logging - 如何使用 FileBeat 从日志行设置字段