Grok自定义模式 - 如何匹配特定的域格式

时间:2018-05-08 10:27:41

标签: logstash logstash-grok

我需要从下面的日志中匹配此部分*.server.domain.com*并分配给域变量。无论模式应该如何,默认HOSTNAME模式对我来说都不起作用。

Apr  4 10:46:25 10.42.203.245 ThreatInsightAnalytics[29407]: The CNAME record '*.server.domain.com' is successfully added into BlackList RPZ zone(s) with comment '[2018-04-04 10:46:22 UTC] [member: infoblox.localdomain] DNS Tunneling' and policy 'No Such Domain'.

1 个答案:

答案 0 :(得分:0)

您可以使用Oniguruma语法在asterisk的预定义grok模式中添加.HOSTNAME,并创建自定义模式,如下所示,

(?<domain_name>\*\.)%{HOSTNAME}

OR

(?<domain_name>\*\.\b(?:[0-9A-Za-z][0-9A-Za-z-]{0,62})(?:\.(?:[0-9A-Za-z][0-9A-Za-z-]{0,62}))*(\.?|\b))

这将在您的日志上生成以下输出

{
  "domain_name": [
    [
      "*.server.domain.com"
    ]
  ]
}

希望有所帮助