问题标签 [syslog-ng]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
parsing - 编写用于 syslog-ng 的自定义模板/解析器/过滤器
我的应用程序生成日志并将它们发送到 syslog-ng。我想编写一个自定义模板/解析器/过滤器以在 syslog-ng 中使用,以正确地将字段存储在 SQLite 数据库(MyDatabase)的表中。
这是我日志的传说:
unique-record-id usename date Quantity BOQ possible,item,profiles Count Vendor applicable,vendor,categories known,request,types vendor_code credit
所有这 12 个字段都是制表符分隔的,解析器必须将它们存储到 MyDatabase 中表 MyTable1 的 12 列中。一些字段:第6、第 9 和第 10 也包含“子字段”作为逗号分隔值。每个子字段中的值的数量是可变的,并且可以在日志的每一行中更改。
我需要将这些字段存储在各自单独的表 MyItem_type、MyVendor_groups、MyReqs
这些“辅助”表有 3 列,记录 Unique-Record-ID 和 Quantity,针对它们在日志中的每次出现所以 MyItem_type 表中的模式如下所示:
类似地,MyVendor_groups 的架构如下所示:
MyReqs 的架构如下所示:
考虑日志中的这些示例行:
唯一记录 ID 使用名称 日期 数量 BOQ 可能,项目,配置文件计数供应商适用,供应商,已知类别,请求,类型供应商代码信用
我的解析器应该将上述日志存储到 MyDatabase.Mytable1 中:
并且还解析“可能,项目,配置文件”以记录到 MyDatabase.MyItem_type 为:
我们还需要类似地解析“applicable,vendor,categories”并将它们存储到 MyDatabase.MyVendor_groups 中。并将“已知、请求、类型”解析为存储到 MyDatabase.MyReqs MyDatabase.MyItem_type、MyDatabase.MyVendor_groups 和 MyDatabase.MyReqs 的第一列将始终是日志中见证的 Unique-Record-ID。
因此,是的,此列不包含这三个表中的其他列一样的唯一数据。第三列将始终是日志中见证的数量。
我知道一点 PCRE,但正是在 syslog-ng 中使用嵌套解析器让我完全困惑。
Syslog-ng 的文档表明这是可能的,但根本没有找到一个好的例子。如果这里有任何类型的 hack 有一些参考或示例可以分享,那将非常有用。
提前致谢。
mysql - 如何在 Syslog-ng csv-parser 中创建动态列 (MACROS)
我的应用程序正在将消息写入 syslog-ng 并且 syslog-ng 通过将传入消息分隔到不同的列来将此消息存储到 SQlite。
我的应用程序日志图例如下所示:
上面的消息有 12 个值,它们由制表符 (\t) 分隔。在这 12 个值中,其中一些具有逗号分隔的字符串。这些逗号分隔值可能因每个日志行而异,有时它们可能是 4,有时它们可能是 2,但如果固定的话,逗号分隔值在表中的位置是第 6、9、10 列。
示例日志行:
我可以使用以下解析器将该消息解析到 SQLite 表(TABLE1)中
现在我需要再次将 LOG.PROFILES解析 为另一个表(PROFILE_TABLE)
就像我必须对不同表(CATEGORY_TABLE,REQ_TABLE)中剩余的逗号分隔值执行此操作一样。
例子 :
这里的问题是我们不知道有多少逗号分隔值。
主要输入消息由 12 个制表符分隔值组成,我们已经知道这就是我们在 p_tab_space 解析器中创建 12 列 (MACROS) 的原因。但是当我们解析逗号分隔的列表时,我们不知道会有多少值?因此无法创建宏。
我已经浏览了这个链接,但没有帮助。
如果你们中的任何人都可以提出一些想法,那将非常有帮助。
先感谢您!
xml - 用于 Sophos 防火墙的 Syslog-NG patternDB
我目前正在尝试为我们的 Sophos 防火墙的防火墙日志创建一个模式。
我想出了这个:
我正在使用的示例消息是:
我尝试将它与 pdbtool 匹配。这是输出:
python - Python 日志记录:禁用输出到标准输出
我正在尝试使程序仅使用 SysLogHandler 实例进行日志记录,而不使用其他处理程序。我希望它不会记录到任何文件或标准输出。
但是通过这种设置,它在运行时会继续向标准输出吐出行python srcipt.py
mysql - MySQL 间隔 1 秒不工作
我正在向 Percona 发送 syslog-ng。我将不同的日志记录源过滤到不同的 MySQL 表中。我正在尝试确定每秒、每分钟和每小时的日志数。
这是创建表的方式:
大多数表格都得到了我期望的结果:
上一个小时:
最后一分钟:
最后一秒:
我得到这样的结果:
小时:804
分钟:16
秒:1
我的一张表有 VMware 日志,我从计数中得到奇怪的结果......
小时:30,180
分钟:24,278
秒:24,160
这显然是错误的。如果我查看表中的最后 50 条日志,最后一秒只有 10 条,最后一分钟有 39 条。为什么上面的 SQL 没有按预期工作?
logging - 使用 syslog-ng 从硬件设备和应用软件收集日志
我需要从防火墙、打印机、路由器、交换机、代理服务器、邮件服务器、数据库服务器、防病毒软件和其他 Linux 和 Windows 平台的软件等设备收集日志。我可以使用syslog-ng等任何单一的开源工具来做到这一点吗?是否有任何其他类似或不同的开源日志记录工具可以单独为我的目的服务?
syslog-ng - 标记到服务器时的 syslog-ng 问题
我在本地机器和服务器端都使用“yum install syslog-ng”安装了 syslog-ng。我正在使用 syslog-ng 的开源版本。
我需要将日志文件名从客户端传递到服务器端。我在客户端的 18372.4.name 字段中明确设置了 .SDATA.file,因为文件的名称在 $FILE_NAME 宏中可用。但是“.SDATA.file at 18372.4.name”在服务器端是空的。当我使用一些静态文件名时,日志就可以工作了。
以下是我的代码,我不知道我哪里出错了如果您需要更多信息,我可以提供给您,任何人都可以帮助我。
audit - 如何使用 syslog-ng 将 audit.log 发送到远程服务器
再会,
我有带有 syslog-ng (syslog-ng-1.6.8-20.23.1) 的 SLES 10,我无法获得正确的配置,因此文件 /var/log/audit/audit.log 被发送到远程 syslog 服务器。
我使用了 tcpdump,我可以在发送到远程服务器的数据包中看到一些详细信息,但是我在 tcp 数据包中没有看到任何具有审计格式的内容。
我究竟做错了什么?
php - 如何使用 syslog-ng 指定 php 日志文件
在我的 PHP 脚本中,我有一行打印输出到 syslog,就像下面的那样:
默认情况下,它将输出打印到 /var/log/messages。无论如何要将输出文件更改为不同的东西?我正在使用 syslog-ng 和 CentOS 6 服务器。