The Log Pipeline

Introduces the rsyslog log pipeline — the flow of events from input to output through rulesets and queues. This overview shows how logs move through rsyslog’s architecture.

rsyslog processes logs through a log pipeline — internally called the message pipeline. Each log message moves through three conceptual stages:

  1. Input: collects data from sources (sockets, files, journal).

  2. Ruleset: filters, parses, or transforms the message.

  3. Action: outputs the processed log to its destination.

flowchart LR subgraph "Input stage" I1["imkafka"]:::input I2["imjournal"]:::input I3["imfile"]:::input I4["..."]:::input I5["imtcp / imudp"]:::input end subgraph "Ruleset (logic)" F1["Filters<br>(if/then)"]:::ruleset P1["mmjsonparse"]:::ruleset T1["mmjsontransform"]:::ruleset end subgraph "Actions (outputs)" A1["omkafka"]:::action A2["omfwd / omrelp"]:::action A3["omhttp"]:::action A4["..."]:::action A5["omelasticsearch"]:::action end I1 --> F1 I2 --> F1 I3 --> F1 I4 --> F1 I5 --> F1 F1 --> A1 F1 --> A2 F1 --> A3 F1 --> A4 F1 --> A5 classDef input fill:#d5e8d4,stroke:#82b366; classDef ruleset fill:#dae8fc,stroke:#6c8ebf; classDef action fill:#ffe6cc,stroke:#d79b00;

Why this matters

Understanding the log pipeline helps you reason about reliability, performance, and transformations. Every input, rule, and action is a building block that you can compose into advanced pipelines with branching, staging, and queuing.

Subpages


Support: rsyslog Assistant | GitHub Discussions | GitHub Issues: rsyslog source project

Contributing: Source & docs: rsyslog source project

© 2008–2025 Rainer Gerhards and others. Licensed under the Apache License 2.0.