问题标签 [rsyslog]
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.
java - log4j syslogappender 堆栈跟踪输出不在同一行
我正在尝试使用 log4j 和 rsyslog 进行集中式日志记录。
到目前为止我所拥有的
Solr 在 RHEL6 上的 tomcat6 内运行,使用以下 log4j 和 sl4j 库
Solr 正在使用以下 log4j.properties 文件(通过 -Dlog4j.configuration=file:///opt/solr/lib/log4j.properties)
在同一台服务器上,我运行 rsyslog 并接受来自 log4j 的日志消息。
rsyslog 配置
我正在从 Solr 的 logj4 捕获 local1 消息并将它们重定向到 /var/log/remote.log 一切都按预期工作。示例 INFO 消息
并且堆栈跟踪与错误消息在同一行
注意#012 作为行尾和#011 制表符。
使用此设置,我可以通过 TCP 将日志发送到远程 rsyslog 服务器,并将它们通过管道传输到 fluentd/elaticsearch/kibana 等……一切都按预期工作。
我现在试图让另一个 webapp 在同一个 tomcat 容器中运行以如上所述记录的问题,除了堆栈跟踪之外,一切都按预期工作,堆栈跟踪的每一行最终都在单独的行上(单独的系统日志消息)
webapp 附带它自己的 log4j 库和 log4j.xml 配置。库与 solr 使用的版本相同。
此应用程序的 log4j.xml 文件
我希望看到来自新应用程序的堆栈跟踪出现在同一行,就像使用 Solr 一样。
有谁知道这是否是 log4j 配置问题?
非常感谢。
mongodb - 动态设置 mongodb 集合名称的 rsyslog 语法是什么?
我已经将 rsyslog v7.4.5 写入 MongoDB,现在想根据当前时间动态设置集合名称。我试过阅读他们的在线文档,但不清楚在这种情况下使用哪种语法。我基本上在这里使用他们在示例中提供的配置: http ://www.rsyslog.com/tag/ommongodb/
我的配置是:
请注意您指定 MongoDB 数据库和集合名称的操作:
我想使用 rsyslog 属性来动态设置集合名称,如下所示:
但是,这显然不是正确的语法,因为属性名称被解释为文字字符串。
我也试过这个,这会导致 MongoDB 日志不再工作:
有谁知道完成此操作的适当语法?
parsing - 如何在 syslog4j syslog 服务器中解析 syslog 消息
我想解析传入 syslog4J 中实现的 syslog 服务器的 syslog 消息。可以在 syslog4J 中做到这一点吗?
我想要做的是能够分离出系统日志消息中的各个字段,如主机名、时间戳、消息、严重性级别等,并制作统一的系统日志模式以供将来分析。
这个功能之王在 rsyslog 或 syslogNG 中可用。
redhat - 如何使用 audispd 将从远程系统转发的消息发送到本地系统日志
使用 RHEL6,我目前有 audispd 设置以将日志发送到远程服务器。远程服务器成功接收到消息,并将它们写入远程审计日志。我的问题是,我似乎无法让 audispd 处理转发的消息(本地消息)并写入 rsyslog。
这行不通。box1 auditd ===> box1 audispd ===> box2 auditd XXX> box2 audispd XXX> box2 rsyslog
这样做。box2 auditd ===> box2 audispd ===> box2 rsyslog
我通常知道如何配置 audispd 以将本地日志发送到 rsyslog,但转发的日志不会发送到 rsyslog。上面的 X 显示了流量没有到达目的地的位置。
我不打算使用 imfile 或其他解决方法,除非无法通过 box2 上的 audispd 发送转发的消息。我知道我可以发送到 box1 上的 rsyslog,但我不打算这样做。
config - rsyslog $programname 动态拆分
我想设置一个 rsyslog 来登录数据库。程序名称将具有特定的结构:
某事。{主机名}.{dbname}.{table}
有没有机会将其拆分为我以后可以使用的变量?我的意思是我在指定 INSERT 时需要知道表名。
所以我的问题是我该怎么做?这就是我到目前为止所拥有的:):
另一个问题是,如果完成了上述操作,那么如何将 $msg 拆分为动态 SQL?我的意思是,如果我不想在 SQL 脚本中指定列名,只需指定值。不同日志中的值的数量可能不同。
谢谢您的帮助!
php - 如何增加 php syslog 最大限制为 2048
有没有一种简单的方法可以使用 syslog 记录大于 2048 字符的消息?例如 curl 请求的原始响应。
linux - Linux Rsyslogd 配置
我需要在配置中修改一些东西,rsyslogd
因此这让我进入了这个文件:/etc/rsyslogd.conf
. 我想制定规则,更准确地说是一个过滤条件。我想选择至少通知优先级的所有设施邮件消息,但不会出错并将它们保存在不同的文件中。
因此,它会是这样的:
我的问题是:有没有比输入每一个更简单的方法来过滤掉它们?我找到的关于这个主题的唯一文档是here。如果你能做我所要求的,我并没有真正从那个文档中得到,所以我认为这对堆栈来说是一个很好的问题:D。
另外:我想过滤所有优先暴击的消息,但不过滤设施邮件和新闻。和上面一样的问题。
logging - rsyslog not releasing the file handle
I configured rsyslog under RHEL 6.4 to send log4j files to a central rsyslog server. This works until the application log files are rotated. rsyslog still tries to read the files but doesn't find any data:
it looks like rsyslog is trying to access the files with the old file handle. How can I tell rsyslog to always access the files through the actual file name? Thank you Peter
logging - 如何将系统日志添加到 Jenkins 控制台
问题:
我试图让系统日志出现在 Jenkins 构建日志(控制台)中。我确信必须有一种方法可以通知 Jenkins 上的工作以从更多来源检索日志消息,而不仅仅是执行 shell。
背景:
我的作业配置了一些远程客户端,然后使用某些命令对它们进行操作,这些客户端将它们的 syslog 消息发送到 Jenkins 机器。当我在 Jenkins 机器上查看 syslog 时,我可以手动查看这些日志,但它们不会出现在 Jenkins Job 的控制台输出中。
我在寻找什么:
理想情况下,我需要一个足够强大的解决方案来支持具有多个客户端的多个作业,以便每个客户端日志将仅发送到相关作业的构建日志(控制台)。
但我会接受任何可以指示如何为 Jenkins Job 构建日志(控制台)包含更多源的解决方案。
android - Android:如何集成 Log4j2?
我正在尝试将Log4j2集成到 Android 中,但收到以下错误消息:
java.lang.ClassCastException: org.apache.logging.log4j.simple.SimpleLoggerContext cannot be cast to org.apache.logging.log4j.core.LoggerContext