Skip to content

Support multiple systemd-journal() sources in the config #3417

@gaborznagy

Description

@gaborznagy

Since #3358 and #3407 systemd-journal() source supports Journald namespaces.

Since the source stores the journald cursor under different persist-keys (based on the configured namespace() option), it allows multiple concurrent sources.

However, we still have a limitation, that only 1 systemd-journald() source can be used in the config.
(See the the journal_reader_initialized global variable restriction in journal-reader.c)
https://github.com/syslog-ng/syslog-ng/blob/master/modules/systemd-journal/journal-reader.c#L630

This limitation should be removed and a verification step should be added to verify that each configured source reads from a different journal.

(Note: we have a uniqe persist-name verification part in _verify_unique_persist_names_among_pipes, but that's not going to work with LogReader/JournalReader objects, and they shouldn't be handled next to other SrcDriver/DestDrivers).

Documentation about Journald namespaces: https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html#Journal Namespaces

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions