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