elasticsearch 如何在双索引日志存储配置中保存日志,elasticsearch,logstash,elastic-stack,elasticsearch,Logstash,Elastic Stack" /> elasticsearch 如何在双索引日志存储配置中保存日志,elasticsearch,logstash,elastic-stack,elasticsearch,Logstash,Elastic Stack" />

elasticsearch 如何在双索引日志存储配置中保存日志

elasticsearch 如何在双索引日志存储配置中保存日志,elasticsearch,logstash,elastic-stack,elasticsearch,Logstash,Elastic Stack,如何将日志保存在一个原始日志和另一个已处理日志的多个索引中 在我当前的配置中,所有日志都会进入logstash xxx索引。现在,我想对登录消息进行一些筛选,并将其放入不同的索引中。但是所有匹配的日志也应该保存到logstashxxx索引中 我怎样才能做到这一点 听起来您希望将与审核相关的消息发送到一个新的索引,该索引可能有单独的保留策略。我知道这种痛苦 有几种方法可以解决这个问题 在我看来,最好的方法是识别与审计相关的项目,标记它们,然后在输出中使用该标记。比如 filter { if [

如何将日志保存在一个原始日志和另一个已处理日志的多个索引中

在我当前的配置中,所有日志都会进入logstash xxx索引。现在,我想对登录消息进行一些筛选,并将其放入不同的索引中。但是所有匹配的日志也应该保存到logstashxxx索引中


我怎样才能做到这一点

听起来您希望将与审核相关的消息发送到一个新的索引,该索引可能有单独的保留策略。我知道这种痛苦

有几种方法可以解决这个问题

在我看来,最好的方法是识别与审计相关的项目,标记它们,然后在输出中使用该标记。比如

filter {
  if [path] =~ "auth.log$" {
    mutate {
      add_tags => [ "audit" ]
    }
  }
}

output {
  elasticsearch {
    logstash-index stuff
  }

  if "audit" in [tags] {
    elasticsearch {
      audit-index stuff
    }
  }
}

使用此配置,标记为
audit
的事件将被放入通常的
logstash-
索引以及单独的索引中。

为什么不使用一个索引和两个模式?已处理和原始日志?如果它满足您的需求,这是一个常见的用例。您可以通过使用grok插件解析日志来做到这一点。通过这样做,您将能够根据类型创建索引。如果您能分享一些日志并更好地解释您希望如何区分它们,我可能会提供额外的帮助。非常感谢,这似乎很有效。还有一件事,如何仅为审计索引输出删除某些字段?ra_log将进入常规日志Stash xxx索引,它将包含所有字段。@shamimakhtar添加一个筛选器块,将另一个
if
语句与输出块中的语句相同,并使用
mutate
删除审核索引中不需要的字段。