Articles of syslog

无法在syslog-ng中过滤错误格式的消息

我正在与您联系,关于我在syslog-NG上遇到的问题。 我们的一些设备(主要是HP交换机和SAN)正在发送不遵守系统日志RFC 5424的系统日志消息。 给你几个例子: 如果我嗅探服务器的networking接口,我们可以看到这样的“错误的”消息(正如你所看到的,在PRI之后,我们可以看到PROGRAM,然后时区和字段用逗号隔开,简而言之,混合字段,缺less字段等不是标准的系统日志消息): <190>raslogd: 2017/03/08-16:03:20, [SEC-1203], 53642, WWN 10:00:50:eb:1a:6c:21:38 | FID 128, INFO, cswc-mo8x-SAN01, Login information: Login successful via TELNET/SSH/RSH. IP Addr: 1.2.3.4 因此,我目前无法过滤这些消息。 我试图定义一个常规的filter,并尝试打印字段,如MSGHDR,MSG,PRI等,但看不到任何东西。 只有通过定义外部接口和文件作为输出,没有任何模板,过滤这个消息的唯一方法。 例如,如果我做这样的filter: destination d_INCOMING_ALL { file("/app/syslog-ng/logs/incoming_all.log"); }; log { source(s_EXTERNAL); destination(d_INCOMING_ALL); }; 我可以在日志文件中看到消息,但以某种方式格式化(我想syslog-NG将它们重新格式化): [root@xxxxxxxxxxxx logs]# grep -i cswc incoming_all.log Mar 9 09:44:20 cswc-mo8x-hpsan01 raslogd: 2017/03/09-08:34:50, [SEC-1203], 53647, WWN […]

如何使用rsyslog.conf将与linux相关的authentication信息发送到特定的进程

在我的系统中,我正在运行rsyslog守护进程。 我试图configurationsyslog.conf发送所有authentication邮件到一个特定的文件使用该行 auth.*;authpriv.* /var/log/AuthLogs 它的工作。 现在我想把这些消息发送给一个进程。 该进程将准备好捕获日志。 以前我使用的是syslogd守护进程。 在这我能够发送日志使用下面的行 auth.*;authpriv.* |exec /usr/bin/read.exe 但是rsyslogd不能正常工作。 有没有人有任何线索如何做到这一点? 更新 :特别是这个问题发生在python脚本ex代码中: #!/usr/local/bin/python import sys import fcntl, os message = sys.stdin.readline() # Read what's waiting, in one go if not message: print "nothing in message\n" fd = open('/tmp/testrsyslogomoutput1.txt', 'a') fd.write("Receiving log message : \n%s\n" % (message)) fd.close() 这个python代码,我想通过rsyslog调用。

freebsd syslog服务器限制

我可以在freebsd机器上configurationsyslog服务器的最大数量是多less?

在solaris服务器上的syslog-ng中configuration“audit”工具?

这是这个问题的后续。 mghocke非常友好,可以帮助我解决这个问题,但这实际上是一个单独的问题,因此需要一个新的职位。 我真的不知道很多有关系统日志,并试图从syslogd转移到syslog-ng。 在Solaris的syslogd中,有一个“审计”工具,您可以在下面看到configuration: local7.debug /var/log/ncolog audit.debug /var/log/ncolog local7.debug @nimitz audit.debug @nimitz 在我的新的syslog-ng.conf中,它是这样configuration的: filter f_local7 { facility (local7); }; filter f_audit { facility (audit); }; … log { source (s_sys); filter (f_local7); destination (d_ncolog); destination (d_nimitz); }; log { source (s_sys); filter (f_audit); destination (d_ncolog); destination (d_nimitz); }; 但syslog-ng不能识别“审计”function。 我环顾了一下,看来“审计”设施是设施13,但是“local13”不起作用。 在syslog-ng中调用的这个设备是什么?

MySQL服务器随机停止。 在高负载或低可用内存的情况下,系统可能会死机吗?

可能重复: 如何诊断凶手杀人过程的原因 我在amazon web services(EC2微型实例)上的一台非常小的机器上安装了Ubuntunetworking服务器(Apache + MySQL + PHP)。 网站运行良好,速度非常快。 所以,我们的小stream量似乎并没有放慢服务器。 无论如何, MySQL会经常下载 (至less每周一次),我不明白为什么。 Apache而不是运行良好。 我必须通过SSHlogin并重新启动,然后运行正常: $ sudo service mysql status mysql stop/waiting $ sudo service mysql start mysql start/running, process 25384 我已经安装了Cacti进行性能监控,并且每当MySQL发生故障时我都可以看到,我的负载平均值高达10(通常低于1)。 这是奇怪的,因为它似乎并没有发生在cronjobs左右。 我也试图检查MySQL日志:慢查询日志(这是启用,我敢肯定),/ /var/log/mysql.log log/ /var/log/mysql.log和/var/log/mysql.err都是空的。 我想可能是系统自动closures它, 因为可用内存不足 ; 那可能吗? 现在我正在尝试设置一个更大的EC2实例,但是我在/var/log/syslog发现了一些看起来很关键的东西(但我不明白)。 我粘贴的相关部分在这里 (MySQL在11:47下了)。

