# Welcome to Rsyslog

Rsyslog is a rocket-fast system for log processing. It offers high-performance, great security features and a modular design. While it started as a regular syslogd, rsyslog has evolved into a kind of swiss army knife of logging, being able to

- accept inputs from a wide variety of sources,
- transform them,
- and output the results to diverse destinations.

Rsyslog has a strong enterprise focus but also scales down to small systems. It supports, among others, MySQL, PostgreSQL, failover log destinations, ElasticSearch, syslog/tcp transport, fine grain output format control, high precision timestamps, queued operations and the ability to filter on any message part.

## Manual

- Installation
  - Installing rsyslog from Package
  - Installing rsyslog from Source
  - Installing rsyslog from the source repository
- Configuration
  - Configuration Formats
  - sysklogd format
  - DESCRIPTION
  - SELECTORS
  - ACTIONS
  - EXAMPLES
  - CONFIGURATION FILE SYNTAX DIFFERENCES
  - BUGS
  - Basic Structure
  - Templates
  - rsyslog Properties
  - The Property Replacer
  - Filter Conditions
  - RainerScript
  - Actions
  - Input
  - Parser
  - timezone
  - Examples
  - Legacy Configuration Directives
  - rsyslog statistic counter
  - Modules
  - Output Channels
  - Dropping privileges in rsyslog
  - Notes on IPv6 Handling in Rsyslog
  - libgcrypt Log Crypto Provider (gcry)
  - Dynamic Stats
  - Lookup Tables
- Troubleshooting
  - Typical Problems
  - General Procedure
- FAQ
  - What is the difference between the main_queue and a queue with a ruleset tied to an input?
- Concepts
  - Understanding rsyslog Queues
  - The Janitor Process
  - Message parsers in rsyslog
  - Multiple Rulesets in rsyslog
  - NetStream Drivers
- Example Use Cases
  - Receiving massive amounts of messages with high performance
- Tutorials
  - Encrypting Syslog Traffic with TLS (SSL)
  - Encrypting Syslog Traffic with TLS (SSL) [short version]
  - Writing syslog messages to MySQL, PostgreSQL or any other supported Database
  - Handling a massive syslog database insert rate with Rsyslog
  - Reliable Forwarding of syslog Messages with Rsyslog
  - Recording the Priority of Syslog Messages
  - Failover Syslog Server
  - Log rotation with rsyslog
  - GELF forwarding in rsyslog
- Development
  - The rsyslog config data model
  - Objects
  - Debugging
  - rsylog code style
  - Writing Rsyslog Output Plugins
  - The rsyslog queue object
  - Generic design of a syslogd
- Historical Documents
  - Using php-syslog-ng with rsyslog
  - SSL Encrypting Syslog with Stunnel
  - Legacy Format Samples for Multiple Rulesets
  - Developing rsyslog modules (outdated)

## Reference

- RSyslog - History
- Licensing
- How you can Help
- Community Resources
- RSyslog - Features
- Proposals
- Rsyslog Whitepapers
- Free Services for Rsyslog
- Compatibility

## Sponsors and Community

Please visit the rsyslog Sponsor’s Page[4] to honor the project sponsors or become one yourself! We are very grateful for any help towards the project goals.

Visit the Rsyslog Status Page[2] to obtain current version information and project status.

If you like rsyslog, you might want to lend us a helping hand. It doesn’t require a lot of time - even a single mouse click helps. Learn how to help the rsyslog project.

## Related Links

[2] | rsyslog Sponsor’s Page

[4] | Regular expression checker/generator tool for rsyslog