Code: Select all
udp {
type => 'syslog-asm'
port => 5444
}
tcp {
type => 'syslog-asm'
port => 5444
Code: Select all
if [type] == "syslog-asm" {
grok {
break_on_match => false
match => [ "message", "\A%{SYSLOG5424PRI}%{SYSLOGTIMESTAMP} slot1\/%{HOSTNAME:logsource} %{LOGLEVEL:severity_label} %{SYSLOGPROG}: %{GREEDYDATA:info}" ]
add_tag => "grokked_syslog_asm"
}
mutate {
gsub => [
"severity_label", "err", "error",
"severity_label", "info", "informational",
"severity_label", "crit", "critical"
]
}
}
if [program] == "ASM" {
grok {
patterns_dir => "/usr/local/nagioslogserver/logstash/patterns"
match => [ "info", "%{F5SEQ:f5_sequence}: %{GREEDYDATA:info}violations: %{GREEDYDATA:f5_violations}. HTTP protocol compliance sub violations: %{GREEDYDATA:f5_http_violations}. Evasion techniques sub violations: %{GREEDYDATA:f5_evasion_violations}. Web services security sub violations: %{GREEDYDATA:f5_web_svc_violations}. Virus name: %{GREEDYDATA:f5_virusname}. Support id: %{GREEDYDATA:f5_supportid}, source ip: %{IPNA:f5_sourceip}, xff ip: %{IPNA:f5_xffip}, source port: %{NUMBER:f5_sourceport}, destination ip: %{IPNA:f5_destinationip}, destination port: %{NUMBER:f5_destinationport}, route_domain: %{NUMBER:f5_routedomain}, HTTP classifier: %{GREEDYDATA:f5_http_classifier}, scheme %{SCHEME:f5_scheme}, geographic location:%{GREEDYDATA:f5_geolocation}, request: %{GREEDYDATA:f5_request}, username:%{GREEDYDATA:f5_username}, session_id: %{GREEDYDATA:f5_sessionid}" ]
match => [ "info", "%{GREEDYDATA:info}" ]
remove_tag => "grokked_syslog_asm"
add_tag => "grokked_syslog_f5_asm"
overwrite => [ "info" ]
}
}
}
Code: Select all
output {
if [type] == "syslog-f5" and "_grokparsefailure" in [tags] {
file { path => "/var/log/failed_f5-asm_events-%{+YYYY-MM-dd}" }
}
}