每个postfix实例不同的日志文件

我怎样才能为每个postfix实例设置一个自定义日志文件? 具体来说,我需要识别为不同的后缀实例生成的条目,如果每个实例在不同的文件夹中都有自己的日志文件,那么对于工具更好。 看来我可以在main.cf上指定syslog_name和syslog_facility 。 第一个只改变了前面给mail.log中的日志条目的文本,所以日志文件是相同的,第二个似乎允许我将日志redirect到一个不同的文件,但似乎只限于8个不同的条目系统日志(local0-7)和许多应用程序已经使用,我担心日志条目不相关的后缀最终会出现在那里。 这是唯一的方法还是我错过了什么?

系统崩溃/冻结之前的奇怪Postfix消息。 这是什么意思?

我只是把我的Web服务器locking在我的上面,它停止了服务页面,不接受任何SSH连接。 我可以通过Linode提供的控制面板重启这台服务器。 下面你会看到系统日志中的最后几个条目冻结之前,任何想法这意味着什么和/或如何防止在未来发生这种情况? 服务器运行Ubuntu 10.04(32位)。 Jul 13 08:50:15 megatron postfix/qmgr[2628]: 928E239B6E: from=<>, size=3111, nrcpt=1 (queue active) Jul 13 08:50:15 megatron postfix/bounce[29276]: 2EBCD39A99: sender non-delivery notification: 928E239B6E Jul 13 08:50:15 megatron postfix/qmgr[2628]: 2EBCD39A99: removed Jul 13 08:50:15 megatron postfix/local[29278]: 928E239B6E: to=<[email protected]>, relay=local, delay=0.01, delays=0/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox) Jul 13 08:50:15 megatron postfix/qmgr[2628]: 928E239B6E: removed […]

Rsyslog以GELF输出

rsyslog是强大的,但它的文档不是那么明确。 我无法弄清楚如何parsing日志文件,并以GELF格式直接将其路由到Graylog。 我已经find有关在rsyslog中输出gelf的文档,但我不知道如何继续。 到目前为止,它试图将下面的configuration文件放在/etc/rsyslog.d/01-access.conf但似乎没有工作… template(name="gelf" type="list") { constant(value="{\"version\":\"1.1\",") constant(value="\"host\":\"") property(name="hostname") constant(value="\",\"short_message\":\"") property(name="msg" format="json") constant(value="\",\"timestamp\":\"") property(name="timegenerated" dateformat="unixtimestamp") constant(value="\",\"level\":\"") property(name="syslogseverity") constant(value="\"}") } input(type="imfile" File="/var/log/apache2/access.log" Tag="apache-access" ) if $programname == 'apache-access' then { action( type="omfwd" Target="GRAYLOG-IP" Port="12201" Protocol="tcp" template="gelf" ) stop }

如何将日志文件输出redirect到networking套接字?

我正在使用商业Java应用程序,它使用log4j写入日志文件。 我想将这些日志文件条目放入系统日志,我们有特定的filter设置来触发系统事件。 Log4j没有直接将输出传递给系统日志的方法。 我运行的两个方法涉及黑客“catalina.sh”(无论是否需要;还没有查看)脚本,另一个是编译一个自定义的Java类与log4j接口。 看起来像一个更简单的解决scheme可能是将log4j输出文件符号链接到一个FIFO或pipe道,将发送内容到syslogd侦听networking端口(或可能是netcat)。 有关如何连线的想法?

最大打开文件 – 为什么没有错误?

我怀疑我们的一个服务器应用程序已达到其最大打开文件限制。 该应用程序正在用户空间中运行自己的帐户。 init脚本启动大量的进程,进而启动一些subprocess和大量的线程。 根据我在/etc/security/limits.conf中设置的书: USERNAME – nofile 2048 我怀疑应用程序已经达到了极限 – 通过查看临时文件目录,我在那里find了超过2000个文件。 提高到4096的限制,并重新启动应用程序后,我发现超过2100个文件。 现在的问题是:如果应用程序达到了限制2048 – 为什么没有logging在/ var / log / messages? syslog-ng是当前正在使用的syslog-daemon。 /etc/syslog-ng/syslog-ng.conf options { long_hostnames(off); sync(0); perm(0640); stats(3600); }; source src { internal(); unix-dgram("/dev/log"); unix-dgram("/var/lib/ntp/dev/log"); }; filter f_iptables { facility(kern) and match("IN=") and match("OUT="); }; filter f_console { level(warn) and facility(kern) and not filter(f_iptables) or […]