我是rsyslog的新手,一直试图弄清楚为什么我没有收到我的Apache和mysql日志,这些日志在客户端configuration为通过rsyslog发送。 目前,我正在接收除Apache和MySQL以外的所有主机的所有其他types的日志。 我假设我的filter指令在服务器端的东西是错误的。 下面是我为mysql和apacheconfiguration的指令副本。 $template PerHostApacheError,"/syslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/error.log" $template PerHostApacheAccess,"/syslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/%msg:R,ERE,1,ZERO:imp:([a-zA-Z0-9\-]+)\.–end%-access.log" $template PerHostMySqld,"/syslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/mysql.log" 我的问题是在服务器端的上述指令看起来是否正确? 如果不是,他们应该怎么样。 这些文档并没有真正显示应该如何使用它的例子,而是更多的是每个人的function。 另外,是否有一个选项可以捕获所有没有定义指令的消息 – 例如,将所有未通过指令定义的消息logging到每个主机的catchall.log文件中。 就像是: $template PerHostCatchAll,"/syslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/catchall.log 我在这里先向您的帮助表示感谢。
我们有几个(通常是java)应用程序,他们login到集中rsyslog服务器(版本7.6)。 由于rsyslog正在将每一行堆栈跟踪作为单独的消息来处理,所以我们遇到了Javaexception的问题,所以我们的开发人员开始使用#012作为换行符,将#011作为标签。 所以现在,当我有exception的消息,它看起来像: 2015-02-09T12:52:43.769Z hostname warning app Exception when invoking method something.search: reason=Error while executing method something.search, Params=#012{"maxResults":10,"query":"somesearch"}#012com.company.server.json.ApiException: Error while executing method something.search#012#011at com.company.app.api.BaseExecutor.executeWithDatabase(BaseExecutor.java:112) ~[app-server.jar:?]#012#011at com.company.app.api.BaseExecutor.execute(BaseExecutor.java:87) ~[app-server.jar:?]#012#011at com….and so on 我喜欢的第一件事是自动replace这些#xxxstring的原始值,这样生成的日志文件是可读的。 第二件事,我们正在使用graylog2,在这里我们暂时存储日志,这样可以很容易地search。 Rsyslog被设置为将日志保存到某个位置,并将日志重新发送到graylog,我当然希望有空格和制表符而不是控制字符。 我正在做一些研究,试图取代这些控制字符,因为他们应该(我认为)与rsyslog兼容: http://www.rsyslog.com/doc/property_replacer.html http://www.rsyslog.com/doc/rsconf1_escapecontrolcharactersonreceive.html 但到目前为止没有运气。 预先感谢您的时间和帮助! PS第一个问题可以用于cron和sed,但它不会解决第二个问题。
我正在尝试使用结构化数据logging消息。 但是它显示结构化数据的空值。 我正在与rsyslog 8.9.0.Can有人告诉我要么加载一些模块或修改源获取结构数据SD-ID在logging的消息。 #Template: "<%PRI%>%TIMESTAMP:::daterfc3339%%HOSTNAME%%syslogtag%%APPNAME%%PROCID% %MSGID% %msg% %STRUCTURED-DATA%\n” 获取消息格式如下: <142> 2015-01-29T06:43:53.081641-05:00 localhost login[2116]: login 2116 – [2116 : 2116 INFO]SERIAL Login from IP:127.0.0.1 user:admin – configuration文件–rsyslog.conf: $ModLoad imuxsock # provides support for local system logging $ModLoad imklog # provides kernel logging support (previously done by rklogd) $ModLoad mmpstrucdata $ModLoad mmrfc5424addhmac GLOBAL DIRECTIVES $ActionFileDefaultTemplate RSYSLOG_DebugFormat […]
在本地日志输出中,我可以看到debugging消息,但这些消息不会显示在远程日志logging服务器上。 它似乎忽略这些,但它打印警告和错误级别的消息就好了。 这些是本地(Ubuntu 14.04.2 LTS)syslog-ng.conf条目: # This is the default behavior of sysklogd package # Logs may come from unix stream, but not from another machine. # source s_src { system(); internal(); }; destination d_net { udp("1.2.3.4"); }; log { source(s_src); destination(d_net); }; s_src也用于本地日志logging,所以它似乎包含debugging消息。 这是日志服务器的(Debian 6.0)configuration: destination df_remote { file( "/var/log/remotelogs/from_$HOST" create_dirs(yes) owner(root) group(root) perm(0644) […]
问候 !!! 这是关于我们试图实现的有关rsync的具体要求。 我们试图通过使用各种rsync选项来实现这一点。 但是,我们遇到不同的rsync选项的问题。 背景:•我们有一个进程(在AIX上运行)日志logging在A.log(在日志目录中)。 ?A.log一旦达到100 MB,就会被转到A.CURRENT_DATE_TIME.log,并创build新的A.log。 •我们正在使用rsync将这些日志传输到中央服务器。 我们在完整的日志目录上使用rsync。 •源服务器和目标服务器上的文件的INODE不同。 •一旦日志位于中央服务器中,就意味着通过集中式日志进程读取/索引这些日志,这将从该中央服务器中selectinput。 问题:•尽pipeA.log(目标服务器)作为集中日志进程的input,但它考虑文件的INODE而不是实际的文件名。 所以,当A.log文件被翻转时,新的A.log有一个新的INODE,这个集中过程没有检测到。 当我们在rsync中使用-u -r -t选项时,就发生了这种情况。 所以在这种情况下,文件的INODE随着每次发生rsync而发生变化,并且在发生翻转时也是如此。 因此,该进程停止索引,因为它查找不存在的旧INODE。 •想法是使用rsync和rsync,这些选项不会在rsync时改变文件的INODE,但在A.log旋转到A.CURRENT_DATE_TIME.log时应该在翻转时更改INODE。 所以,为了达到这个目的,我们包含了-inplace选项,并且我们能够在文件旋转时保留rsync和INODE变化的INODE。 但是,现在文件名不变,现在又给了我们一个不同的问题,并始终保持A.log。 所以一旦这个过程完成了A.log的索引,它就会暂停。 如果有人能提出一些可以帮助我们实现上述要求的东西,那将是非常好的。 问候,Puneet辛哈中间件pipe理员
我正在尝试集中日志收集的不同位置上安装多个Yealink SIP电话。 我在rsyslog的主要位置build立了一个CentOS服务器。 我将UDP 514的所有stream量转发到此服务器。 没有办法指定一个唯一的标识符与Yealink电话中的日志一起发送。 (我已经向制造商发送了function请求)。 我想这可能是我唯一的select。 也没有办法指定从手机发送的端口syslog。 目前,我的日志是通过IP地址分隔的,因此每个WAN IP的文件夹都会被创build,并且来自该远程IP的所有日志都将被转储到该文件夹中的单个文件中。 这意味着如果我在一个位置有5个电话,他们的所有日志都将放入一个文件中。 我怎样才能让他们分离到该文件夹中的每个设备的个人日志? 这是我目前的指令: $template FILENAME,"/var/log/%fromhost-ip%/syslog.log" 这是我的规则: *.* ?FILENAME
所以我有一个奇怪的问题,我正在用尽想法排除故障。 我的RedHat机器正在使用audisp-remote将系统日志消息发送到中央服务器。 audisp-remote将通过将一行状态信息转储到/var/log/messages来响应USR1信号,如下所示: $ sudo kill -USR1 `pidof audisp-remote` Oct 16 13:17:19 hostname audisp-remote:suspend = no,transport_ok = yes,queue_size = 0 除了一台以外,我的所有机器都能正常工作。 在这台机器上,我得到这个: $ sudo kill -USR1 `pidof audisp-remote` Oct 16 13:22:20 hostname audisp-remote:从server.fq.dn读取失败 Oct 16 13:22:20 hostname audisp-remote:连接到server.fq.dn时出错:无法分配请求的地址 但另一方面,如果我这样做: $ sudo su # kill -USR1 `pidof audisp-remote` 然后它正常工作 Oct 16 13:25:29 hostname audisp-remote:suspend = no,transport_ok […]
这已经在其他职位已经解决,但我仍然无法得到这个工作正常。 我正在尝试OMIT(放弃)写入我的“ /var/log/secure ”的某些条目。 也就是说,任何包含某些可信IP地址的行,在本例中为“ IP = 10.10.10.10 ”。 根据我的理解,使用像这样的REGEXexpression式应该可以做到这一点,但是我认为我在文件中存在一个放置问题: if $syslogfacility-text == 'authpriv' and $msg !contains '10.10.10.10' then /var/log/secure &~ 以下是我在/etc/rsyslog.conf文件中尝试过的内容: #rsyslog v3configuration文件 # if you experience problems, check # http://www.rsyslog.com/troubleshoot for assistance #### MODULES #### $ModLoad imuxsock.so # provides support for local system logging (eg via logger command) $ModLoad imklog.so # provides kernel […]
我有几个Linux系统,键盘和控制台通过KVM切换器共享。 当我在它们之间切换时,我得到了许多关于键盘连接和断开连接的不需要的系统日志消息。 这对我来说是一个特殊的问题,因为我喜欢使用tail -f /var/log/syslog来保持每个系统的控制台永久监视“活” syslog消息。 这里有一个,例如: Nov 7 01:03:37 PIHOSTNAME kernel: [1648435.194330] usb 1-1.3.2: new low-speed USB device number 55 using dwc_otg 我可以用/etc/rsyslog.conf的一堆规则删除所有的键盘消息。 对于上面的例子,我使用: :msg, contains, "new low-speed USB device " STOP 这工作正常,但我想保持一个信息,以确认当键盘连接– 并修改了一点为用户友好 。 例如: :msg, contains, "new low-speed USB device " :msg+" – Keyboard Successfully Connected!" (当然,上述规则不起作用) 我曾希望它会输出这样的东西: Nov 7 01:03:37 PIHOSTNAME […]
我们在ubuntu 14.04上运行Elasticsearch 1.7.2,系统有足够的内存和服务器上的其他服务工作得很好。 但有时弹性closures没有任何东西login到它的日志,或任何logging到系统日志。 我怎样才能调查这个问题? 这是logging下来的日志的一部分: [2015-11-24 02:10:54,121][DEBUG][index.shard ] [Keen Marlow] [haystack_backup][4] updating index_buffer_size from [64mb] to [4mb] [2015-11-24 02:10:54,121][DEBUG][index.shard ] [Keen Marlow] [product_index_backup][0] updating index_buffer_size from [64m b] to [4mb] [2015-11-24 02:10:54,121][DEBUG][index.shard ] [Keen Marlow] [product_index_backup][1] updating index_buffer_size from [64m b] to [4mb] [2015-11-24 02:10:54,121][DEBUG][index.shard ] [Keen Marlow] [product_index_backup][2] updating index_buffer_size from [64m b] […]