是时候用 ES 拯救发际线啦

如何根据数据某字段值的不同,调用不同的正则表达式?

Logstash | 作者 sailershen | 发布于2019年07月17日 | 阅读数:2320

业务系统会输出两种格式稍有不同的数据到logstash:
OuYu 230 (Android/1.4.2) | sip:18681227526@192.168.1.1 | sip:280062@192.168.1.2:46270;transport=tcp | 2019-07-16 22:50:19 | E_P2P_MESSAGE

OpenSIPS (2.1.2 (x86_64/linux)) | sip:600999@192.168.3.101:6067 | sip:600561@192.168.3.101:6067 | 2019-07-17 14:19:46 | E_P2P_MESSAGE

在filter里如何写grok,可以根据数据的第一个单词是"OuYu"或者"OpenSIPS",分别调用不同的正则表达式语句来过滤这些数据?
已邀请:

bellengao - 博客: https://www.jianshu.com/u/e0088e3e2127

赞同来自: sailershen

if "OuYu" in [message] {
   grok {  } 
}else { 
   grok { }
 } 

要回复问题请先登录注册