rsyslog 模板 - 正则表达式解析失败

2023-12-06

我正在尝试在 rsyslog 服务器中构建来自 D-Link DAP-2310 的日志。它具有非标准日志格式,我的想法是使用 rsyslog 模板中的正则表达式来修复该问题。当我使用 rsyslogd -N1 解析 rsyslog.conf 时,结果确实令人沮丧。

msg 数据项看起来像AA:BB:CC:DD:EE] [app-name] log message第一部分是mac地址,其中第一部分“[00:”被放置在另一个数据项中,不要问为什么。第二部分“[app-name]”是发送消息的应用程序/实例。最后一部分“日志消息”是记录的操作。

有趣的部分是 i) 应用程序名称和 ii) 日志消息。

我已经验证了以下正则表达式http://www.rsyslog.com/regex/他们俩都很有魅力。

  1. \[(.+)\]
  2. \[.+\](.+)

完整的模板声明如下所示:

template(name=”AP_tmpl” type=”list”) {   
    property(name=”timestamp”)    
    constant(value=” “)   
    property(name=”hostname”)
    constant(value=” “)   
    property(name=”msg” 
        regex.type=”ERE” 
        regex.submatch=”1”    
        regex.expression=”\[(.+)\]--end”
        regex.nomatchmode=”BLANK”
    )   
    constant(value=” “)
    property(name=”msg” 
        regex.type=”ERE”
        regex.submatch=”1”
        regex.expression=”\[.+\](.+)$--end”   
        regex.nomatchmode=”BLANK”
    )    
    constant(value=”\n“) 
}

当我解析conf文件时,它抱怨转义字符。

