多字段名称的Logstash技术

时间:2014-10-27 16:06:11

标签: logstash

重申原来的问题。希望这会更清楚。

我有一条日志消息,如下所示:

13:26:24.160 Int 22000 COMPDBG: Interaction 065634563453 Some simple log text here    _I_I_04776_E0                          [07:3f] get data from cfglist(LIST_VendorCfg) item VendorRoutine, key L1Only result: 0\n    _I_I_04776_E0 [09:04] ASSIGN: v_L1Only(LOCAL) <- STRING: \"0\"\n    _I_I_04776_E0 [07:3f] get data from cfglist(LIST_VendorCfg) item VendorRoutine, key Enabled result: 1\n    _I_I_04776_E0 [09:04] ASSIGN: v_VendorEnabled(LOCAL) <- STRING: \"1\"\n    _I_I_04776_E0 [09:04] ASSIGN: v_AgentGroups(LOCAL) <- STRING: \"DAT_IN_NCL_JDOE@.GA,VAG_IN_JDOE@.GA\"\n    _I_I_04776_E0 [09:04] ASSIGN: v_VQ(LOCAL) <- STRING: \"VQ_SCT_VENDOR_END\"\n    _I_I_04776_E0 [09:04] ASSIGN: v_Stat(LOCAL) <- STRING: \"StatTimeInReadyState\"\n    _I_I_04776_E0 [09:04] ASSIGN: v_Priority(LOCAL) <- STRING: \"10\"

除了ASSIGN值之外,我可以从中获得所需的一切。

鉴于上面的消息,我试图找到一种方法来提取六个ASSIGN字段: -

ASSIGN:v_L1Only(LOCAL)&lt; - STRING:\&#34; 0 \&#34; \ n _I_I_04776_E0 [07:3f]从cfglist(LIST_VendorCfg)项目获取数据VendorRoutine,key启用结果:1 \ n _I_I_04776_E0 [09:04]

ASSIGN:v_VendorEnabled(LOCAL)&lt; - STRING:\&#34; 1 \&#34; \ n _I_I_04776_E0 [09:04]

ASSIGN:v_AgentGroups(LOCAL)&lt; - STRING:\&#34; DAT_IN_NCL_JDOE @ .GA,VAG_IN_JDOE @ .GA \&#34; \ n _I_I_04776_E0 [09:04]

ASSIGN:v_VQ(LOCAL)&lt; - STRING:\&#34; VQ_SCT_VENDOR_END \&#34; \ n _I_I_04776_E0 [09:04]

ASSIGN:v_Stat(LOCAL)&lt; - STRING:\&#34; StatTimeInReadyState \&#34; \ n _I_I_04776_E0 [09:04]

ASSIGN:v_Priority(LOCAL)&lt; - STRING:\&#34; 10 \&#34;

我一直在尝试&#39;&#39;过滤各种&#39; value_split&#39;和&#39; field_split&#39;人物 - 但没有快速到达任何地方。

理想情况下,我想要多个赋值字段,每个字段都有自己的值,但如果唯一的方法是为每个ASSIGN实例分配唯一的字段名称,那就这样吧。

感谢。

1 个答案:

答案 0 :(得分:0)

假设你的例子都是一行(如果没有,请查看多行编解码器),并且你想要提取“ASSIGN”前面的值,你将要使用“kv” “(键/值)过滤器。你可以给它一个定义分隔符的正则表达式。这是the doc