[systemd-devel] Antw: Re: Antw: [EXT] Re: Q; syslog.socket dependency
Ulrich Windl
Ulrich.Windl at rz.uni-regensburg.de
Fri Mar 12 09:04:26 UTC 2021
>>> Michael Chapman <mike at very.puzzling.org> schrieb am 12.03.2021 um 08:59 in
Nachricht <90c9a861-f8cd-88d7-647-c6cc2a8ad081 at very.puzzling.org>:
> On Fri, 12 Mar 2021, Ulrich Windl wrote:
>> >>> Reindl Harald <h.reindl at thelounge.net> schrieb am 11.03.2021 um 16:23
in
>> Nachricht <4422087b-9966-e7fb-66ad-4157d83f2f3b at thelounge.net>:
>>
>> >
>> > Am 11.03.21 um 12:17 schrieb Ulrich Windl:
>> >> Hi!
>> >>
>> >> I have a unit that uses logger, and I want to run it after syslog is
>> > available. So I added syslog.socket as dependency, but it fails:
>> >> Mar 11 12:11:02 jeos1 systemd[1]: syslog.socket: Socket service
>> > syslog.service not loaded, refusing.
>> >> Mar 11 12:11:02 jeos1 systemd[1]: Failed to listen on Syslog Socket.
>> >>
>> >> Doesn't journald also "provide" syslog.socket?
>> >>
>> >> Manual says:
>> >> syslog.socket
>> >> The socket unit syslog implementations should listen on.
All
>> >> userspace log messages will be made available on this
socket.
>> > For
>> >> more information about syslog integration, please consult
the
>> >> Syslog Interface[2] document
>> >
>> > you need no dependencies for logging ‑ journald is responsible for that
>> > and even available in the initrd
>>
>> So journald is not listening to the syslog socket? So how are messages sent
> to
>> the journal in a compatible way?
>> At least the manual page for syslog.socket is confusing then.
>
> So you say "the" syslog socket, but when you're running both journald and
> rsyslog, say, there are *two different syslog sockets*.
>
> It looks something like this:
>
> app
> |
> V
> /dev/log (systemd-journald-dev-log.socket)
> |
> V
> journald
> |
> | if ForwardToSyslog=yes
> |
> V
> /run/systemd/journal/syslog
> | (syslog.socket)
> |
> V
> rsyslog (syslog.service, symlinked to rsyslog.service)
>
> In other words, applications that expect something at /dev/log will work
> normally. Their messages sent to this socket will be sent to the journal.
> If the journal is configured to "forward to syslog", the message will sent
> to /run/systemd/journal/syslog ... and this will socket-activate some
> syslog implementation, such as rsyslog.
>
> I documentation for syslog.socket does essentially say this. The "syslog
> implementations" it's talking about means "rsyslog etc.", and "userspace
> log messages will be made available on this socket" means that the journal
> will send those messages to that socket. The linked Syslog Interface
> document also goes into more detail on it.
>
> Can you think of a better way of wording the documentation?
It depends: Do you consider /dev/log to be a "syslog socket"?
(I'm not running rsyslog there)
Regards,
Ulrich
More information about the systemd-devel
mailing list