【问题标题】:Logstash IndexingLogstash 索引
【发布时间】:2015-01-14 09:31:55
【问题描述】:

我想为两个不同的系统创建两个单独的索引,这些系统将数据发送到用于 udp 的 logstash 服务器设置 - syslog。在 Elasticsearch 中,我创建了一个名为 CiscoASA01 的索引和另一个名为 CiscoASA02 的索引。如何配置 Logstash 以过滤来自第一台设备的所有事件进入 CiscoASA01 索引,以及来自第二台设备的事件进入第二个索引?谢谢。

【问题讨论】:

    标签: elasticsearch logstash logstash-grok


    【解决方案1】:

    您可以使用if 分隔日志。假设您的第一个设备是 CiscoASA01,第二个是 CiscoASA02。

    这是输出

    output {
        if [host] == "CiscoASA01"
        {
                elasticsearch {
                        host => "elasticsearch_server"
                        index => "CiscoASA01"
                }
        }
    
        if [host] == "CiscoASA02"
        {
                elasticsearch {
                        host => "elasticsearch_server"
                        index => "CiscoASA02"
                }
        }
    }
    

    [host] 是 logstash 事件中的字段。您可以使用它将日志分隔到不同的输出。

    希望这可以帮助你。

    【讨论】:

    • 尝试一下可能会很有趣:index => "%{host}"
    • 非常感谢!有没有办法可以使用子网变量而不是主机?即子网 192.168.1.x > 使用 index1、192.168.2.x > 使用 index2?我怀疑我必须使用正则表达式在主机变量上执行此操作?
    • 实际上,我似乎找不到相关信息,在logstash的输出部分,我可以引用事件中的任何字段吗?我在配置的过滤区域中添加了一个新字段,即“Device_Type”=交换机、路由器、防火墙等,在输出区域中,我可以访问该字段吗?谢谢。
    • 是的,你可以做你需要的! [host] 是事件字段。所以,如果你想使用“Device_Type”,你可以使用这个“if [Device_Type] == switch”。
    猜你喜欢
    • 2016-04-03
    • 1970-01-01
    • 1970-01-01
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    相关资源
    最近更新 更多