syslog 相关问题

Syslog是记录程序消息的标准。

在Python 2.6中使用logging.SysLogHandler时如何设置ident字符串?

我使用logging.fileConfig()配置了日志记录。我有一个根记录器转到使用 SysLogHandler('/dev/log', handlers.SysLogHandler.LOG_USER) 的处理程序 这一切都运行得很好,...

回答 4 投票 0

如何将zabbix审计日志拿到graylog

我有一个正在运行的 zabbix 服务器,审计日志在 UI 中可见。我想将审计日志转移到graylog以建立集中式日志系统。 到目前为止,我还没有找到如何实现这一点,ei...

回答 1 投票 0

如何仅针对特定源将 syslog-ng 中的 log_message_size() 增加到 8K 以上并覆盖默认值

根据文档,Syslog-ng 默认情况下允许每条消息的长度为 8192 字节。当大小超过 8K 时,Syslog 将消息分成两部分。 当我全局应用 log_msg_size() 参数时,

回答 2 投票 0

如何在plsql中向syslog代理发送消息

我想在plsql中向syslog发送消息。 我认为可以通过 utl_tcp 和 ACL,但不知道如何做到这一点。 谁知道这个动作该怎么做? 预先感谢

回答 1 投票 0

如何在 Linux 中使用 grep 提取多个双引号之间的特定部分?

我想提取部分 msg =“services.facebook.com:内容服务器,Rule_name:WAN6_Ongoing,SSI:N(内容)” 从 src="192.168.1.1:443" dst="192.168.1.1:80" 米...

回答 2 投票 0

自动将日志从keycloak数据库传输到syslog

我知道 Keycloak 将其所有“登录事件”保存在服务器的“事件”选项卡中,而且还保存在数据库中(我在

回答 2 投票 0

log4j2 - Syslog 附加程序和 PatternLayout

我需要将事件记录到系统日志中。 我使用 lo4j2 和 syslog 附加程序。 log4j2.xml 中的附加程序块如下所示: 我需要将事件记录到系统日志中。 我使用 lo4j2 和 syslog 附加程序。 我的 log4j2.xml 中的附加程序块看起来像这样: <appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Console> <Syslog name="syslog" host="localhost" port="514" protocol="UDP" charset="ISO-8859-1"> </Syslog> <RollingFile name="AppLog" fileName="/var/log/app.log" filePattern="/var/log/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> <Policies> <TimeBasedTriggeringPolicy/> </Policies> </RollingFile> </appenders> 如您所见,我有一个具有特定 PatternLayout 的 Console Appender 和 RollingFile Appender。 我想对 Syslog 附加程序使用相同的 PatternLayout。 但是,系统日志中的日志消息似乎始终使用预定义的布局。 我尝试执行以下操作: <Syslog name="syslog" host="localhost" port="514" protocol="UDP" charset="ISO-8859-1"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Syslog> 但这没有任何效果。系统日志消息仍然具有相同的预定义格式。 如何确定进入系统日志的日志消息的格式? 正如本 log4j2 bug 报告中提到的,log4j2 的开发人员将 SyslogAppender 编码为 SocketAppender 硬连线到 SyslogLayout 因为它旨在符合原始系统日志格式或 RFC 5424。不应允许任何其他布局。 不幸的是,他们没有意识到 RFC 5424 规范并未对日志中包含的消息强制执行任何特定格式,在 Log4j2 实现中仅是日志的 %m 部分。 为了解决这个问题,一个解决方案(在同一个错误报告中建议)是在 SocketAppender 内使用 PatternLayout 重现 syslog 格式,就像这样 <Socket name="SYSLOG" host="localhost" port="514" protocol="UDP"> <PatternLayout pattern="&lt;1&gt;%d{MMM dd HH:mm:ss} ${hostName} appName: { &quot;host&quot;:&quot;${hostName}&quot;, &quot;thread&quot;:&quot;%t&quot;, &quot;level&quot;:&quot;%p&quot;, &quot;logger&quot;:&quot;%c{1}&quot;, &quot;line&quot;:%L, &quot;message&quot;:&quot;%enc{%m}&quot;, &quot;exception&quot;:&quot;%exception&quot; }%n" /> </Socket> 这将通过 UDP 将格式良好的 RFC5424 日志写入本地 514 端口。以下是示例日志输出: Sep 14 10:40:50 app-hostname app-name: { "host":"host-name-01", "thread":"http-nio-8080-exec-4", "level":"DEBUG", "logger":"ExecuteTimeInterceptor", "line":52, "message":"GET &#x2F;health 200 served in 3", "exception":"" } 我不相信您可以在基本 Syslog 附加程序上使用模式。 从文档中可以看出 “SyslogAppender 是一个 SocketAppender,它将其输出写入由主机和端口指定的远程目标,格式符合 BSD Syslog 格式或 RFC 5424” http://logging.apache.org/log4j/2.x/manual/appenders.html#SyslogAppender 但是,它确实允许您指定“format = RFC 5424” 如果您使用 RFC 5424 然后你可以在loggerFields参数中放置一个PatterLayout。 请参阅http://logging.apache.org/log4j/2.x/manual/layouts.html#RFC5424Layout 希望有帮助! 您可以使用 LoggerFields 标签向 RFC5424 格式的 SyslogAppender 消息添加其他元素,如下所示: <LoggerFields> <KeyValuePair key="thread" value="%t"/> <KeyValuePair key="priority" value="%p"/> <KeyValuePair key="category" value="%c"/> <KeyValuePair key="exception" value="%ex"/> </LoggerFields> 然后我使用 rsyslog 的 RFC5424 解析模块 mmpstrucdata 将它们拉出,以创建 json 树。用于访问它们的 rsyslog.conf 模板如下所示: template(name="jsondump" type="string" string="'%$!rfc5424-sd!mdc@18060!thread%', '%$!rfc5424-sd!mdc@18060!priority%', '%$!rfc5424-sd!mdc@18060!category%', '%$!rfc5424-sd!mdc@18060!exception%'") 我只是想做同样的事情,并认为我会分享对我有用的东西。 - 萨姆 您可以使用 SocketAppender 和 PatternLayout 来格式化 syslog (syslog-ng) 消息。 为了使用固定设施支持动态严重性(例如:“用户级消息” - 请参阅RFC5424),模式应如下所示: <Socket name="SYSLOG" host="${env:INTERFACE}" port="514" protocol="UDP"> <PatternLayout pattern="&lt;%level{TRACE=15, DEBUG=15, INFO=14, WARN=12, ERROR=11, Fatal=11}&gt;%replace{${env:APPLICATION_NAME}}{\r}{}[%X{PID}] %t(%T) %c{10} - %m%n"/> </Socket> 要计算设施“用户级消息”和严重性“信息消息”的优先级值 (PRIVAL) - 请参阅 RFC5424 - 以下示例可能有所帮助: Syslog: Facility | Severity Numerical Code: 1 6 Bin: 0 0 0 0 1 | 1 1 0 Dec: 8 + 6 = 14 log4j2syslog-ngsocketappenderpatternlayout 我使用butcher82发布的配置,但必须对其进行一些更改才能产生我需要的结果。 我最终得到的是一条具有正确优先级、时间戳(几天前没有前导零)、主机和消息部分的消息。 syslog 和 log4J 级别之间的映射按照 org.apache.log4j.Level 中的定义使用,并且设施设置为 1(用户级消息),以简化优先级计算。 此模式应与 RFC-3164 兼容: <Socket name="SysLogAppender" host="localhost" port="514" protocol="UDP"> <PatternLayout pattern="&lt;%level{TRACE=7, DEBUG=7, INFO=6, WARN=4, ERROR=3, Fatal=0}&gt;%d{MMM d hh:mm:ss} ${hostName} %m%n"/> </Socket> 以下是生成的输出: <3>Dec 15 09:59:16 foo.bar.hostname this is a test message 注意: 可以在主机名后添加应用程序名称或 pid。

回答 5 投票 0

防止将systemd服务日志转发到syslog而不影响发送到syslog的其他服务日志

我的计算机将多个java进程作为systemd服务运行。systemd日志在syslog中累积,最终导致磁盘空间不足。如何重定向由systemd服务启动的日志...

回答 7 投票 0

Fluentbit 系统日志输出

我正在尝试输出alermanager警报的特定字段,发送到flutterbit而不是系统日志服务器。 现在我很难捕获我需要的必填字段,因为它是嵌套的

回答 1 投票 0

如何在将日志发送到远程系统日志服务器时添加超时?

我有Python代码将日志发送到远程系统日志服务器,工作正常,但如果远程系统日志服务器出现故障,下面的代码将继续无限期地等待。 代码: def writeSyslog (mtype, msg):...

回答 1 投票 0

rsyslog - 基于属性的过滤不起作用

我几乎讨厌为此提交一个主题,但我自己无法弄清楚。我正在运行 Federoa 17 服务器,并且我正在尝试将丢弃的数据包从 iptables 记录到单独的...

回答 4 投票 0

通过 php error_log 使用 syslog 工具

是否可以在 php error_log 指令中或在系统/服务器端以其他方式使用系统日志设施? 就像是... error_log = 系统日志:local4 错误日志 = 系统日志(LOG_LOCAL4) 使用 php fpm 我可以...

回答 2 投票 0

syslog-ng 匹配规则匹配但不应该

我的 syslog-ng 匹配规则有问题。 我有 3 个带有匹配规则的过滤器来指定标签 我的会议: 来源 s_all { 系统日志( ip(0.0.0.0) 传输(“udp”) ); };

回答 2 投票 0

Debian 12 中的一些操作系统日志在哪里

似乎某些系统日志文件(/var/log/syslog,/var/log/auth.log,/var/log/kern.log,...)在最新版本中已被删除Debian,Debian 书虫。应该怎样做才能...

回答 1 投票 0

Kibana 仪表板未渲染

我正在AWS实例上运行一个由3个主节点和3个数据节点组成的dockerized弹性集群,使用rsyslog和logstash,我在elasticsearch索引上收集和存储系统日志事件。 到现在为止每...

回答 1 投票 0

SNMP TRAPS 发送到其他文件,而不是 /var/log/messages

我有配置 snmptrapd.conf 如下所示: 禁用授权 是 auth社区日志、执行、net public 我想重定向其他文件的所有消息,例如。 /var/log/snmp.log,不适用于/va...

回答 2 投票 0

Azure Log Analytics:如何将自定义 python pandas 数据帧发送到 LAW

我有一个Python脚本,我想每天运行它来生成Pandas数据帧。 我希望每天将此数据框添加到我的日志分析工作区中。 我有一个 Windows 服务器,我可以用它来运行...

回答 1 投票 0

syslog.h增加LOG_LOCAL数量

我需要多个日志(最多 12 个),理想情况下它们需要位于自己的文件中。 syslog.h 中的以下内容还不够。 #定义LOG_LOCAL0 (16<<3) /* reserved for lo...

回答 1 投票 0

通过 syslog 协议从 python 脚本将日志发送到 Fluentd

我已经用docker启动了Fluentd服务器。我的Fluentd配置是 @类型系统日志 端口514 绑定0.0.0.0 标签系统 @类型标准输出 我已经使用docker启动了Fluentd服务器。我的Fluentd配置是 <source> @type syslog port 514 bind 0.0.0.0 tag system </source> <match **> @type stdout </match> 我用来启动fluentd服务器的命令是 docker run -p 514:514 -v $(pwd)/tmp:/fluentd/etc fluent/fluentd:edge-debian -c /fluentd/etc/fluentd.conf 它成功启动了服务器,我得到了日志 2023-09-20 16:05:18 +0000 [info]: init supervisor logger path=nil rotate_age=nil rotate_size=nil 2023-09-20 16:05:18 +0000 [info]: parsing config file is succeeded path="/fluentd/etc/fluentd.conf" 2023-09-20 16:05:18 +0000 [info]: gem 'fluentd' version '1.16.2' 2023-09-20 16:05:18 +0000 [warn]: define <match fluent.**> to capture fluentd logs in top level is deprecated. Use <label @FLUENT_LOG> instead 2023-09-20 16:05:18 +0000 [info]: using configuration file: <ROOT> <source> @type syslog port 514 bind "0.0.0.0" tag "system" </source> <match **> @type stdout </match> </ROOT> 2023-09-20 16:05:18 +0000 [info]: starting fluentd-1.16.2 pid=7 ruby="3.1.4" 2023-09-20 16:05:18 +0000 [info]: spawn command to main: cmdline=["/usr/local/bin/ruby", "-Eascii-8bit:ascii-8bit", "/usr/local/bundle/bin/fluentd", "-c", "/fluentd/etc/fluentd.conf", "--plugin", "/fluentd/plugins", "--under-supervisor"] 2023-09-20 16:05:19 +0000 [info]: #0 init worker0 logger path=nil rotate_age=nil rotate_size=nil 2023-09-20 16:05:19 +0000 [info]: adding match pattern="**" type="stdout" 2023-09-20 16:05:19 +0000 [info]: adding source type="syslog" 2023-09-20 16:05:19 +0000 [warn]: #0 define <match fluent.**> to capture fluentd logs in top level is deprecated. Use <label @FLUENT_LOG> instead 2023-09-20 16:05:19 +0000 [info]: #0 starting fluentd worker pid=16 ppid=7 worker=0 2023-09-20 16:05:19 +0000 [info]: #0 listening syslog socket on 0.0.0.0:514 with udp 2023-09-20 16:05:19 +0000 [info]: #0 fluentd worker is now running worker=0 2023-09-20 16:05:19.058192424 +0000 fluent.info: {"pid":16,"ppid":7,"worker":0,"message":"starting fluentd worker pid=16 ppid=7 worker=0"} 2023-09-20 16:05:19.058414751 +0000 fluent.info: {"message":"listening syslog socket on 0.0.0.0:514 with udp"} 2023-09-20 16:05:19.059112948 +0000 fluent.info: {"worker":0,"message":"fluentd worker is now running worker=0"} 我编写了简单的Python脚本来测试连接,如下 import logging import logging.handlers import socket if __name__ == "__main__": syslogger = logging.getLogger('SyslogLogger') handler = logging.handlers.SysLogHandler(address=("0.0.0.0", 514), facility=19, socktype=socket.SOCK_DGRAM) syslogger.addHandler(handler) syslogger.info("Hello World") 脚本运行没有任何错误,但我在 fluidd 上没有收到任何日志。 服务器和脚本都位于本地计算机上。 我发现解决方案问题在于 docker 在公开端口时添加 /udp 后缀解决了我的问题。 Docker UDP 端口支持吗?

回答 1 投票 0

如何设置Caddyfile日志格式?

我使用 caddy 2 作为我的代理。我尝试设置我的球童日志格式。 本地主机:80 { 反向代理示例:80 日志 { 输出网络logstash:5140 格式化 single_field common_log ...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.