Articles of rsyslog现在

Rsyslog不logging事件

我试图站起来一个系统日志服务器接收来自一个networking设备的事件,但我似乎无法得到它实际login事件到磁盘。 我可以确认连接正在成功,rsyslogd正在获取事件,我只是不知道为什么它没有做任何事情。 唯一被logging的是rsyslogd本身的启动。 configuration和debugging输出如下,这最初是从rsyslog厨师食谱生成的,但我添加了一些调整,以解决它所抱怨的超级弃用的语法。 rsyslog.conf : $MaxMessageSize 2k $PreserveFQDN off $ModLoad imuxsock $ModLoad imklog $ModLoad imtcp $InputTCPServerRun 514 $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat $RepeatedMsgReduction on $WorkDirectory /var/spool/rsyslog $FileOwner root $FileGroup root $FileCreateMode 0640 $DirCreateMode 0755 $Umask 0022 $IncludeConfig /etc/rsyslog.d/*.conf rsyslog.d/* : $DirGroup root $DirCreateMode 0755 $FileGroup root $template PerHostAuth,"/var/log/rsyslog/%HOSTNAME%/auth.log" $template PerHostCron,"/var/log/rsyslog/%HOSTNAME%/cron.log" $template PerHostSyslog,"/var/log/rsyslog/%HOSTNAME%/syslog" $template PerHostDaemon,"/var/log/rsyslog/%HOSTNAME%/daemon.log" $template PerHostKern,"/var/log/rsyslog/%HOSTNAME%/kern.log" $template […]

将系统日志消息存储在Postgres数据库时防止多线路丢失

我有一个应用程序创build使用syslog集中的报告,我将它们存储在Postgres数据库中供自定义使用。 数据库有一个特定的格式(假设我集中的数据是一种csv,每列都有特定的含义)。 到目前为止,这么好,数据正确地插入到数据库中,格式正确。 如果格式不正确的消息将其传递给系统日志(例如,使用文本而不是int),则会发生插入错误,因为该types是无效的,这是期望的…但批处理的下一个消息也会被静默地丢弃(我相信这是因为插入事务) Sep 2 16:10:45 my-computer postgres[7642]: [2-2] 2011-09-02 16:10:45 CEST STATEMENT: insert into RudderSysEvents (executionDate, nodeId, configurationRuleId, policyInstanceId, serial, Component, KeyValue, executionTimeStamp, eventType, msg, Policy) values ('2011-09-02T16:10:45.592739+02:00','bla', '' , '', '', '', '', '', '', '', 'sdfsfsf' ) Sep 2 16:10:45 nicolas-laptop postgres[7643]: [2-1] 2011-09-02 16:10:45 CEST ERROR: invalid input syntax for […]

Ubuntu系统日志:在日志轮转之后,没有任何东西写在/ var / log / syslog上

现在我已经运行了Ubuntu VPS几个星期了,所以yestarday发生了几个月的日志轮换。 对于像/var/log/wtmp东西,看起来和预期的一样: logfile具有最近的条目,而logfile.1较早的条目。 但是,即使在重新启动rsyslog之后, /var/log/syslog现在也是空的。 有任何想法吗? 我应该提到,这不是类似的问题Syslog不logging任何东西的重复。 由于我没有修改任何默认设置, /var/log/syslog默认包含在/etc/rsyslog.d/50-default.conf : *.*;auth,authpriv.none -/var/log/syslog 提前致谢。

如何configurationsyslogd名称/标识符?

我将所有系统日志事件转发到papertrailapp.com,并将其标识为由localhost发送。 这是不方便的,因为我有几个服务器,他们都是localhost 。 我如何在每台机器上configurationsyslog以拥有自己的唯一名称?

rsyslog – 正则expression式的麻烦

我正在设置logentries服务。 如果日志条目有一个令牌,那么我想把它发送到api.logentries.com:10000。 令牌是格式为aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee的guid。 现在我正在做: # If there's a logentries token then send it directly to logentries :msg, regex, ".*[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}.*" & @@api.logentries.com:10000 我检查了rsyslogdebugging日志和我的正则expression式不匹配,但我不知道为什么或如何解决它: 5245.961161378:7fb79b514700: Filter: check for property 'msg' (value ' fb1c507f-2ede-4d7f-a140-2bd8d56e133 – application – [play-akka.actor.default-dispatcher-1] – Found user: 4fb11ea5e4b00a1aeebe2800') regex '.*[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}.*': FALSE

rsyslogconfiguration语法

我需要对某些日志消息采取几个操作。 例如,我想根据严重性将它们logging到不同的文件。 一切都好,如果我使用这个: if $programname == 'myprog' then -/var/log/myprog.log if $programname == 'myprog' and $syslogseverity-text >= 'warning' then -/var/log/myprog-alert.log if $programname == 'myprog' ~ 这个日志logging每个由'myprog'发送到/var/log/myprog.log的消息 这个只logging日志的警告和'myprog'发送到/ var / log / myprog-alert.log的错误信息 然后停止处理(感谢'〜') 。 我喜欢有更性感的东西: if $programname == 'myprog' then { *.* -/var/log/myprog.log *.warning -/var/log/myprog-alert.log ~ } 但是这个后来的构造虽然被rsyslog所接受,但是并不过滤程序名。 例如,即使从任何进程发起,每个消息都被写入/var/log/myprog.log。 。 任何人都可以解释我的错误或误解? 。 最后的方法,从下面的答案: 使用“现代”的rsyslogd。 版本> 7.xy […]

使用rsyslog转发结构化数据

我们有一个Java应用程序通过syslog将结构化数据(MDC与log4j)logging到本地主机上的rsyslog(7.6.3)。 然后localhost应该将这些日志消息转发到一个中央日志logging主机(也运行rsyslog(7.4.4)),它将格式化日志消息并将其分发到文件中。 问题是我们看到本地主机上的结构化数据(通过将%rawmsg%logging到文件中),但在日志logging服务器上收到的%rawmsg%没有结构化数据。 通过UDP完成排除。 我们如何通过rsyslog将结构化数据作为结构化数据传输?

通过tls将日志从rsyslog转发到graylog

我试图通过tls从rsyslog转发日志到graylog。 rsyslogconfiguration: # make gtls driver the default $DefaultNetstreamDriver gtls # # # certificate files $DefaultNetstreamDriverCAFile /etc/ssl/rsyslog/ca.pem $DefaultNetstreamDriverCertFile /etc/ssl/rsyslog/rsyslog-cert.pem $DefaultNetstreamDriverKeyFile /etc/ssl/rsyslog/rsyslog-key.pem # $ActionSendStreamDriverAuthMode x509/name $ActionSendStreamDriverPermittedPeer graylog.mydomain.com $ActionSendStreamDriverMode 1 # run driver in TLS-only mode *.* @@graylog.mydomain.com:6514 # forward everything to remote server 我生成了必要的证书,如rsyslog文档中所述: certtool –pkcs8 –generate-privkey –outfile ca-key.pem certtool –pkcs8 –generate-self-signed –load-privkey ca-key.pem –outfile ca.pem […]

如何将应用程序日志转发到远程日志服务器?

我有一个应用程序,它将自己的日志文件写入/var/log/app/app.log 。 如何将这些日志转发到远程Rsyslog服务器?

pipe道程序输出到rsyslog

我有一个运行的进程,把它的输出写入一个文件,就像这样。 processx > /var/log/processx.log 2>&1 我怎么会写/pipe/转发给rsyslog而不是(包括2>&1redirect)?