You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解析fail2ban日志中可能带空格的动作类型字段

问题原因

当前规则使用的内置%{word}模式仅可匹配无空格的连续字符,无法适配Restore Ban这类带空格的双词动作字段。

解决方案

由于动作字段后固定跟随IPv4地址,可将原有%{word:ActionType}替换为自定义非贪婪正则,匹配IP之前所有由字母和空格组成的动作内容,不会侵占后续字段的匹配。

修改后完整Grok规则

fail2banRule01 %{date("yyyy-MM-dd HH:mm:ss,SSS"):Datetime}\s+fail2ban.%{word}\s+\[%{number:PID}\]\:\s+%{word:Level}\s+\[%{word:Jail}\]\s+(?<ActionType>[a-zA-Z ]+?)\s+%{ipv4:ClientIP}(\s+-\s+%{date("yyyy-MM-dd HH:mm:ss"):ActionDate})?

适配验证

针对提供的3条示例日志,修改后的规则可正确提取所有动作字段:

  • 日志1提取ActionType值为Restore Ban
  • 日志2提取ActionType值为Ban
  • 日志3提取ActionType值为Found

该规则完全兼容Datadog日志处理架构的Grok语法,无需额外调整配置。

内容的提问来源于stack exchange,提问作者infrabill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:27:03