elasticsearch Logstash和grok:根据输入确定的变量名称,elasticsearch,logstash,logstash-grok,elasticsearch,Logstash,Logstash Grok" /> elasticsearch Logstash和grok:根据输入确定的变量名称,elasticsearch,logstash,logstash-grok,elasticsearch,Logstash,Logstash Grok" />

elasticsearch Logstash和grok:根据输入确定的变量名称

elasticsearch Logstash和grok:根据输入确定的变量名称,elasticsearch,logstash,logstash-grok,elasticsearch,Logstash,Logstash Grok,我想从F5 LTM发送多个不同的系统日志,但我希望能够发送任何类型的信息,而无需始终更改日志存储配置。 例如,今天我有两个病毒可以发送两种类型的日志: <134>Dec 16 11:55:01 XX-BIGIP02 tmm1[9224]: Rule /Common/Layer4_Logger <CLIENT_CLOSED>: Layer4 SFTP --Client 136.2.0.000:28075 --Vip 10.12.0.00:22 --Node 10.12.0.

我想从F5 LTM发送多个不同的系统日志,但我希望能够发送任何类型的信息,而无需始终更改日志存储配置。 例如,今天我有两个病毒可以发送两种类型的日志:

<134>Dec 16 11:55:01 XX-BIGIP02 tmm1[9224]: Rule /Common/Layer4_Logger <CLIENT_CLOSED>: Layer4 SFTP --Client 136.2.0.000:28075 --Vip 10.12.0.00:22 --Node 10.12.0.00:22 --ConnectedIn 106 --ClosedAfter 824
<132>Dec 16 12:02:03 XX-BIGIP02 tmm[9224]: Rule /Common/SSLv3_Logger <HTTP_REQUEST>: SSLv3 connexion detected from 202.00.000.254:64541 to 10.12.0.00:443 --URL as1.***.com/ed**s/ED**S.dll?ClientType=Es***036.39983&ClientInfoC=XaV%2FWcV***&Handler=Default2 --SSL SSLv3:RC4-SHA:128 --UserAgent "Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.1891)"
并在我的Elasticsearch中索引variableName和value。这可能吗

一个简单的正则表达式来捕获我的东西可能是这样的:(只是一个例子)

但我不知道我怎么能对格罗克说,我的第一组被抓到的应该是一片沼泽地


感谢您的帮助,

kv{}filter(key/value)完成了这项工作(而不是grok):

这可能与kv{}filter(key/value)一起实现。这确实可以完成这项工作:谢谢
grok {
        match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
        add_field => [ "received_at", "%{@timestamp}" ]
    }
    grok {
        match => {"syslog_message" => "Rule %{DATA:F5_iRuleName} <%{DATA:F5_onEvent}>:.*?from %{IPORHOST:src_ip}(?:[: ]%{INT:src_port})? to (?:/Common/%{DATA:F5_Pool} )?%{IPORHOST:dest_ip}(?:[: ]%{INT:dest_port})?"}
    }
--VariableName Value
(--[A-Za-z0-9_]+)\s ([^\s]+?)