我正在尝试将ELK配置为从两个不同的应用程序中获取日志。据我所知,Elasticsearch索引类似于数据库。所以我的问题是:
Is it advisable to configure separate indices for different applications and Why? What are the pros and cons from it being used as/for a centralized logging system?
ES具有内置功能,默认logstash- *索引,它每天创建一个索引,具体取决于它从日志中收到的时间戳。现在,我如何为我的应用创建一个索引,使其命名为不同,比如App1-*
,其行为与logstash-*
索引完全相同,即从时间戳开始每天创建?
我检查了索引API上的ES文档,但无法为自定义索引找到足够的信息。这有什么指针吗?
答案 0 :(得分:1)
使用多个索引的主要原因是每个索引(和底层分片)都会混淆HEAP,这限制了一次可以打开的索引数量。如果将数据合并为一个索引,则需要较少的内存来保持数据的可用性。
对于每日指数,elasticsearch会在被要求时创建任何索引。在elasticsearch {}输出中,Logstash允许您指定索引的名称,该名称可以包含静态(“logstash-”)和动态元素(日期,事件中的字段等)。
请注意,有一个映射模板应用于“logstash- *”索引。如果您需要任何该功能,则需要自己处理。