Hi,
I’m new to Graylog. I use Graylog to receive events that are written to Elasticsearch. Here I now also have entries that are visible from Sysmon on Windows devices with data_win_eventdata_sourceIP and data_win_eventdata_destinationIP.
A stream has already been created.
I also followed these instructions to activate GeoIP: https://graylog.org/post/how-to-set-up-graylog-geoip-configuration/
In the pipeline configuration I created the following rule that points to my stream
rule "GeoIP lookup"
when
true
then
set_field("data_win_eventdata_sourceIp",$message.src_ip);
set_field("data_win_eventdata_destinationIp",$message.dest_ip);
let geo = lookup("geoip", to_string($message.src_ip));
set_field("src_ip_geo_location", geo["coordinates"]);
set_field("src_ip_geo_country", geo["country"].iso_code);
set_field("src_ip_geo_city", geo["city"].names.en);
let geo2 = lookup("geoip", to_string($message.dest_ip));
set_field("dest_ip_geo_location", geo2["coordinates"]);
set_field("dest_ip_geo_country", geo2["country"].iso_code);
set_field("dest_ip_geo_city", geo2["city"].names.en);
end
The arrangement of the message processor is as follows:
- AWS Instance Name Lookup
- Pipeline Processor
- Stream Rule Processor
- Message Filter Chain
- GeoIP resolver
Unfortunately, the additional fields with the geo information are not created for me.
Maybe someone can help me out.
Thanks
David