syslog-ng/syslog-ng logo

syslog-ng/syslog-ng

Free

syslog-ng is an enhanced log daemon, supporting a wide range of input and output methods: syslog, unstructured text, queueing, SQL & NoSQL.

FreeFree tier
Outputs: file
Type
Open Source

About syslog-ng/syslog-ng

syslog-ng is an enhanced log daemon designed for high-performance log collection, processing, and forwarding. It supports a wide range of input and output methods including syslog (RFC3164 and RFC5424), JSON messages, unstructured text, message queues like AMQP, databases (SQL and NoSQL), and big data tools such as Elasticsearch, Apache Kafka, and Apache Hadoop. Built-in parsers (csv-parser, db-parser, kv-parser) allow classification and normalization of logs. syslog-ng can achieve performance comparable to a large cluster when running on a single node. Configuration examples show easy setup for system logs from /dev/log, network logs, and structured application logging with JSON output in key=value format.

Key Features

Receive and send RFC3164 and RFC5424 syslog messages
Receive and send JSON formatted messages
Work with any kind of unstructured data
Classify and structure logs using built-in parsers (csv-parser, db-parser, kv-parser)
Normalize, crunch, and process logs in transit
Forward logs to files, message queues (AMQP), databases (PostgreSQL, MongoDB), and big data tools (Elasticsearch, Kafka, Hadoop)
High performance comparable to a large cluster on a single node
Open source with active community (2.4k stars, 504 forks)

Pros & Cons

Pros
  • Free and open source
  • High performance, capable of handling large log volumes on a single node
  • Supports a wide variety of input and output formats (syslog, JSON, databases, message queues, big data tools)
  • Built-in log parsing and classification capabilities (csv-parser, db-parser, kv-parser)
  • Active community with extensive documentation and quickstart guide
  • Flexible configuration with SCL (syslog-ng configuration library)
Cons
  • Configuration can be complex for beginners due to its own syntax
  • Requires understanding of syslog-ng configuration language
  • May need additional setup for big data integrations (Elasticsearch, Kafka, Hadoop)
  • Limited graphical interface; primarily command-line configuration

Best For

System log collection from /dev/log (applications or systemd)Network log aggregation via TCP/UDPStructured application logging with JSON submissionLog parsing and normalization using built-in parsersForwarding logs to centralized logging systems like Elasticsearch, Kafka, or HadoopCentralized log management with SQL or NoSQL databases

FAQ

What input formats does syslog-ng support?
syslog-ng supports RFC3164 and RFC5424 syslog messages, JSON messages, unstructured text, and can receive logs from /dev/log or network sources (TCP/UDP).
Can syslog-ng forward logs to databases?
Yes, syslog-ng supports sending logs to SQL and NoSQL databases like PostgreSQL and MongoDB.
Is syslog-ng free to use?
Yes, syslog-ng is open source and free to use.
Does syslog-ng support big data tools?
Yes, syslog-ng can forward logs to Elasticsearch, Apache Kafka, and Apache Hadoop.