Unifi syslog, stream, pipline, regex

@StefanAustin,

okay, this was quick. :slight_smile:

I was able to create the respective rule and implement it. There are now even more fields available, then I specified.

rule "Unifi USG-3P firewall messages"
when
  contains(to_string($message.source), "usg", true)
then
  set_fields(
    grok(
      pattern:"^.*?SRC=%{IP:source_ip} DST=%{IP:destination_ip}.*? PROTO=%{WORD:protocol} SPT=%{NUMBER:source_port} DPT=%{NUMBER:destination_port} .*?$",
      value:to_string($message.message)
    )
  );
end

I added the rule to a Pipeline, which only contains this rule and is connected to a specific stream.

Why is the rule applied to the default stream as well? I do not mind, but as far as In know, this shouldn’t be?

Chris

Screenshots

Pipeline Rule

Pipeline

Stream “Unifi Syslog”

default stream