[prev in list] [next in list] [prev in thread] [next in thread] 

List:       opensuse
Subject:    Re: [opensuse] systemd hides important information for diagnosis of rsyslog.
From:       Andrey Borzenkov <arvidjaar () gmail ! com>
Date:       2013-06-15 6:28:48
Message-ID: 20130615102848.7b0f70b7 () opensuse ! site
[Download RAW message or body]

В Sat, 15 Jun 2013 09:35:37 +0400
Andrey Borzenkov <arvidjaar@gmail.com> пишет:

> В Thu, 13 Jun 2013 18:46:51 -0400
> Cristian Rodríguez <crrodriguez@opensuse.org> пишет:
> 
> > El 13/06/13 17:56, Carlos E. R. escribió:
> > 
> > > Why is not systemd logging this output?
> > 
> > Because:
> > 
> > 1. that output is sent to stderr.
> > 
> > 2. The unit file has StandardOutput=null as expected, otherwise a 
> > feedback loop will ocurr (the messages emitted by rsyslog service 
> > messages will be logged to the journal, which in turn will be forwarded 
> > to the syslog socket, that will cause a request for a syslog 
> > implementation to be activated..goto beggining :-) )
> > 
> 
> So you think it is better to completely remove any possibility to
> find out why rsyslogd failed to start instead of rate-limiting number of
> failed attempts?
> 
> Does not systemd already disables socket activation if service
> failed to start several times in a sequence? Which would give user all
> information needed to fix the problem and re-enable it?
> 

Actually I tested behavior with and without disabling rsyslogd
stdout/stderr.

Both with and without StandardOutput=inherit in rsyslog if I have error
that prevents rsuslogd from starting I get exactly the same behavior -
systemd permanently attempts to restart syslog.service spending 50% CPU
in system and 50% CPU in user mode. Which is more or less obvious as
normal system has quite a lot of logging going on, so rsyslog does not
add anything significant here.

OTOH removing StandardOutput=inherit from rsyslog.conf allows me to
see, *WHY* it did not start:

journalctl -b /sbin/rsyslogd



-- Logs begin at Sat, 2013-06-15 10:12:46 MSK, end at Sat, 2013-06-15 10:17:02 MSK. \
                --
Jun 15 10:14:35 linux-o0ic.site rsyslogd[1526]: rsyslogd: error during parsing file \
/etc/rsyslog.d/dummy.conf, on or before line 1: syntax error on token '=' [try \
                http://www.rsyslog.com/e/2207 ]
Jun 15 10:14:35 linux-o0ic.site rsyslogd[1526]: rsyslogd: CONFIG ERROR: could not \
interpret master config file '/etc/rsyslog.conf'. [try http://www.rsyslog.com/e/2207 \
                ]
Jun 15 10:14:35 linux-o0ic.site rsyslogd[1526]: rsyslogd: run failed with error -2207 \
                (see rsyslog.h or try http://www.rsyslog.com/e/2207 to learn what \
                that number means)
...


(unfortunately those lines are not usually visible in "systemctl
status", not sure why).

So I fail to see any justification for suppressing rsyslog messages.
Carlos, I think it warrants bug report so it can be followed.

Additionally, it also demonstrates that systemd does not do any rate
limiting on socket-activated services. Which is bad actually.
--
To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org
To contact the owner, e-mail: opensuse+owner@opensuse.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic