The syslog-ng Open Source Edition 3.3 Administrator Guide

Table of Contents

Preface
1. Summary of contents
2. Target audience and prerequisites
3. Products covered in this guide
4. Typographical conventions
5. Contact and support information
5.1. Sales contact
5.2. Support contact
5.3. Training
6. About this document
6.1. Summary of changes
6.2. Feedback
6.3. Acknowledgments
1. Introduction to syslog-ng
1.1. What syslog-ng is
1.2. What syslog-ng is not
1.3. Why is syslog-ng needed?
1.4. What is new in syslog-ng Open Source Edition 3.3?
1.5. Who uses syslog-ng?
1.6. Supported platforms
2. The concepts of syslog-ng
2.1. The philosophy of syslog-ng
2.2. Logging with syslog-ng
2.2.1. The route of a log message in syslog-ng
2.3. Modes of operation
2.3.1. Client mode
2.3.2. Relay mode
2.3.3. Server mode
2.4. Global objects
2.5. Timezones and daylight saving
2.5.1. A note on timezones and timestamps
2.6. Stable and feature releases of syslog-ng OSE
2.7. The license of syslog-ng OSE
2.8. High availability support
2.9. The structure of a log message
2.9.1. BSD-syslog or legacy-syslog messages
2.9.2. IETF-syslog messages
2.9.3. Message representation in syslog-ng OSE
2.9.4. Structuring macros, metadata, and other value-pairs
3. Installing syslog-ng
3.1. Compiling syslog-ng from source
3.2. Uninstalling syslog-ng
3.3. Configuring Microsoft SQL Server to accept logs from syslog-ng
4. The syslog-ng OSE quick-start guide
4.1. Configuring syslog-ng on client hosts
4.2. Configuring syslog-ng on server hosts
4.3. Configuring syslog-ng relays
4.3.1. Configuring syslog-ng on relay hosts
4.3.2. How relaying log messages works
5. The syslog-ng OSE configuration file
5.1. The syslog-ng configuration file
5.1.1. The configuration syntax in detail
5.1.2. Notes about the configuration syntax
5.2. Global and environmental variables
5.3. Loading modules
5.3.1. Loading modules
5.4. Managing complex syslog-ng configurations
5.4.1. Including configuration files
5.4.2. Reusing configuration blocks
6. Collecting log messages — sources and source drivers
6.1. How sources work
6.2. Collecting internal messages
6.3. Collecting messages from text files
6.3.1. file() source options
6.4. Collecting messages from named pipes
6.4.1. pipe() source options
6.5. Collecting process accounting logs on Linux
6.5.1. pacct() options
6.6. Receiving messages from external applications
6.6.1. program() source options
6.7. Collecting messages on Sun Solaris
6.7.1. sun-streams() source options
6.8. Collecting messages using the IETF syslog protocol
6.8.1. syslog() source options
6.9. Collecting the system-specific log messages of a platform
6.10. Collecting messages from remote hosts using the BSD syslog protocol
6.10.1. tcp(), tcp6(), udp() and udp6() source options
6.11. Collecting messages from UNIX domain sockets
6.11.1. unix-stream() and unix-dgram() source options
7. Sending and storing log messages — destinations and destination drivers
7.1. Storing messages in plain-text files
7.1.1. file() destination options
7.2. Storing messages in a MongoDB database
7.2.1. mongodb() destination options
7.3. Sending messages to named pipes
7.3.1. pipe() destination options
7.4. Sending messages to external applications
7.4.1. program() destination options
7.5. Storing messages in an SQL database
7.5.1. Using the sql() driver with an Oracle database
7.5.2. Using the sql() driver with a Microsoft SQL database
7.5.3. The way syslog-ng interacts with the database
7.5.4. sql() destination options
7.6. Sending messages to a remote logserver using the IETF-syslog protocol
7.6.1. syslog() destination options
7.7. Sending messages to a remote logserver using the legacy BSD-syslog protocol
7.7.1. tcp(), tcp6(), udp(), and udp6() destination options
7.8. Sending messages to UNIX domain sockets
7.8.1. unix-stream() and unix-dgram() destination options
7.9. Sending messages to a user terminal — usertty() destination
8. Routing messages: log paths and filters
8.1. Log paths
8.1.1. Embedded log statements
8.1.2. Log path flags
8.2. Managing incoming and outgoing messages with flow-control
8.2.1. Flow-control and multiple destinations
8.2.2. Configuring flow-control
8.3. Filters
8.3.1. Using filters
8.3.2. Combining filters with boolean operators
8.3.3. Comparing macro values in filters
8.3.4. Using wildcards, special characters, and regular expressions in filters
8.3.5. Tagging messages
8.3.6. Filter functions
8.4. Dropping messages
9. Global options of syslog-ng OSE
9.1. Configuring global syslog-ng options
9.2. Global options
10. TLS-encrypted message tranfer
10.1. Secure logging using TLS
10.2. Encrypting log messages with TLS
10.2.1. Configuring TLS on the syslog-ng clients
10.2.2. Configuring TLS on the syslog-ng server
10.3. Mutual authentication using TLS
10.3.1. Configuring TLS on the syslog-ng clients
10.3.2. Configuring TLS on the syslog-ng server
10.4. TLS options
11. Manipulating messages
11.1. Customizing message format
11.1.1. Formatting messages, filenames, directories, and tablenames
11.1.2. Templates and macros
11.1.3. Hard vs. soft macros
11.1.4. Macros of syslog-ng OSE
11.1.5. Using template functions
11.1.6. Template functions of syslog-ng OSE
11.2. Modifying messages
11.2.1. Conditional rewrites
11.3. Regular expressions
11.3.1. Types and options of regular expressions
11.3.2. Optimizing regular expressions
12. Parsing and segmenting structured messages
12.1. Parsing messages
12.2. Options of CSV parsers
13. Processing message content with a pattern database
13.1. Classifying log messages
13.1.1. The structure of the pattern database
13.1.2. How pattern matching works
13.1.3. Artificial ignorance
13.2. Using pattern databases
13.2.1. Using parser results in filters and templates
13.2.2. Downloading sample pattern databases
13.3. Correlating log messages
13.3.1. Referencing earlier messages of the context
13.4. Triggering actions for identified messages
13.5. Creating pattern databases
13.5.1. Using pattern parsers
13.5.2. What's new in the syslog-ng pattern database format V4
13.5.3. The syslog-ng pattern database format
14. Statistics of syslog-ng
15. Multithreading and scaling in syslog-ng OSE
15.1. Multithreading concepts of syslog-ng OSE
15.2. Configuring multithreading
15.3. Optimizing multithreaded performance
16. Troubleshooting syslog-ng
16.1. Possible causes of losing log messages
16.2. Creating syslog-ng core files
16.3. Collecting debugging information with strace, truss, or tusc
16.4. Running a failure script
16.5. Stopping syslog-ng
17. Best practices and examples
17.1. General recommendations
17.2. Handling lots of parallel connections
17.3. Handling large message load
17.4. Using name resolution in syslog-ng
17.4.1. Resolving hostnames locally
17.5. Collecting logs from chroot
Appendix 1. The syslog-ng manual pages
loggen — Generate syslog messages at a specified rate
pdbtool — An application to test and convert syslog-ng pattern database rules
syslog-ng — syslog-ng system logger application
syslog-ng.conf — syslog-ng configuration file
syslog-ng-ctl — Display message statistics and enable verbose, debug and trace modes in syslog-ng Open Source Edition
Appendix 2. GNU Lesser General Public License
2.1. Preamble
2.2. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
2.2.1. Section 0
2.2.2. Section 1
2.2.3. Section 2
2.2.4. Section 3
2.2.5. Section 4
2.2.6. Section 5
2.2.7. Section 6
2.2.8. Section 7
2.2.9. Section 8
2.2.10. Section 9
2.2.11. Section 10
2.2.12. Section 11
2.2.13. Section 12
2.2.14. Section 13
2.2.15. Section 14
2.2.16. NO WARRANTY Section 15
2.2.17. Section 16
2.3. How to Apply These Terms to Your New Libraries
Appendix 3. GNU General Public License
3.1. Preamble
3.2. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
3.2.1. Section 0
3.2.2. Section 1
3.2.3. Section 2
3.2.4. Section 3
3.2.5. Section 4
3.2.6. Section 5
3.2.7. Section 6
3.2.8. Section 7
3.2.9. Section 8
3.2.10. Section 9
3.2.11. Section 10
3.2.12. NO WARRANTY Section 11
3.2.13. Section 12
3.3. How to Apply These Terms to Your New Programs
Appendix 4. Creative Commons Attribution Non-commercial No Derivatives (by-nc-nd) License
Glossary
List of syslog-ng OSE parameters
Index
List of Examples
List of Procedures

© 2007-2011 BalaBit IT Security
Please send your comments or documentation bugs to: documentation@balabit.com