tobias@ubuntutest:~$ sudo rsyslogd -N1
rsyslogd: version 7.4.4, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: error during parsing file /etc/rsyslog.d/41-AP.conf, on or before line 20: invalid character '"' in object definition - is there an invalid escape sequence somewhere? [try http://www.rsyslog.com/e/2207 ]
rsyslogd: error during parsing file /etc/rsyslog.d/41-AP.conf, on or before line 20: invalid character '\' in object definition - is there an invalid escape sequence somewhere? [try http://www.rsyslog.com/e/2207 ]
rsyslogd: error during parsing file /etc/rsyslog.d/41-AP.conf, on or before line 20: invalid character '.' in object definition - is there an invalid escape sequence somewhere? [try http://www.rsyslog.com/e/2207 ]
rsyslogd: error during parsing file /etc/rsyslog.d/41-AP.conf, on or before line 20: invalid character '*' in object definition - is there an invalid escape sequence somewhere? [try http://www.rsyslog.com/e/2207 ]
rsyslogd: error during parsing file /etc/rsyslog.d/41-AP.conf, on or before line 20: invalid character '\' in object definition - is there an invalid escape sequence somewhere? [try http://www.rsyslog.com/e/2207 ]
rsyslogd: error during parsing file /etc/rsyslog.d/41-AP.conf, on or before line 20: syntax error on token ']' [try http://www.rsyslog.com/e/2207 ]
rsyslogd: CONFIG ERROR: could not interpret master config file '/etc/rsyslog.conf'. [try http://www.rsyslog.com/e/2207 ]
rsyslogd: run failed with error -2207 (see rsyslog.h or try http://www.rsyslog.com/e/2207 to learn what that number means)

我不明白为什么,正则表达式经过验证没有任何错误。http://www.rsyslog.com/e/2207什么也没给出。有任何想法吗?


当你写的时候”\[(.+)\]--end”, \[预计是一个特殊字符(例如\n),而事实并非如此。为了避免特殊使用反斜杠,您应该使用另一个反斜杠对其进行转义。所以虽然真正的正则表达式是\[(.+)\] and \[.+\](.+),您必须使用的字符串是:”\\[(.+)\\]” and ”\\[.+\\](.+)”.

另外,请小心双引号,您可能想要", 并不是.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

rsyslog 模板 - 正则表达式解析失败 的相关文章

随机推荐

  • Azure WebJobs NuGet 包错误

    我想知道是否有人在 Visual Studio 模板上的 Azure WebJobs 队列示例上遇到过运行错误 在我更新 NuGet 管理器上的所有包后 运行的示例会发出问题 这是错误消息 System InvalidOperationEx
  • 另一个字符串的子字符串会阻止父字符串被垃圾收集吗?

    String samplel ToBeGarbageCollected String sample2 samplel substring 0 1 samplel null 我知道子字符串内部会保留原始字符串的引用 但通过明确定义sample
  • 如何将更改从骨架子存储库拉入生产超级存储库

    我正在使用奥里莉亚骨架其中包含用于不同目的的各种项目设置 但这更多的是一个一般性问题 即如何使用 git 做一些事情 如下所述 我希望能够将 GitHub 框架存储库中发布的更新合并到我实际正在处理的项目中 你会怎么做 目前 我刚刚在 sc
  • 使用过滤器编辑 site_url

    使用 WordPress 调用site url 返回完整的站点 URL http www example com 我想做的是添加一些东西 add something here 在带有过滤器的 URL 末尾 我期待的结果是 http www
  • 仅将函数应用于具有可变位置的一列

    我有一堆不同的文件 所有文件都包含标题为 ID 的列 但不一定位于所有文件中的同一位置 我有一个函数想要应用于所有文件中的 ID 以将它们更改为 NEWID 我知道如果我传入 ID 的列号 我可以非常简单地做到这一点 假设它是 5 列文件中
  • 整数与长混淆

    我看到很多人相信以下观点 VBA 将所有整数值转换为 Long 类型 事实上 即使是MSDN 文章 says 然而 在最近的版本中 VBA 会将所有整数值转换为 Long 类型 即使它们被声明为 Integer 类型 这怎么可能 考虑这个简
  • 我如何知道方法调用可能引发哪些异常?

    有没有办法知道 在编码时 执行 python 代码时会出现哪些异常 我最终在 90 的情况下捕获了 Exception 基类 因为我不知道可能会抛出哪种异常类型 阅读文档并不总是有帮助 因为很多时候异常可以从深处传播 而且很多时候文档未更新
  • OpenCV v1/v2错误:该功能未实现

    我正在尝试让 OpenCV 在我的 Ubuntu 机器上使用 Python 我已经下载并安装了 OpenCV 但是当我尝试运行以下 python 代码时 应该从网络摄像头捕获图像并将其推送到屏幕 import cv cv NamedWind
  • 您可以将脚本分配给页面元素(形状等)吗?

    我想为学生制作一个交互式幻灯片 我想添加形状 因此当您单击形状时 它将运行 Apps Script 脚本 这在 Google 表格中是可能的 所以 我认为你也可以用幻灯片来做到这一点 没有办法运行容器绑定脚本通过点击 Google 幻灯片中
  • 使用新的亚马逊服务搜索亚马逊示例

    我找不到新的亚马逊服务的工作示例 或者至少在过去几年内 无论我在标题中输入什么内容 最接近的工作示例都会返回一个空项目 代码是 Amazon ProductAdvertisingAPI client AWSECommerceServiceP
  • 如何在 Three.js 中获取顶点的绝对位置?

    据我所知var point object geometry vertices i 将返回相对位置x y and z对象几何内部的点 如果对象被移动 旋转或缩放 如何获得绝对位置 您可以像这样获取顶点的世界位置 const vertex ne
  • 如何从互不关注的号码池中生成随机数

    我有一个数字池 例如 3 6 7 11 20 我需要每个数字在我的集合中出现 x 次 我的解决方案是创建一个包含两个整数 num numOfAppearnces 的类 我们称之为 元素 我在 arrayList 中创建了一个 元素 池 然后
  • 对 LAPACK 和 BLAS 子例程的未定义引用

    我试图了解 Fortran 中的 BLAS 和 LAPACK 如何工作等等 所以我编写了一个生成矩阵并将其反转的代码 这是代码 program test Implicit none external ZGETRF external ZGET
  • HRESULT 异常:0x80040111 (CLASS_E_CLASSNOTAVAILABLE)

    使用 Net 4 0 WPF 应用程序 C 我的应用程序中有以下代码 当Select单击按钮 OpenFileDialog fdgSelectFile bool dialogResult try fdgSelectFile new Open
  • Scala 通过 Spark 与纱线 - 缺少大括号字符串

    我编写了一些 scala 代码 看起来像这样 object myScalaApp def main args Array String Unit val strJson args apply 0 println strJson strJso
  • 如何使用 Java 的服务帐户访问 Google 表格?

    我正在尝试从服务帐户访问 Google 表格 服务帐户有权访问该表格 但我有一个问题 所有文档 包括官方文档点使用GoogleCredential自 1 7 起已弃用 弃用表示您应该使用库google auth library这就是我正在做
  • 查看扩展的 C 宏

    如果我想扩展 C 宏 有哪些好的方法可以做到这一点 除了手动跟踪之外 例如 GTK WIDGET SET FLAGS 它使用一个宏 该宏使用一个宏 该宏使用一个 或两个 宏 我只想看到它以某种方式自动扩展 而不是搜索每个宏 每一步 UPDA
  • 非常非常长的数的模 (fmod)

    我想使用 Cpp 查找阶乘中零的数量 问题是当我使用非常大的数字时 include
  • 从帮助 ID 获取 CHM 详细信息

    我有帮助字符串 id 和一些 CHM 文件 通过帮助字符串 我想找到诸如 CHM 文件名 链接到该帮助 ID 的页面 该页面的描述 标题等详细信息 如果您有文件名和搜索条件 我有对多个 CHM 文件执行字符串搜索的所有代码 但我担心的是 只
  • rsyslog 模板 - 正则表达式解析失败

    我正在尝试在 rsyslog 服务器中构建来自 D Link DAP 2310 的日志 它具有非标准日志格式 我的想法是使用 rsyslog 模板中的正则表达式来修复该问题 当我使用 rsyslogd N1 解析 rsyslog conf