我有如下的json日志:
{"event": "{"eventType": "pageview","userId": "2122334"}"}
{"event": "{"eventType": "reload","userId": "2122334"}"}
我需要将事件中继到基于它们的eventType的单独的Elasticsearch索引。我对在流利使用标签,规则中的模式等方面感到困惑。
一种方法是按类型标记事件,然后将不同的索引发送给elasticsearch。但我找不到如何执行此操作的示例。
任何帮助表示赞赏。
谢谢
答案 0 :(得分:0)
鉴于您的日志采用JSON格式,则您的源代码部分将显示以下内容:
<parse>
@type json
time_key $.log.myTimeField # optional, just for you to see how to retrieve keys from json.
keep_time_key true # optional
</parse>
然后您可以进行如下匹配:
<match **>
@type copy
<store>
@type elasticsearch
host 127.0.0.1
port 9200
index_name logs.${myKey}
include_tag_key true
<buffer tag, myKey>
flush_at_shutdown true
flush_mode immediate
flush_thread_count 8
</buffer>
</store>
</match>
请注意,您将需要缓冲区部分。这个例子很简单,也许您可以尝试这样的方法来满足您的需求:
index_name日志。$ {event [“ eventType”]}
我知道这是一个老问题,但是希望可以有所帮助。祝你好运!