/var/log/secure 中数学验证失败的正则表达式

Regex to math authentication failures in /var/log/secure

我正在尝试使用正则表达式对 /var/log/secure 中的字符串进行数学运算,以确定是否存在 ssh 身份验证失败。

如果身份验证失败,日志文件中将如下所示:

Oct 31 07:52:41 logserver sshd[17041]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=localhost

我试过这样做:

"\<sshd[^:]*: pam_unix(sshd:auth): authentication failure; ./* \>"

但这并非不起作用。如果有人可以帮助我使用正则表达式,我将不胜感激。

这是在 CentOS 7 机器上,正则表达式用于 collectd 的插件 tail

collectd .conf 中,您可能会使用以下其中一项:

<Plugin "tail">
  <File "/var/log/secure">
    ...
    <Match>

选项 1:

    Regex "authentication failure"

选项 2:

    Regex "sshd:auth[^:]*: authentication failure;"

选项 3:

    Regex "authentication failure|authentication|failure"

其中选项 1 和 2 应该是最精确的匹配,而选项 3 更笼统。选项 1 找到确切的短语 authentication failure,选项 2 找到确切的短语以及 (sshd:auth): 在它之前,选项 3 找到确切的短语或 "authentication" 或 "failure".

    </Match>
  </File>
</Plugin>