我在Unix和Linux中提出了这个问题,但是我认为在这里实际上更合适。 目前,我使用下面的logrotate.dconfiguration /var/log/messages { daily compress rotate 7 postrotate /bin/kill -HUP `cat /var/run/syslog-ng.pid 2> /dev/null` 2> /dev/null || true endscript } 但是,我在syslog-ng存储库的官方logrotate示例中看到,不是执行kill -HUP,而是执行重新加载,例如: /var/log/syslog.log { rotate 7 daily compress postrotate /etc/init.d/syslog-ng reload >/dev/null endscript } 这两种方法之间有什么重大的区别,这会使他们的工作方式,但我的方式不工作,或者你会指望有其他问题吗? 这是一个很老的syslog-ng版本,所以我不确定是否可以关联。 对于额外的上下文,这里是我的版本的syslog-ng的初始化脚本的重载function。 reload() { verify_config echo -n $"Reloading syslog-ng: " killproc syslog-ng -HUP RETVAL=$? echo return $RETVAL } 当系统处于故障状态,并没有注意到系统状态过于可疑时,我检查了lsof,空闲内存等等。
我正在从syslog-ng 2.0.9迁移到3.8.1大型系统日志服务器场。 我有传入的数据报,看起来像这样: <14>Aug 14 21:28:49 pa01.foo.com 1,2017/08/14 21:28:49,009401031978,THREAT,url,… 实际的消息在pa01.foo.com主机名后面开始。 在2.0.9上,我只是使用“$ MSG”作为我的输出模板,输出文件将得到: 1,2017/08/14 21:28:49,009401031978,THREAT,url,… 这是我想要的。 在3.8.1上,它决定实际的消息开始是在不同的地方,我的输出如下所示: 21:28:49,009401031978,THREAT,url,… 我失去了领先的1,2017/08/14 。 我发现在源处设置flags(no-parse) ,并使用parser { syslog-parser(); };将syslogparsing器添加回pipe道parser { syslog-parser(); }; parser { syslog-parser(); }; 工作正常。 综上所述: source net_src1 { network( transport("udp") port(4514) flags(no-parse)); }; source net_src2 { network( transport("udp") port(5514)); }; source net_src3 { syslog( transport("udp") port(6514)); }; […]
我有一个系统日志服务器与Syslog-ng 3.6女巫从不同的思科SW和RT从我的networking接收日志。 configuration非常简单: /etc/syslog-ng/syslog-ng.conf ############################# source s_net { tcp(ip(0.0.0.0) port(514)); udp(ip(0.0.0.0) port(514)); }; destination d_host-specific { file("/var/log/remotos/$HOST/$YEAR/$MONTH/$HOST-$YEAR-$MONTH-$DAY.log"); }; log { source(s_net); destination(d_host-specific); }; ############################# 如果不完全一样,所有SW和RT都有非常相似的configuration: logging trap debugging logging XX.XX.XX.XX 但是事情就是这样,Syslog-ng从大多数设备接收日志,但Cisco Cat4500。 我发现有关configurationCisco CAT4500发送日志的所有文档都是为了简单的Syslog,而不是Syslog-ng。 这将是这样的configuration/etc/syslog.conf: local7.debug /usr/adm/logs/cisco.log 然后创build日志将要去的实际日志文件,如下所示: $ touch /var/log/cisco.log $ chmod 666 /var/log/cisco.log 但是我还没有发现Syslog-NG的思科知识库上的任何东西。 我不能设法从CAT4500接收日志,但是我从几台WS-C296和其他设备处于同一networking。 我试图添加一个filter的主机IP无济于事: filter f_SW1_MSS_SRVs { host( "XX.XX.XX.XX" ); }; […]
(是的,我已经看到syslog-ng不能识别“python”关键字 ,但是1)上面提到的解决scheme对我没有帮助,因为我检查了并且mod-python被加载了,2)它适用于文件目的地而不是parsing器) 在将syslog-ng输出到某个程序时遇到了一些麻烦,有人指出syslog-ng能够将Python代码结合到parsing器中,并指向我https://www.balabit.com/documents/syslog-ng- pe-latest-guides / en / syslog-ng-pe-guide-admin / html / python-parser.html 。 但是,即使示例脚本也无法处理错误消息: Error parsing parser expression, parser plugin python not found in /etc/syslog-ng/conf.d/50-python.conf at line 2, column 2: included from /etc/syslog-ng/syslog-ng.conf line 162, column 1 python(class("brocadeParser")); ^^^^^^ 我GOOGLE了错误信息,我检查了上面的SE问题。 但是,运行syslog-ng -V我发现python模块实际上已经加载了: syslog-ng 3.8.1 Installer-Version: 3.8.1 Revision: 3.8.1-10 Module-Directory: /usr/lib/syslog-ng/3.8 Module-Path: /usr/lib/syslog-ng/3.8 Available-Modules: linux-kmsg-format,riemann,grok-parser,basicfuncs,cryptofuncs,redis,system-source,afuser,geoip-plugin,mod-python,graphite,afstomp,pseudofile,date,afsocket,kvformat,confgen,afprog,syslogformat,add-contextual-data,sdjournal,json-plugin,afsmtp,affile,afamqp,dbparser,disk-buffer,afsql,csvparser,cef,afmongodb Enable-Debug: […]
在我们的php应用程序中,我们使用syslog调用进行日志logging,但是我们注意到系统中存在packetloss。 我们使用以下设置:Ubuntu 14.04,PHP 7.0,系统日志3.5.6。 Php根据设施和优先级将日志传输到本地系统日志服务器(通过/ dev / log),将日志传输到中央日志logging服务器。 由于心跳cron,我们监视系统中的包丢失,并且经常发现包丢失。 Strace显示数据包在php和syslog之间丢失 正常的日志调用就像这样 socket(PF_LOCAL, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 3 connect(3, {sa_family=AF_LOCAL, sun_path="/dev/log"}, 110) = -1 EPROTOTYPE (Protocol wrong type for socket) close(3) = 0 socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC, 0) = 3 connect(3, {sa_family=AF_LOCAL, sun_path="/dev/log"}, 110) = 0 sendto(3, "<154>Oct 31 06:12:02 Framework_L"…, 125, MSG_NOSIGNAL, NULL, 0) = 125 close(3) = […]
如何将以下内容转换为rsyslog语法? filter local2 { facility(local2); }; filter not_local2 { not facility(local2); }; destination server2 { tcp("server2" port(1111)); }; destination localhost { file ("/var/log/local2.log"); }; log { source(s_all); filter(local2); destination(localhost); }; filter pics { program ("preview_*"); }; destination pics { file ("/logdir/${PROGRAM}.log"); }; log { source(s_all); filter(pics); destination(pics); };
我正在使用集中的syslog-ng日志主机来收集某些客户端上的日志和syslog-ng。 在一个特定的客户端上,在Devil Linux上运行syslog-ng,syslog条目被发送(使用tcpdump进行确认),格式如下 DATE local@hostname MESSAGE 其中local是configuration文件中源的名称 source local { file("/proc/kmsg" program_override("kernel: ")); unix-stream("/dev/log" max-connections(1000)); internal(); }; log { source(local); destination(console); }; 其他syslog-ng主机不是这样做的,尽pipe大多数是Centos 5.4运行syslog-ng 2.1.4,因为这是syslog-ng版本3.05 有谁知道这是为什么发生,以及如何阻止它。 编辑:完整的configuration文件 @version: 3.0 ##################################################################### # define options for syslog ##################################################################### options { long_hostnames(on); flush_lines(0); time_reopen(60); use_dns (no); }; ##################################################################### # define the source pipe for all local messages ##################################################################### […]
任何人都可以指向一个开源的syslog-ng RPM软件包的SLES 11(x86,64位)?
以下是我的/etc/syslog-ng/syslog-ng.conf与login到文件debug.log相关的一些内容 source s_sys {file(“/ proc / kmsg”log_prefix(“kernel:”)); unix-stream(“/ dev / log”); 内部(); #udp(ip(0.0.0.0)port(514)); }; destination d_mesg {file(“/ tmp / log / debug.log”); }; filterf_filter2 {级别(info..emerg),而不是设施(邮件,authpriv,cron); }; log {source(s_sys); 滤波器(f_filter2); 目的地(d_mesg); }; 我想把你的注意力放在包含“filter”的行上。 在那里你可以看到我从mail , authpriv和cron筛选出日志。 据我所知, mail , authpriv和cron是syslog的预定义工具。 我的查询是: 我写了一个名为“pm”的守护进程,它也使用syslog API进行日志logging。 现在无论我的守护进程日志如何,进入文件/tmp/log/debug.log如上所见。 我想从/tmp/log/debug.log过滤掉“pm”的日志。 为了更清楚我想有像filter filter f_filter2 {level(info..emerg)而不是facility(mail,authpriv,cron,pm); }; 请注意:f_filter2与上面相比有所不同。 是否有可能做到这一点 ? 我怎样才能防止pm日志进入/tmp/log/debug.log ?
有谁知道如何在Ubuntu服务器上使用syslog-ng为iptables设置备用日志文件?