我已经开始看到/ var / log / messages的大小随着这些行无限增长: Aug 1 12:47:27 linux-jblp syslog-ng[1947]: POLLERR occurred while idle; fd='16' 1947年的过程是这样的: root 1947 1 1 12:45 ? 00:00:03 /sbin/syslog-ng -a /var/lib/dhcp/dev/log -a /var/lib/named/dev/log 和/proc/1947/fd没有文件16 。 我不知道为什么这开始发生,或者这在实践中意味着什么。 有任何想法吗? 这里是/etc/syslog-ng/syslog-ng.conf
我使用syslog-ngconfiguration文件destinationconfiguration来创build每小时的日志文件。 我正在使用的configuration如下: destination d_hourly {file("/var/log/tracker/pid$PID-track-$YEAR-$MONTH-$DAY-$HOUR.log");}; 我现在有要求每15分钟或30分钟创build一个文件。 我查看了configuration文件macros,并没有这样的macros(这是预期的行)。 有没有办法在syslog-ng config中写一个自定义函数,它会返回一个基于当前时间的值,并且可以在syslog-ng的目标方向上加上后缀。 还是有其他的方式来实现这一目标?
我正在尝试将TLS支持添加到在AWS EC2实例上运行的syslog-ng服务(正在将日志发送到日志logging)。 没有TLS的基本configuration工作,但是当我在config中replace目的地时: destination d_loggly { tcp("logs-01.loggly.com" port(6514) tls(peer-verify(required-untrusted) ca_dir('/opt/syslog-ng/keys/ca.d/')) template(LogglyFormat)); }; 重新启动syslog-ng服务时出现以下错误: [ec2-user@ip-10-0-1-123 syslog-ng]$ sudo /etc/init.d/syslog-ng restart Stopping syslog-ng: [ OK ] Error parsing afsocket, syntax error, unexpected LL_IDENTIFIER, expecting ')' in /etc/syslog-ng/syslog-ng.conf at line 74, column 5: tls(peer-verify(required-untrusted) ca_dir('/opt/syslog-ng/keys/ca.d/')) ^^^ syslog-ng documentation: http://www.balabit.com/support/documentation/?product=syslog-ng mailing list: https://lists.balabit.hu/mailman/listinfo/syslog-ng 我可以确authentication书位于/opt/syslog-ng/keys/ca.d/: [ec2-user@ip-10-0-1-123 /]$ ls -l /opt/syslog-ng/keys/ca.d/ total […]
我有这个尘土飞扬的syslog-ng 3.1.3写入数据库,一切都运行良好,但它似乎只保留30天的日志(最后一个表是logs20150826 )我怎样才能增加呢? 我在文档中看不到任何内容。 在logrotate目录中有一些引用,但似乎没有任何东西在控制mysql的目的地,没有什么在/etc/syslog-ng/syslog-ng.conf所以这30天的保留必须是某种默认的。
与我之前关于syslog-ng的patterndb 模式匹配空描述的问题类似,我现在试图匹配“–MARK–”消息。 消息看起来像这样: — MARK — 他们的$ {PROGRAM}显然被设置为空/空白。 我目前对于我的规则集具有以下XML,它与消息不匹配: <ruleset name='my-null' id='my-null'> <pattern></pattern> <rules> <rule class='system' id='null_dashed_mark' provider='me'> <description></description> <patterns> <pattern>– MARK –</pattern> </patterns> <values> </values> <examples> <example> <test_message program="">– MARK –</test_message> <test_values> </test_values> </example> </examples> </rule> </rules> </ruleset> 我也尝试过<pattern>和</ pattern>之间的换行符和空格的各种组合,但都无济于事。 那么如何构build我的规则集规范来匹配/捕获这些“MARK”消息呢?
关于远程日志服务器上的apache访问/错误日志,我有一个非常烦人的情况。 networking服务器:股票阿帕奇login: ErrorLog "|/usr/bin/logger -p local7.err -t www.sitename.com" CustomLog "|/usr/bin/logger -p local7.info -t www.sitename.com" "combined" rsyslogconfiguration如下: local7.info @log.remote.lan local7.err @log.remote.lan 到现在为止还挺好。 所有日志都在远程日志服务器上结束。 在该服务器上,我已经configuration了syslog-ng,如下所示: options { long_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no); owner("root"); group("adm"); perm(0644); dir_perm(0755); stats_freq(0); bad_hostname("^gconfd$"); create_dirs(yes); keep_hostname (yes); }; destination hosts_acc { file("/var/log/remote/${newmsghdr}/$R_YEAR/$R_MONTH/$R_DAY/access.log"); }; destination hosts_err { file("/var/log/remote/${newmsghdr}/$R_YEAR/$R_MONTH/$R_DAY/error.log"); }; filter f_access { message("GET|POST|OPTIONS|HEAD"); }; filter […]
如何正确格式化json消息并通过syslog-ng将它们发送到amqp? json格式应该看起来像这样。 {"log":"This is the error message…", "date":"xxx", "source":"xxx"} 我的问题是,消息并不总是一个有效的JSONstring。 例如 "log":"This is a "serious" error message." 我将如何去转义消息? 我的syslog-ngconfiguration看起来像这样。 destination d_amqp { amqp( vhost("/") host("127.0.0.1") port(5672) username("guest") # required option, no default password("guest") # required option, no default exchange("syslog") exchange_type("header") routing_key("my-routing-key") body("\{\"log\":\"${MSG}\"\}") persistent(yes) value-pairs( scope("selected-macros" "nv-pairs" "sdata") ) ); }; 这只是一个例子,因为我现在没有真正的configuration。
我在用着: root@u1210: /etc () # lsb_release -d Description: Ubuntu 12.10 root@u1210: /etc () # dpkg -l | grep rsyslog ii rsyslog 5.8.6-1ubuntu9 amd64 reliable system and kernel logging daemon 今天,我试图从nginx日志文件中读取日志,但得到这个错误: Mar 11 17:34:18 u1210 kernel: imklog 5.8.6, log source = /proc/kmsg started. Mar 11 17:34:18 u1210 rsyslogd: [origin software="rsyslogd" swVersion="5.8.6" x-pid="9742" x-info="http://www.rsyslog.com"] start Mar 11 […]
当我收到我的日志中的内核痕迹时,最后一行是空的。 我想用syslog-ng和patterndb过滤/忽略这些空的内核消息。 这是我迄今为止没有匹配空的模式: <rule class='system' id='kernel_empty' provider='local'> <description></description> <patterns> <pattern></pattern> </patterns> </rule> 我如何排除这些空的内核消息?
logging器命令有问题。 在将syslog-ng升级到3.3版后(可能不是直接依赖它),logger(使用下面的命令)不会logging标签名: logger -t "BLABLA" some_log_string 我该如何解决? 我周围search,但没有find任何有关这个问题。 提前致谢。