代码之家  ›  专栏  ›  技术社区  ›  user5835083

将来自MongoDB的数据附加到日志文件中,由Logstash处理并解析为Elasticsearch

  •  0
  • user5835083  · 技术社区  · 7 年前

    以下是我的情况:

    1. 我有一大组日志文件(大约4GB),我希望用Logstash解析这些文件,以便与弹性堆栈(Logstash、Elasticsearch、Kibana)一起使用。

    为了让事情更清楚,这里有一个粗略的例子。假设我有原始日志:

    2017-11-20 14:24:14.011 123 log_number_one
    

    123 ,并获取数据 data1 data2 附加到要发送到Elasticsearch的文档中,因此我的最终结果将包含类似以下内容的字段:

    { 
        timestamp: 2017-11-20 14:24:14.011, 
        serial: 123, 
        data1: "foo", 
        data2: "bar", 
        log: log_number_one
    }
    

    我认为,实现这一点的一个更简单的方法是简单地预处理日志,并通过MongoDB运行数字,然后通过Logstash对其进行解析。然而,考虑到我有4GB的日志文件,我希望能在一次突袭中实现这一点。我想知道我的边缘案例是否可以用ruby filter插件解决,在那里我可以运行一些任意的ruby代码来完成上述任务?

    1 回复  |  直到 7 年前
        1
  •  0
  •   user5835083 user5835083    7 年前

    答案来自 Christian_Dahlqvist ,弹性团队成员(全部归功于他):

    translate filter 使用基于序列号的序列化JSON填充字段,然后使用子过滤器解析并将其添加到事件中。

    参考: https://discuss.elastic.co/t/appending-data-from-mongodb-into-log-files-being-processed-by-logstash-and-parsed-into-elasticsearch/92564/2