I am using pipeline processing to manipulate some log messages and recently 
upgraded to the 2.2.0.beta.2 release because of some grok issues. In this 
release, there is a new split function(awesome) but I am stumped about how 
I can take my message and convert it into fields. The log that comes in 
only has values. 

The original message looks like this:
1481902779.726930|Cul6n448SJMZGrPCF6|10.10.10.200|24406|10.200.10.100|1812|
auser|(empty)|166.180.80.100|-|success

The pipeline rule looks like this:
rule "Extract bro_radius log fields"
when
  has_field("message") AND
  contains(value: to_string($message.application_name), search: "bro_radius"
, ignore_case: true)
then
  let m = split("\\|", to_string($message.message));
  
  set_field("atest", m);

This is what gets extracted:
["1481902779.726930","Cul6n448SJMZGrPCF6","10.10.10.200","24406",
"10.200.10.100","1812","auser","(empty)","166.180.80.100","-","success"]

I know what all the field names should be and when using the regex 
extractor in the pipline, I can just do something like this:
  set_field("ts", m["0"]);
  set_field("uid", m["1"]);
  set_field("id_orig_h", m["2"]));
  set_field("id_orig_p", m["3"]);
  set_field("id_resp_h", m["4"]);
  set_field("id_resp_p", m["5"]);

How can I set a new field name with a value similar to how the regex 
function works? 
Any help would be appreciated.

Regards,
Brandon

-- 
You received this message because you are subscribed to the Google Groups 
"Graylog Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/graylog2/83cac985-0281-4667-a95a-0d28801da6a1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to