如何解决使用 logstash 将系统日志数据发送到不同的输出
我计划使用 logstash 从各种系统(网络设备路由器、交换机、防火墙、系统事件日志)接收系统日志数据并发送到 elk。我希望 logstash 上的输出根据设备类型(防火墙、路由器、交换机等)转到不同的索引器。我如何配置 logstash 来做到这一点,这会是一个 grok 模式吗?正在考虑是否可以为已识别的消息创建一个标签,并可以根据该标签设置输出。我不知道如何让 logstash 匹配系统日志输入消息并用不同的标签类型(防火墙、路由器、交换机等)标记它。
正在查看类似下面的内容,根据发送消息的日志源,我将添加 add_tag [fortigate]、add_tag[nexus]、add_tag[router],但它们都来自相同的端口。我不想每个设备有不同的端口,所以我不必修改终端设备。
# Syslog Input
input {
tcp {
port => 5140
tags => ["syslog","network","tcp"]
}
}
filter {
if "syslog" in [tags] {
grok {
match => {"message" => [something]
}
add_tag => ["fortigate"]
}
我会做多个 grok 并匹配然后 add_tag 吗?我也知道设备类型的 IP,所以有没有办法说如果匹配这个 IP 然后标记这个?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。