我想通过nginx发送日志到rsyslog,但似乎没有被发送。 这里是nginx conf,我定义了一个自定义的日志格式, log_format rsyslog '$remote_addr – $remote_user [$time_iso8601] "$request "' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/api_access.log rsyslog; access_log syslog:server=localhost:514 rsyslog; error_log /var/log/nginx/api_error.log debug; 我也将这些日志存储在文件中,并发送到rsyslog也。 alphauser@AlphaServer:/etc/rsyslog.d$ sudo netstat -nulp | grep 514 udp 0 0 0.0.0.0:514 0.0.0.0:* 41335/rsyslogd udp6 0 0 :::514 :::* 41335/rsyslogd rsyslog udp端口514已打开。 这里是rsyslogconfiguration, template(name="all-json-nginx" type="list"){ constant(value="{ ") constant(value="\"level\":\"") property(name="syslogseverity-text") […]
我似乎无法find一个有效的最新的方式来更改由Rsyslog v8控制的文件的日志文件权限(在Redhat7上,但应该没关系)。 看来这是在过去使用这些指令: $FileGroup adm $FileCreateMode 0640 $DirCreateMode 0755 但是现在它们已经列在旧版configuration指令中 。 我只需要更改/var/log/messages和/var/log/cron访问权限,所以理论上应该这样做: $FileGroup adm $FileCreateMode 0640 $DirCreateMode 0755 *.info;mail.none;authpriv.none;cron.none /var/log/messages cron.* /var/log/cron $FileGroup root $FileCreateMode 0600 # I can't find the default for these 2 lines $DirCreateMode 0755 但这是正确的方式还是被弃用? 由于日志的旋转是由logrotate处理,所以简单地使用它来改变所有权? 它会工作吗?
在CentOS 7.2服务器上,我试图使用echo t> / proc / sysrq-trigger来转储内核堆栈跟踪。 一些堆栈跟踪没有被logging。 我在/ var / log / messages中看到以下错误。 7月5日13:54:51 glusterfs1日志:错过了14295内核消息 看来,一些条目正在迷失。 我需要从这个服务器find适用的堆栈跟踪。 请build议需要做什么不要错过内核消息。
我有两台运行CentOS 7的本地虚拟机来模拟我们的生产环境。 1个代理服务器和1个集中式(ELK)服务器。 在ELK服务器上运行logstash从运行的实例中收集所有的syslog。 代理服务器通过Ansible提供Rsyslog(和logrotate)。 安装syslog和logrotate。 复制configuration。 重新启动服务。 真正的基本configuration,只是一个*.* @@IP.ADD.RE.SS:12345位于/etc/rsyslog.d/中的10-logstash.conf ,其余部分是标准configuration。 但是,它似乎没有发送日志到logstash。 当我尾巴/var/log/messages我看到在实例上运行的代理容器的输出。 但是没有一个被转发到日志服务器。 所以我GOOGLE了,并findDebuggingOnDemand选项。 当我停止rsyslogd服务,并手动运行sudo rsyslog -n它开始转发日志。 当我运行rsyslog -d (没有sudo),我得到通知它不能写入.pid文件。 所以我的猜测是,当它作为服务运行时,它没有足够的权利来正常工作? 我不能手动启动rsyslog没有sudo。 但我可以启动rsyslog作为服务( sudo service rsyslog start ),并确认它正在运行。 那么问题到底在哪里? 这是stream程本身吗? 它不能读取日志文件吗? 我无法想象我的configuration是错误的,因为rsyslog在手动运行时正确转发。 我不知道什么日志logging或输出提供,所以如果有需要请问,我会尽量提供。 rsyslogd -N 10输出(与另一个configuration文件,确认在生产中,相同的转发器,但有更多的选项定义) rsyslogd: version 7.4.7, config validation run (level 10), master config /etc/rsyslog.conf rsyslogd: module 'imuxsock' already in this config, […]
我正在尝试将特定远程主机的邮件logging到一个单独的日志文件(仅限于该文件)。 我试过这个: # cat /etc/rsyslog.d/avs110door.conf if $fromhost == 'avs110' then /var/log/avs110-door.log & stop 日志文件没有被创build,并且该主机的消息仍然被发送到user.log,syslog,messages和auth.log(取决于设施)。 我没有运行systemctl restart rsyslog.service和其他.conf文件从该目录做预期的工作。 这是一个rsyslog版本为8.4.2-1 + deb8u2的Debian Jessie服务器。 在错误的文件中的消息是这样的(所以远程主机名确实是'avs110'在我的.conf文件条件): Jul 18 18:27:19 avs110 sshd[781]: Server listening on :: port 22. Jul 18 18:27:39 avs110 engine[844]: Finished initialization Jul 18 18:44:20 avs110 engine[844]: Calling sip:600@192.168.44.152:5060
任何人都可以提供一个示例rsyslogconfiguration指令(Rainer脚本),删除由';'分隔的命名字段? 背景是这样的:我正在写一个rsyslogfilter,以减lessDB2AUDIT日志消息发送到我们的SIEM系统之前。 一个日志可能包含这个: Jul 19 09:48:02 <hostname> db2audit: timestamp=2017-07-19-09.48.01.290470; category=EXECUTE; audit event=STATEMENT; event correlator=5; event status=100; database=SST3; userid=<userid>; authid=<authid>; session authid=<session authid>; application id=<IP>.50212.170719074801; application name=w3wp.exe; client workstation name=<clientname>; package schema=DB2INST1; package name=SYSSH200; package section=4; local transaction id=0x1a041b2c02000000; global transaction id=0x0000000000000000000000000000000000000000; uow id=1; activity id=2; statement invocation id=0; statement nesting level=0; activity type=READ_DML; statement text=SELECT […]
我正在运行已经安装了syslog的CentOS 5。 当我尝试安装rsyslog我收到消息 file /etc/logrotate.d/syslog from install of rsyslog-7.6.7-1.el5.centos.x86_64 conflicts with file from package sysklogd-1.4.1-44.el5.x86_64 看了一下后,似乎没有看到他们可以安装在同一台机器上,但我想百分百肯定。
我试图在由AWS Ubuntu 16.04实例组成的系统上设置IDS。 我的HIDS由OSSEC 2.8.1pipe理,我的NIDS由Snort 2.9.9.0pipe理(由Barnyard2版本2.1.14parsing,也pipe理Syslog转发)。 在这个实例(和之前的其他实例)中,当我一方面设置OSSEC,另一方面设置Snort / Barnyard2时,我注意到OSSEC(自动configuration为使用rsyslog进行日志logging)本身运行良好。 另外,当我把这行放到barnyard2.conf中,并且OSSEC没有运行时,Snort / Barnyard2工作正常。 output alert_syslog: LOG_LOCAL5 LOG_ALERT 但是,当HIDS和NIDS都在运行/转发到系统日志时,我的EC2实例冻结,我必须恢复映像以使其再次运行(即使我重新启动实例,我不能重新进入)。 我已经尝试将OSSEC和Snort / BY2logging到不同的文件,但是没有奏效。 我也尝试设置磁盘辅助内存队列,这也没有奏效。 我真的需要设定这一点,我不能只在一个和另一个之间进行select。 我已经将此文件添加到/etc/rsyslog.d : $template GRAYLOGRFC5424,"<%PRI%>%PROTOCOL-VERSION% %TIMESTAMP:::date-rfc3339% %HOSTNAME% %APP-NAME% %PROCID% %MSGID% %STRUCTURED-DATA% %msg%\n" $ActionQueueType LinkedList $ActionQueueFileName srvrfwd $ActionResumeRetryCount -1 $ActionQueueSaveOnShutdown on # For general Syslog info *.* @@wxyz:1514;GRAYLOGRFC5424 local5.alert /var/log/snort.log local5.alert @@wxyz:1515;GRAYLOGRFC5424 我还应该提到,这个文件正确地将Snort和其他rsyslog数据转发到中央日志logging服务器,并且我也可以为OSSEC设置中央日志logging,但是在任何给定的实例中,我不能运行OSSEC和Snort + Barnyard2 […]
我有一个安装了rsyslog的官方高山容器,我的/etc/rsyslog.conf是: $MaxMessageSize 64k $ModLoad imuxsock # provides support for local system logging $ModLoad imklog # provides kernel logging support $KLogPermitNonKernelFacility on $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat $FileOwner root $FileGroup adm $FileCreateMode 0640 $DirCreateMode 0755 $Umask 0022 *.*;auth,authpriv.none -/var/log/syslog 我用rsyslogd -f /etc/rsyslog.conf运行rsyslogd -f /etc/rsyslog.conf ,看来$MaxMessageSize是1k而不是64k我在哪里错了? UPDATE 我已经尝试在Ubuntu的容器和完美的工作,似乎高山是问题,进入Ubuntu的rsyslog是版本7.4.4,进入高山8.18.0 更新2 我也试过用syslog-ng,结果相同,最大大小为1k,也许是高山docker集装箱的限制?
我已经设置了一些设施,以审计到远程机器,但不知何故,他们不存储在本地了。 例如/ var / log / secure没有存储任何信息,因为我设置了authpriv。* facility的远程目标 rsyslog.conf例子 authpriv.* /var/log/secure authpriv.* @@<SOME IP HERE> 不知何故,它也影响应用程序,并粉碎它们。 有人能告诉我为什么我没有本地日志了吗? 据我所知,与远程目标线不应覆盖本地文件目标的行。