Logstash 日志中有这么多变量

Logstash 日志中有这么多变量,logstash,logstash-configuration,Logstash,Logstash Configuration,我计划转换成一个新的logstash配置来重新建模我的索引,我在logstash中添加了一个if/if-else/else过滤器。目前,该集群约有85个每日滚动的活跃指数。几乎一半是每月一次,大约25-30%是每周一次,其余的将每天进行索引。我在测试环境中测试了conf,没有遇到太多问题。我的问题是,在我将此应用于如此多的指数之后,我是否会经历显著的性能下降。因此,在if/else过滤器中会有很多“or”语句。这会有什么负面影响?它会导致日志延迟或更严重的数据丢失吗?LogstashJVM目前是

我计划转换成一个新的logstash配置来重新建模我的索引,我在logstash中添加了一个if/if-else/else过滤器。目前,该集群约有85个每日滚动的活跃指数。几乎一半是每月一次,大约25-30%是每周一次,其余的将每天进行索引。我在测试环境中测试了conf,没有遇到太多问题。我的问题是,在我将此应用于如此多的指数之后,我是否会经历显著的性能下降。因此,在if/else过滤器中会有很多“or”语句。这会有什么负面影响?它会导致日志延迟或更严重的数据丢失吗?LogstashJVM目前是4gb。logstash过滤器看起来像这样,但具有我上面提到的变量数量:

filter {
        if [tag] == "x" or [tag] == "y" {
        mutate { add_field => { "[@metadata][target_index]" => "%{tag}-%{+YYYY.MM.dd}" } }
      } else if [tag] == "z" or [tag] == "t" {
        mutate { add_field => { "[@metadata][target_index]" => "%{tag}-%{+YYYY.MM}" } }
      } else {
        mutate { add_field => { "[@metadata][target_index]" => "%{tag}-%{+xxxx.ww}" } }
      }
    }

索引可能会更改以调整给定变量的数量。例如,每月指数将比其他2个指数大得多,因此每月过滤器可能会变成else条件。

在我看来,您可以让日志存储群集吸收ES群集,而不是一个日志存储群集消耗整个负载。是的,但是,这种情况是什么?这种没有应用过滤器配置的单一日志存储每天处理大约2亿条条目,没有任何问题。如果我不会遇到任何性能损失,我真的很想继续此日志存储。筛选条件肯定会要求您在内存中创建更多字符串对象以进行处理,因此理想情况下它会影响。但是,如果接收消息的唯一性商数较少,那么内存约束仍将处于限制之下,您将看不到任何性能影响。在我看来,您可以让日志存储群集接收ES群集,而不是让单个日志存储消耗整个负载。是的,这种情况下是什么情况?这种没有应用过滤器配置的单一日志存储每天处理大约2亿条条目,没有任何问题。如果我不会遇到任何性能损失,我真的很想继续此日志存储。筛选条件肯定会要求您在内存中创建更多字符串对象以进行处理,因此理想情况下它会影响。但是,如果接收消息的唯一性商数较少,那么内存约束仍然会受到限制,并且您不会看到任何性能影响。