来自哪里

 来自哪里

给出了这个日志检查规则:

^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ systemd-logind\[[[:digit:]]+\]: New session [[:digit:]]+ of user [^[:space:]]+\.$

以及以下日志条目:

Mar 19 09:16:09 horst kernel: [3257039.867032] <38>systemd-logind[193047]: New session 24987 of user icinga.

这些似乎不匹配,不幸的是我找不到与 <38> 相匹配的规则。是的,这似乎是一个静态数字。

答案1

<38> 来自哪里

RFC 3164,标题4.1.1 PRI 部分描述<38>的功能。它是消息的功能和严重性组合成一个数字:

facility * 8 + severity = 38
facility = 4 = "AUTH"
severity = 6 = "INFO"

这个数字是通常情况下在将其写入文件之前被 syslog 守护进程剥离。

如何修复正则表达式

在这种情况下,找到问题的最佳方法是逐个部分地将正则表达式与行进行比较。您没有匹配以下kernel: [123.456]部分:

^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ kernel: \[[[:digit:] .-]+\] <38>systemd-logind\[[[:digit:]]+\]: New session [[:digit:]]+ of user [^[:space:]]+\.$

相关内容