我是ES的新手,并且希望开始索引在同一台机器中的组件之间打印的多个日志文件,以及在每台机器上的eventviewer条目之上的多台机器上 .
有时启用扩展跟踪可能会有大量写入,我希望尽可能快速轻量地 Build 索引 .
搜索日志将是一个用户一次完成的非常罕见的操作,只要花费约5秒钟我就可以了 .
我最初的想法,如果可能的话,只是为每个(机器,组件,日)tupple分配一个索引和碎片,它将驻留在本地机器本身上 . 这有望将所有节点协调减少到最小,并且在查询时,所有结果只需要从所有节点聚合 .
我的问题是这是否可行(我计划使用logstash将数据推送到ES)或者这是否是满足我需求的好方法?
谢谢,莱昂
1 回答
在开始索引数据之前,您无法进行优化,或者至少对数据量有一个切合实际的想法 .
但对于这部分:
您将创建太多索引 . ES没有神奇的数字,但是当Lucene碎片的大小在4到20Go之间时(如果你不使用父/子或嵌套结构),它通常是正确的大小 . 低于4Go,您无需占用CPU周期,并且在集群上增加了无用的负担 .
因此,请尝试估算每天/每个组件将生成的日志数 . 也许可以考虑每月指数或每日多组分 .