我的服务器上有一个Ruby应用程序,我们称之为“alpha”。 应用程序发出系统日志消息,程序名称为“alpha”。 我想根据它是什么types的消息将我的日志消息分成单独的文件,例如“auth”消息(login)或系统资源警告。 我没有任何方式指定“消息types”syslog除了我的程序名称,所以我只是在我的消息开始时添加“AUTH:”,“SYSTEM:”等。 使用谷歌和手册页,我已经提出了这些条件: :programname,isequal,"alpha" /var/log/alpha.log 这将所有来自“alpha”应用程序的消息logging到正确的日志文件中。 :msg,startswith," AUTH:" /var/log/alpha-auth.log 这将以“AUTH:”开头的所有消息logging到正确的日志文件中。 显然,最后一个条件不仅适用于“alpha”,而且适用于所有的消息。 我想将这些条件结合到一个表示“从AUTH开始的所有来自alpha的消息:…”。 是否有可能将滤波器与“和”结合起来? “BSD风格块”似乎是完美的,因为我可以为我的应用程序定义一个块,所有条件只适用于来自该应用程序的消息。 不幸的是, 根据文档,该function不再支持 (不build议使用?),我不想依赖于不推荐使用的function。 rsyslog v7 +引入了这种块的替代scheme吗? 使用基于expression式的filter,我已经设法得到我想要的结果,但我觉得我正在用一个火箭筒杀死一只苍蝇: if $programname == "alpha" and $msg startswith " AUTH:" then \ /var/log/alpha-auth.log 什么是“正确”(即最简单,最不容易出错)的方式来做到这一点? 我正在使用Debian Jessie,目前的意思是rsyslog 8.4.2
有什么方法可以读取通过某个端口转发的logstash原始input数据吗? input设置如下 input { tcp { port => 1234 type => "test" } } 并从输出configuration… output { stdout { codec => rubydebug } } 我们只能看到logstash输出,而不能看到原始的input数据。 任何想法如何读取input日志?
我们有一个QNAP QTS TS-451U版本4.3.3.0.229,我们有一个运行版本2.4.40(在Debian 8服务器上)的openLDAP服务器。 我可以login到我的LDAP用户的Web界面,我可以使用WebDAV(从Windows,Linux和Mac)连接到NAS,这似乎很好,(也使用LDAP用户),但也许有点慢…问题是openLDAP服务器上的系统日志每秒获得1500个日志条目! 所以,恐怕如果我扩大这个系统,LDAP服务器就会死在我身上。 日志看起来像这样: Jun 29 15:24:24 MyServer slapd[7328]: conn=1746191 op=1080615 SRCH base="ou=Groups,dc=mycompany,dc=net" scope=1 deref=0 filter="(&(objectClass=posixGroup)(memberUid=admin))" Jun 29 15:24:24 MyServer slapd[7328]: conn=1746191 op=1080615 SRCH attr=gidNumber Jun 29 15:24:24 MyServer slapd[7328]: conn=1746191 op=1080615 SEARCH RESULT tag=101 err=0 nentries=0 text= Jun 29 15:24:24 MyServer slapd[7328]: conn=1746191 op=1080616 SRCH base="ou=Groups,dc=mycompany,dc=net" scope=1 deref=0 filter="(&(objectClass=posixGroup)(memberUid=admin))" Jun 29 […]
我想我记得微软把一个系统日志服务器function作为其服务器产品之一的一部分,无论是代理服务器或系统pipe理服务器或其他东西。 那去了哪里?
我拥有:安装了busybox的 VMware ESXi 4.0。 在busybox小程序中,我对syslogd感兴趣。 默认情况下,它以busybox syslogd运行。 我可以通过ps ax看到它: ps ax | grep syslog 4316 4316 busybox syslogd 我需要的是:用选项运行syslogd。 像那样: busybox syslogd -R 10.30.35.67 我的问题: 如何configurationbusybox,使R选项在系统启动时起作用? 有没有configuration文件或类似的东西? 如何在系统启动后正确更改busybox syslogd选项? 如何正确停止busybox syslogd? 如何用新选项启动它? 我试图杀死busybox的syslogd进程(在我的情况下是4316),但重新启动busybox syslogd -R 10.30.35.67后,我根本看不到任何与syslogd相关的进程。
我们的问题的要点是,我们失去了SSH访问我们的VPS和我们的日志文件混杂起来。 通过我们的托pipe服务提供商的Web控制台进行硬重启似乎可以解决问题,但问题仍然存在。 更多细节 这似乎是随机发生的,大约每两个星期一次。 我们通常首先注意到的症状是我们无法通过sshlogin; 奇怪的是,服务器仍然提示我们input密码,但从来没有让我们login.Apache继续卡车运行,但其他系统服务也停止。 在发生“错误事件”时,我们在所有的日志文件(/ var / log中的所有内容以及Apache的虚拟主机日志和其他文件)中都会看到大量的随机垃圾。 垃圾包含大量的空字节,一些unicode二进制查找的东西,随机的ASCII大块,其他日志文件的一部分,和CSS / JavaScript(见下面的例子)。 这似乎是写缓冲区caching到当前打开的文件,但我不知道为什么,甚至会发生这种情况。 Fedora使用syslogd进行日志logging,但是我无法find任何明显的问题。 我们的服务器是运行Fedora 12的VPS。它的主要职责是运行Apache,Postfix和ssh。 Apache服务的站点使用PHP / MySQL(最后一次发生这种情况时,我安装了Suhosin补丁,以防止这是一个奇怪的缓冲区溢出攻击或其他)。 我们为我们的ssh / htpasswd用户提供了安全的密码,并且日志(我们可以读取的部分)并不表示我们的服务器已经从“内部”泄露了。 示例Borked日志文件 这是我们的cron日志的一个片段。 这一个有一堆空字节和其他二进制数据,但如上所述,其他一些文件包含ASCII和/或其他文件块: Sep 23 03:05:01 HostName CROND[3208]: (munin) CMD (test -x /usr/bin/munin-cron && /usr/bin/munin-cron) Sep 23 03:05:01 HostName CROND[3209]: (user1) CMD (/path/to/development.domain.com/public/protected/yiic serverState) Sep 23 03:10:01 HostName CROND[3792]: (root) CMD (/usr/lib64/sa/sa1 […]
最近,sendmail停止接受要在Solaris 10 x86机器上传递的消息。 我试图诊断问题,但系统日志似乎并没有工作。 我的/etc/syslog.conf: #ident "@(#)syslog.conf 1.5 98/12/14 SMI" /* SunOS 5.0 */ # # Copyright (c) 1991-1998 by Sun Microsystems, Inc. # All rights reserved. # # syslog configuration file. # # This file is processed by m4 so be careful to quote (`') names # that match m4 reserved words. Also, within […]
我们需要将来自思科防火墙( SA520-K9 )的日志redirect到syslogd服务器(它是CentOS服务器)。 设置在防火墙上完成。 但是来自防火墙的消息是/ var / log / messages和console,而不是/var/log/firewall.log,这是我们的要求。 *.info;mail.none;authpriv.none;cron.none /var/log/messages authpriv.* /var/log/secure mail.* -/var/log/maillog cron.* /var/log/cron *.emerg * uucp,news.crit /var/log/spooler local7.* /var/log/firewall.log 这是我们的系统日志configuration文件。 任何build议? 日志严重性>警告并设置为发送到设备中的系统日志
在Ubuntu中,我可以做这样的事情: sudo echo something | logger -t logstuff 然后,我会在syslog( /var/log/messages )中得到格式良好的消息。 在Debian Squeeze上,情况并非如此,上面的命令不会logging在那里。 如果我可以以普通用户的身份login,那也不错。 任何想法都欢迎。
当我告诉我的思科路由器(IOS) (config)# logging syslog.mydomain.com 然后查看configuration,configuration包含syslog.mydomain.com的IP,即1.2.3.4。 现在DNS的全部目的是在服务名称和实际主机之间有一个抽象层。 在这种情况下,如果我将系统日志服务器移到另一个IP地址,我必须再次联系思科。 (无论如何,看起来像) 它不是简单地存储系统日志HOST名称,并定期从DNS获取主机名更新是正常的吗? 你怎么看?