几天来,我一直在寻找一个很好的解释,说明Graylog/Elasticsearch如何使用索引,以及何时创建一个新的索引。有很多关于分块索引的信息,但没有多少关于索引本身的信息,除了它们是一组设置有多少数据要保留和如何管理它们,但不是为什么。(至少在我看来是这样)
我们使用Graylog4.0和Elasticsearch 7.10和MongoDB 3。
我们试图集中从6个仓库地点(所有几百公里以外的另一个)的日志。每个都有6到20个RFID门,每个都有一个日志。每个门都有连接到中央控制器中间件的连接中间件,所有这些都有日志。然后是自动化仓库AWMS、WMS服务器、ERP服务器及其前端的控制器。我们还考虑从运行这些服务的服务器的中收集至少一些事件。
通常,我们需要在一个子系统中分析一个问题,所以需要搜索其中一个日志。有时我们需要查看从RFID门到AWMS、WMS和ERP的整个流程。
目前,我考虑为每个日志创建一个流,并在搜索中使用相关的流。(如果是的话,这种做法是否已经存在缺陷?)
发布于 2021-05-17 21:18:30
Is -- Graylog中的一个索引集--只是关于保留策略的设置?
不要忘记索引集在底层的索引基础结构中对ElasticSearch有直接影响,您应该考虑这一点,因为ElasticSearch都是关于索引及其碎片的(数据分布、副本、.)。datatypes和field也是一回事:不能(不应该)在同一索引集中使用混合数据类型的相同字段(例如,如果字段device以Integer的形式存在,因为System1使用设备号,但是System2需要该字段的Text类型,因为设备标识符是字符串,那么您应该将所有内容存储为字符串,或者创建一个单独的索引集,以将两种数据类型及其各自的好处保留在相同的字段名下)。
这就是为什么您可能不希望将Windows日志存储在其他任何索引集中(将此应用于您的用例,这对于您的ERP/WMS数据源来说可能是正确的?)因为它们很容易导致数百个不同的字段(建议避免超过每指数1000个字段限制)。
所以,不,这不仅仅是关于保留策略。作为反射的起点,我建议您考虑将各种数据源类型分组到它们的索引集中(例如,Windows日志的索引集,Linux服务器的索引集,防火墙的索引集,因为从数据类型的角度来看,这是有意义的)。
如果我有很多或几个指数,它会对What产生影响吗?
它取决于您的ElasticSearch基础设施,而且“很多”是未定义的.看看施胶弹性搜索和大小你的碎片。请记住,您将执行什么样的查询,以及在哪个时间范围内可能有助于在索引大小和索引数量之间找到适当的平衡,ElasticSearch需要查询才能满足您的请求。
不幸的是,没有一刀切的策略。一种在一种环境中有效的策略可能不会在另一种环境中扩展。一个好的切分策略必须考虑到您的基础结构、用例和性能期望。
How我应该为我的用例设置许多索引集?
流配置为一个索引集,您不能为一个流设置多个索引集。关于其他几点,我已经回答了。但是,请注意,您可以在同一索引集上配置多个流,如果您想使用这些流具有相同的基础数据,并且只想限制对某些用户的日志子集的访问,这是非常有用的:您可以根据您想要的条件在不同的流之间路由消息,如果这些流都共享相同的索引集,则不会复制消息。
https://serverfault.com/questions/1063719
复制相似问题