SlideShare ist ein Scribd-Unternehmen logo
1 von 39
rsyslog vs journal?
Rainer Gerhards
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Me & the Talk
• Rainer Gerhards
▫ Data center guy
▫ Involved 15+ years in logging
▫ Founded rsyslog in 2003
• The talk
▫ Will rsyslog fight the journal?
▫ Some history on journal-like system
▫ Ways of integration
▫ How to do things the journal announcement
claimed as impossible
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Does journal replace syslog?
• The initial announcement sounded a bit in that
way, or was at least interpreted by most
(including me) in that direction.
• Looking at how things have evolved
▫ There of course is overlap between both systems
▫ But there are also (large) regions that do not
overlap
• This is not a new situation, there is some history
lesson...
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Windows Event Log!
• The Windows Event Log is in many ways similar
to systemd journal
▫ Binary database with rollover and fast access time
▫ uses a simple structured format that captures core
metadata items (like timestamps, user IDs, …)
▫ uses unique identifiers for different types of log
messages
▫ Files are especially secured by OS
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Event Log History
• Introduced with Windows NT 3.1 in 1993
• Greatly enhanced in 2007, starting with
Windows Vista
• Originally single-computer only
• Now provides network functionality
▫ EventLog-to-EventLog push and pull
subscriptions
▫ Can be used to setup log forwarding in the
enterprise
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
So what does history tell us?
• If such a system can totally replace syslog, there
should be no syslog on Windows at all – and
never have been.
• Well... there are ample of applications
▫ WinSyslog (initial version by me, 1996)
▫ Kiwi Syslog (Solarwinds)
▫ EventReporter (first ever Windows-to-syslog tool,
1997)
▫ Snare
▫ and many more!
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Obviously, there must be some
need to syslog technology...
• Face it: syslog is the lingua franca of network
event logging.
▫ If you want to process messages from different
sources, chances are high you will need it.
▫ Even if not syslog (protocol) is used, you usually
need some common denominator
 e.g. Linux does not understand native Windows
EventLog
 Windows neither does understand native journal
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
A key problem solved by syslog
• You want to integrate all of your systems into a
consolidated log
• This either means
▫ A common protocol
▫ A system that is capable of processing multiple
protocols and somehow “normalize” them
• Syslog is ubiquitous – because a basic client is
dumb easy to implement!
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Window as a sender...
• Early days: missing network functionality was a
problem; brought up the idea of Event Log
forwarding
• Big customers quickly adopted that for
integration into their management system
• Today's hot topics:
▫ local filtering and preprocessing
▫ Ability to extract and properly express OS objects
▫ Support all Windows capabilities
▫ Secure protocol choices
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Windows as a receiver...
• Windows acts as syslog server
• Messages are written to
▫ Local files
▫ Windows Event Log (!)
▫ Some other processing (like alerting)
• Typical deployment scenario for SOHO
• But some large Windows-only shops also use it
for integration of non-Windows sources
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Why I am talking so much about
Windows?
• As I said, I see strong similarities between
journal and Windows Event Log
• Except that journal has much more quickly
gotten some network functionality
• So my best guess is that deployments and end-
user needs will evolve into mostly the same
directions
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Journal vs. Syslog:
low end systems
• Usually users of these machines are not at all
interested in logging
• Journal is very convenient as a troubleshooting
tool
• Works perfect on personal desktop & notebook
• Rsyslog will be needed by some users to
integrate e.g. their DSL router's messages into
the journal
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Journal vs. Rsyslog:
enterprise systems
• Impossible to manage without any syslog
• Journal integrated as another event source
▫ Journal-centric
 As much as possible is done with journal
 Integration happens at central head server(s)
▫ Syslog-centric
 Journal is used only as much as unavoidable
 Each machine runs rsyslog and forwards events
▫ Mode depends on end-user's philosophy
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
How did the journal affect the
rsyslog project?
• Obviously, we expect less presence on low-end
systems
• So we re-focussed the project
▫ Previously low-end and enterprise needs were
equal peers
▫ Now strong focus on enterprise
• The logging world at large got benefit as
suddenly everyone was interested in logging –
which also helps rsyslog!
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
What have we done to integrate
with the journal?
• Module omjournal
▫ Provides ability to store messages into the journal
▫ Traditional syslog, text files, ...
▫ Caters for the low-end use case
• Module imjournal
▫ Provides ability to pull messages off the journal,
just as another event source
▫ Contributed by Red Hat
▫ Caters for the enterprise use case
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Integrating syslog Data into the
journal (SOHO env)
/* first, we make sure all necessary modules are present: */
module(load="imudp") # input module for UDP syslog
module(load="omjournal") # output module for journal
/* then, define the actual server that listens to the
* router. Note that 514 is the default port for UDP syslog.
*/
input(type="imudp" port="514" ruleset="writeToJournal")
/* inside that ruleset, we just write data to the journal: */
ruleset(name="writeToJournal") {
action(type="omjournal")
}
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Integrating journal data into syslog
module(load="imjournal" PersistStateInterval="100" StateFile="/path/to/file")
module(load="mmjsonparse") #load mmjsonparse module for structured logs
$template CEETemplate,"%TIMESTAMP% %HOSTNAME% %syslogtag% @cee: %$!all-
json%n" #template for messages
*.* :mmjsonparse:
*.* /var/log/ceelog;CEETemplate
• Necessary to obtain extended journal properties
• If not needed, regular system log socket can be
used
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Why is it simple to integrate the
journal?
• Rsyslog is actually
▫ A message router
▫ With dynamically loadable inputs and outputs
▫ Highly configurable
• So, journal support is as easy as adding some
new inputs and outputs!
• The rest of the plumbing is already there.
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
rsyslog Architecture
journal
Network
(e.g.TCP)
/dev/log file
Database
Remote
system
Parsers
For-
matter
Rules
&
Filters
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
“String” Handling in rsyslog
Message String
Parser
Dictionary of Name/Value Pairs
Formatter
Output String
“special”
Outputs
Modifi-
cation Mod
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Now let's look at some
“impossible” things
• The original journal paper claimed that syslog is
▫ Seriously broken
▫ Cannot provide some important features
• I'll show how to do these “impossible” things
▫ Based on 2011 technology
▫ And on current one (v7.4)
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Log File Manipulation Protection
• The traditional approach is to ship logs off the
machine, to a central and highly secured system
• Keeping them on a system that is “easily
compromised” is asking for trouble.
• Problem is that local secrets can always be
compromised
• In rsyslog 7.4, we address these problems via log
signatures and encryption...
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Signed Log Records
• In 2011, there was no good solution (and
journal's solution was also not good)
• Things have evolved since them
▫ Journal got “forward secure sealing”
▫ Rsyslog
 got a crypto provider interface and a provider for
“Keyless Signature Infrastructure” (KSI)
 Hash chain for log record is created, and key hashes
are chained in a global hash chain, which provides
signature & timestamp
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Signing via Hash Chains...
• Very rough sample (actually Merkle trees!)
• No local secret!
• Consider “chain layer” to be operated on a
schedule (timer ticks!)
Source: http://en.wikipedia.org/wiki/File:Hashlink_timestamping.svg
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Activating Log Signing
action(type="omfile"
file="/var/log/logfile"
sig.provider="gt"
sig.keepTreeHashes="on"
sig.keepRecordHashes="on")
• Parameters except sig.provider are optional
• Writes
▫ regular log file
▫ plus signature file (*.gtsig)
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Log File Encryption
• Crypto-Provider interface recently added
• As well as a libgcrypt-based crypto provider
• Symmetric cryptoraphy, all ciphers & modes
supported by libgcrypt
• Key can come from
▫ Config param (testing only, pls!)
▫ File
▫ Script (interface for advanced key exchange
options)
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Activating Log Encryption
action(type="omfile"
file="/var/log/logfile"
cry.provider="gcry"
cry.keyprogram=”/path/to/binary”)
• Addtl Parameters for ciphers, etc...
• Writes
▫ regular log file, encrypted
▫ plus encryption info file (*.encinfo)
• Works in conjunction with signatures
• In 7.5 extended to rsyslog disk queues!
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Syslog Network Processing
• Original Journal accouncement missed
improvments and talked only about UDP syslog
• We have
▫ TCP & TLS support (RFC5425, 2009)
▫ Mutual authentication & authorization
▫ Multiple hops
▫ Buffered send queues, even with disk buffers
▫ Rsyslog can utilize other protocols as well (RELP,
SNMP)!
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Sample: TLS-encrypted for-
warding using a buffer queue
$DefaultNetstreamDriver gtls # make gtls driver the default
# certificate files
$DefaultNetstreamDriverCAFile /rsyslog/protected/ca.pem
$DefaultNetstreamDriverCertFile /rsyslog/protected/ma-cert.pem
$DefaultNetstreamDriverKeyFile /rsyslog/protected/ma-key.pem
# authorization
$ActionSendStreamDriverAuthMode x509/name
$ActionSendStreamDriverPermittedPeer central.example.net
$ActionSendStreamDriverMode 1 # run driver in TLS-only mode
# Queue
$ActionQueueType LinkedList # use own queue
$ActionQueueFileName fwq # set file name, enable disk mode
*.* @@central.example.net:10514 # forward to remote server
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Indexed Store
• Core idea: connect to existing “life stores”, do
not push that part into the syslogd
▫ Actually one of the core requirements that started
rsyslog (MySQL, ~2004)!
• 2011: various relational databases
• Today also
▫ Document based databases (MongoDB,...)
▫ Elasticsearch
▫ Journal DB
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Rate-Limiting
• 2011
▫ Repeated message reduction
($RepeatedMsgReduction on)
▫ Output throttling
• V7, additionally
▫ Repeated message processing on a per-input basis
▫ Object-based rate limiters (n messages within s
seconds)
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Log compression
• Log files can be zip compressed by specifying the
“ZipLevel” parameter
• Of course, accessing compressed log records
requires more processing time.
• Today, we also have experimental code for log
transfer compression (directly built into the
protocol/output modules).
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Message authentication and
Metadata availablility
• Rsyslog uses the same SCM_CREDENTIALS
facility that journal does
• And in both cases it can be faked – as journal
demonstrates when it actually fakes it on the
system log socket ;)
• The volume of metadata available has been
increased starting in 2012
• Total authenticity requires signatures at
the original originator level (each app),
what currently is impossible in the *nix
framework.
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Free-Formedness of Log Records
• Traditional syslog messages are much like free-
form text
• Today, we see the same for typical journal
messages
• There are a couple of standardization efforts
underway to provided structured logging
• Project lumberjack (lead by Red Hat) provides
JSON-based structured logs
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Unstructured Text Log Duality
• If a log format does not support freeform-text, it
is not used (at least not more than one can avoid
to...)
• If it supports freeform-text (among others), that
freeform-text will be abused
• → unstructured logs won't go away!
• We've seen this in Windows Event Log and looks
much the same for journal.
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Converting Free-Text Messages
via mmnormalize
• Uses a “sample rule base”
▫ One sample for each expected message type
▫ Sample contains text (for matching) and property
descriptions (like IPv4 Address, char-matches, …)
▫ If sample matches, corresponding properties are
extracted
▫ Special parser for iptables
• Very fast algorithm (much faster than regex)
• Based on liblognorm (which can also be used in
other programs to gain this functionality!)
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Timestamp format
• No year, no timezone
• ... just because distros turn it off.
• Remove “$ActionFileDefaultTemplate
RSYSLOG_TraditionalFileFormat” from
rsyslog.conf to get rsyslog's default high-
precision RFC5424 timestamp
• Some tools may have problems with that, but
can't be too bad – some Distros use the default
format
Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
Questions?
• rgerhards@adiscon.com
• http://blog.gerhards.net
• http://www.rsyslog.com
• http://www.adiscon.com
• Associated paper is
available on SlideShare.

Weitere ähnliche Inhalte

Was ist angesagt?

Présentation de Apache Zookeeper
Présentation de Apache ZookeeperPrésentation de Apache Zookeeper
Présentation de Apache ZookeeperMichaël Morello
 
Dataplane programming with eBPF: architecture and tools
Dataplane programming with eBPF: architecture and toolsDataplane programming with eBPF: architecture and tools
Dataplane programming with eBPF: architecture and toolsStefano Salsano
 
Performance Wins with BPF: Getting Started
Performance Wins with BPF: Getting StartedPerformance Wins with BPF: Getting Started
Performance Wins with BPF: Getting StartedBrendan Gregg
 
Gerrit Code Review multi-site
Gerrit Code Review multi-siteGerrit Code Review multi-site
Gerrit Code Review multi-siteLuca Milanesio
 
Jvm tuning for low latency application & Cassandra
Jvm tuning for low latency application & CassandraJvm tuning for low latency application & Cassandra
Jvm tuning for low latency application & CassandraQuentin Ambard
 
KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdf
KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdfKCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdf
KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdfRaphaël PINSON
 
Learn nginx in 90mins
Learn nginx in 90minsLearn nginx in 90mins
Learn nginx in 90minsLarry Cai
 
Fun with Network Interfaces
Fun with Network InterfacesFun with Network Interfaces
Fun with Network InterfacesKernel TLV
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking ExplainedThomas Graf
 
[CB20] Pwning OT: Going in Through the Eyes by Ta-Lun Yen
[CB20] Pwning OT: Going in Through the Eyes by Ta-Lun Yen[CB20] Pwning OT: Going in Through the Eyes by Ta-Lun Yen
[CB20] Pwning OT: Going in Through the Eyes by Ta-Lun YenCODE BLUE
 
Kubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdfKubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdfLibbySchulze
 
Easy Cloud Native Transformation with Nomad
Easy Cloud Native Transformation with NomadEasy Cloud Native Transformation with Nomad
Easy Cloud Native Transformation with NomadBram Vogelaar
 
BPF: Tracing and more
BPF: Tracing and moreBPF: Tracing and more
BPF: Tracing and moreBrendan Gregg
 
Dynamic Resource Allocation Spark on YARN
Dynamic Resource Allocation Spark on YARNDynamic Resource Allocation Spark on YARN
Dynamic Resource Allocation Spark on YARNTsuyoshi OZAWA
 
Effectively-once semantics in Apache Pulsar
Effectively-once semantics in Apache PulsarEffectively-once semantics in Apache Pulsar
Effectively-once semantics in Apache PulsarMatteo Merli
 
The TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelThe TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelDivye Kapoor
 
How to build a virtual machine
How to build a virtual machineHow to build a virtual machine
How to build a virtual machineTerence Parr
 

Was ist angesagt? (20)

Présentation de Apache Zookeeper
Présentation de Apache ZookeeperPrésentation de Apache Zookeeper
Présentation de Apache Zookeeper
 
Dataplane programming with eBPF: architecture and tools
Dataplane programming with eBPF: architecture and toolsDataplane programming with eBPF: architecture and tools
Dataplane programming with eBPF: architecture and tools
 
Performance Wins with BPF: Getting Started
Performance Wins with BPF: Getting StartedPerformance Wins with BPF: Getting Started
Performance Wins with BPF: Getting Started
 
Gerrit Code Review multi-site
Gerrit Code Review multi-siteGerrit Code Review multi-site
Gerrit Code Review multi-site
 
Jvm tuning for low latency application & Cassandra
Jvm tuning for low latency application & CassandraJvm tuning for low latency application & Cassandra
Jvm tuning for low latency application & Cassandra
 
KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdf
KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdfKCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdf
KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdf
 
Learn nginx in 90mins
Learn nginx in 90minsLearn nginx in 90mins
Learn nginx in 90mins
 
Fun with Network Interfaces
Fun with Network InterfacesFun with Network Interfaces
Fun with Network Interfaces
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
 
[CB20] Pwning OT: Going in Through the Eyes by Ta-Lun Yen
[CB20] Pwning OT: Going in Through the Eyes by Ta-Lun Yen[CB20] Pwning OT: Going in Through the Eyes by Ta-Lun Yen
[CB20] Pwning OT: Going in Through the Eyes by Ta-Lun Yen
 
Bootcamp linux commands
Bootcamp linux commandsBootcamp linux commands
Bootcamp linux commands
 
Logstash
LogstashLogstash
Logstash
 
Kubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdfKubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdf
 
Easy Cloud Native Transformation with Nomad
Easy Cloud Native Transformation with NomadEasy Cloud Native Transformation with Nomad
Easy Cloud Native Transformation with Nomad
 
BPF: Tracing and more
BPF: Tracing and moreBPF: Tracing and more
BPF: Tracing and more
 
Dynamic Resource Allocation Spark on YARN
Dynamic Resource Allocation Spark on YARNDynamic Resource Allocation Spark on YARN
Dynamic Resource Allocation Spark on YARN
 
Effectively-once semantics in Apache Pulsar
Effectively-once semantics in Apache PulsarEffectively-once semantics in Apache Pulsar
Effectively-once semantics in Apache Pulsar
 
The TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelThe TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux Kernel
 
Self Healing Capabilities of Domino 10
Self Healing Capabilities of Domino 10Self Healing Capabilities of Domino 10
Self Healing Capabilities of Domino 10
 
How to build a virtual machine
How to build a virtual machineHow to build a virtual machine
How to build a virtual machine
 

Ähnlich wie Rsyslog vs Systemd Journal Presentation

Rsyslog log normalization
Rsyslog log normalizationRsyslog log normalization
Rsyslog log normalizationRainer Gerhards
 
Fedora Developer's Conference 2014 Talk
Fedora Developer's Conference 2014 TalkFedora Developer's Conference 2014 Talk
Fedora Developer's Conference 2014 TalkRainer Gerhards
 
Writing External Rsyslog Plugins
Writing External Rsyslog PluginsWriting External Rsyslog Plugins
Writing External Rsyslog PluginsRainer Gerhards
 
#lspe Building a Monitoring Framework using DTrace and MongoDB
#lspe Building a Monitoring Framework using DTrace and MongoDB#lspe Building a Monitoring Framework using DTrace and MongoDB
#lspe Building a Monitoring Framework using DTrace and MongoDBdan-p-kimmel
 
RSYSLOG v8 improvements and how to write plugins in any language.
RSYSLOG v8 improvements and how to write plugins in any language.RSYSLOG v8 improvements and how to write plugins in any language.
RSYSLOG v8 improvements and how to write plugins in any language.Rainer Gerhards
 
Lambda Architectures in Practice
Lambda Architectures in PracticeLambda Architectures in Practice
Lambda Architectures in PracticeC4Media
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Programaspyker
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixAll Things Open
 
Proactive monitoring tools or services - Open Source
Proactive monitoring tools or services - Open Source Proactive monitoring tools or services - Open Source
Proactive monitoring tools or services - Open Source B.A.
 
Not my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructureNot my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructureYshay Yaacobi
 
Introduction to Verdaccio - Trivago 2019
Introduction to Verdaccio - Trivago 2019Introduction to Verdaccio - Trivago 2019
Introduction to Verdaccio - Trivago 2019Juan Picado
 
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...Demi Ben-Ari
 
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)Binary Studio
 
There is something about serverless
There is something about serverlessThere is something about serverless
There is something about serverlessgjdevos
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to GoSimon Hewitt
 
Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...Nir Yungster
 
Designing and Implementing a cloud-hosted SaaS for data movement and Sharing ...
Designing and Implementing a cloud-hosted SaaS for data movement and Sharing ...Designing and Implementing a cloud-hosted SaaS for data movement and Sharing ...
Designing and Implementing a cloud-hosted SaaS for data movement and Sharing ...Haripds Shrestha
 

Ähnlich wie Rsyslog vs Systemd Journal Presentation (20)

Rsyslog log normalization
Rsyslog log normalizationRsyslog log normalization
Rsyslog log normalization
 
Fedora Developer's Conference 2014 Talk
Fedora Developer's Conference 2014 TalkFedora Developer's Conference 2014 Talk
Fedora Developer's Conference 2014 Talk
 
Writing External Rsyslog Plugins
Writing External Rsyslog PluginsWriting External Rsyslog Plugins
Writing External Rsyslog Plugins
 
#lspe Building a Monitoring Framework using DTrace and MongoDB
#lspe Building a Monitoring Framework using DTrace and MongoDB#lspe Building a Monitoring Framework using DTrace and MongoDB
#lspe Building a Monitoring Framework using DTrace and MongoDB
 
RSYSLOG v8 improvements and how to write plugins in any language.
RSYSLOG v8 improvements and how to write plugins in any language.RSYSLOG v8 improvements and how to write plugins in any language.
RSYSLOG v8 improvements and how to write plugins in any language.
 
Os Lamothe
Os LamotheOs Lamothe
Os Lamothe
 
Lambda Architectures in Practice
Lambda Architectures in PracticeLambda Architectures in Practice
Lambda Architectures in Practice
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at Netflix
 
Proactive monitoring tools or services - Open Source
Proactive monitoring tools or services - Open Source Proactive monitoring tools or services - Open Source
Proactive monitoring tools or services - Open Source
 
Not my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructureNot my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructure
 
Go at Skroutz
Go at SkroutzGo at Skroutz
Go at Skroutz
 
Introduction to Verdaccio - Trivago 2019
Introduction to Verdaccio - Trivago 2019Introduction to Verdaccio - Trivago 2019
Introduction to Verdaccio - Trivago 2019
 
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
 
Graylog
GraylogGraylog
Graylog
 
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
 
There is something about serverless
There is something about serverlessThere is something about serverless
There is something about serverless
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
 
Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...
 
Designing and Implementing a cloud-hosted SaaS for data movement and Sharing ...
Designing and Implementing a cloud-hosted SaaS for data movement and Sharing ...Designing and Implementing a cloud-hosted SaaS for data movement and Sharing ...
Designing and Implementing a cloud-hosted SaaS for data movement and Sharing ...
 

Mehr von Rainer Gerhards

Sicherheit im Internet - Wie kann man sich schützen?
Sicherheit im Internet - Wie kann man sich schützen?Sicherheit im Internet - Wie kann man sich schützen?
Sicherheit im Internet - Wie kann man sich schützen?Rainer Gerhards
 
Rsyslog version naming (v8.6.0+)
Rsyslog version naming (v8.6.0+)Rsyslog version naming (v8.6.0+)
Rsyslog version naming (v8.6.0+)Rainer Gerhards
 
Using Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfileUsing Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfileRainer Gerhards
 
The rsyslog v8 engine (developer's view)
The rsyslog v8 engine (developer's view)The rsyslog v8 engine (developer's view)
The rsyslog v8 engine (developer's view)Rainer Gerhards
 
Wetterbeobachtung - Ein Vortrag für die Grundschule
Wetterbeobachtung - Ein Vortrag für die GrundschuleWetterbeobachtung - Ein Vortrag für die Grundschule
Wetterbeobachtung - Ein Vortrag für die GrundschuleRainer Gerhards
 
CEE Log Integrity and the "Counterpane Paper"
CEE Log Integrity and the "Counterpane Paper"CEE Log Integrity and the "Counterpane Paper"
CEE Log Integrity and the "Counterpane Paper"Rainer Gerhards
 
Status of syslog as of 2005
Status of syslog as of 2005Status of syslog as of 2005
Status of syslog as of 2005Rainer Gerhards
 
LogFile Auswertung (log analysis)
LogFile Auswertung (log analysis)LogFile Auswertung (log analysis)
LogFile Auswertung (log analysis)Rainer Gerhards
 

Mehr von Rainer Gerhards (10)

Sicherheit im Internet - Wie kann man sich schützen?
Sicherheit im Internet - Wie kann man sich schützen?Sicherheit im Internet - Wie kann man sich schützen?
Sicherheit im Internet - Wie kann man sich schützen?
 
rsyslog meets docker
rsyslog meets dockerrsyslog meets docker
rsyslog meets docker
 
Rsyslog version naming (v8.6.0+)
Rsyslog version naming (v8.6.0+)Rsyslog version naming (v8.6.0+)
Rsyslog version naming (v8.6.0+)
 
Using Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfileUsing Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfile
 
The rsyslog v8 engine (developer's view)
The rsyslog v8 engine (developer's view)The rsyslog v8 engine (developer's view)
The rsyslog v8 engine (developer's view)
 
Wetterbeobachtung - Ein Vortrag für die Grundschule
Wetterbeobachtung - Ein Vortrag für die GrundschuleWetterbeobachtung - Ein Vortrag für die Grundschule
Wetterbeobachtung - Ein Vortrag für die Grundschule
 
CEE Log Integrity and the "Counterpane Paper"
CEE Log Integrity and the "Counterpane Paper"CEE Log Integrity and the "Counterpane Paper"
CEE Log Integrity and the "Counterpane Paper"
 
State of syslog (2005)
State of syslog (2005)State of syslog (2005)
State of syslog (2005)
 
Status of syslog as of 2005
Status of syslog as of 2005Status of syslog as of 2005
Status of syslog as of 2005
 
LogFile Auswertung (log analysis)
LogFile Auswertung (log analysis)LogFile Auswertung (log analysis)
LogFile Auswertung (log analysis)
 

Kürzlich hochgeladen

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Kürzlich hochgeladen (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Rsyslog vs Systemd Journal Presentation

  • 2. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Me & the Talk • Rainer Gerhards ▫ Data center guy ▫ Involved 15+ years in logging ▫ Founded rsyslog in 2003 • The talk ▫ Will rsyslog fight the journal? ▫ Some history on journal-like system ▫ Ways of integration ▫ How to do things the journal announcement claimed as impossible
  • 3. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Does journal replace syslog? • The initial announcement sounded a bit in that way, or was at least interpreted by most (including me) in that direction. • Looking at how things have evolved ▫ There of course is overlap between both systems ▫ But there are also (large) regions that do not overlap • This is not a new situation, there is some history lesson...
  • 4. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Windows Event Log! • The Windows Event Log is in many ways similar to systemd journal ▫ Binary database with rollover and fast access time ▫ uses a simple structured format that captures core metadata items (like timestamps, user IDs, …) ▫ uses unique identifiers for different types of log messages ▫ Files are especially secured by OS
  • 5. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Event Log History • Introduced with Windows NT 3.1 in 1993 • Greatly enhanced in 2007, starting with Windows Vista • Originally single-computer only • Now provides network functionality ▫ EventLog-to-EventLog push and pull subscriptions ▫ Can be used to setup log forwarding in the enterprise
  • 6. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany So what does history tell us? • If such a system can totally replace syslog, there should be no syslog on Windows at all – and never have been. • Well... there are ample of applications ▫ WinSyslog (initial version by me, 1996) ▫ Kiwi Syslog (Solarwinds) ▫ EventReporter (first ever Windows-to-syslog tool, 1997) ▫ Snare ▫ and many more!
  • 7. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Obviously, there must be some need to syslog technology... • Face it: syslog is the lingua franca of network event logging. ▫ If you want to process messages from different sources, chances are high you will need it. ▫ Even if not syslog (protocol) is used, you usually need some common denominator  e.g. Linux does not understand native Windows EventLog  Windows neither does understand native journal
  • 8. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany A key problem solved by syslog • You want to integrate all of your systems into a consolidated log • This either means ▫ A common protocol ▫ A system that is capable of processing multiple protocols and somehow “normalize” them • Syslog is ubiquitous – because a basic client is dumb easy to implement!
  • 9. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Window as a sender... • Early days: missing network functionality was a problem; brought up the idea of Event Log forwarding • Big customers quickly adopted that for integration into their management system • Today's hot topics: ▫ local filtering and preprocessing ▫ Ability to extract and properly express OS objects ▫ Support all Windows capabilities ▫ Secure protocol choices
  • 10. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Windows as a receiver... • Windows acts as syslog server • Messages are written to ▫ Local files ▫ Windows Event Log (!) ▫ Some other processing (like alerting) • Typical deployment scenario for SOHO • But some large Windows-only shops also use it for integration of non-Windows sources
  • 11. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Why I am talking so much about Windows? • As I said, I see strong similarities between journal and Windows Event Log • Except that journal has much more quickly gotten some network functionality • So my best guess is that deployments and end- user needs will evolve into mostly the same directions
  • 12. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Journal vs. Syslog: low end systems • Usually users of these machines are not at all interested in logging • Journal is very convenient as a troubleshooting tool • Works perfect on personal desktop & notebook • Rsyslog will be needed by some users to integrate e.g. their DSL router's messages into the journal
  • 13. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Journal vs. Rsyslog: enterprise systems • Impossible to manage without any syslog • Journal integrated as another event source ▫ Journal-centric  As much as possible is done with journal  Integration happens at central head server(s) ▫ Syslog-centric  Journal is used only as much as unavoidable  Each machine runs rsyslog and forwards events ▫ Mode depends on end-user's philosophy
  • 14. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany How did the journal affect the rsyslog project? • Obviously, we expect less presence on low-end systems • So we re-focussed the project ▫ Previously low-end and enterprise needs were equal peers ▫ Now strong focus on enterprise • The logging world at large got benefit as suddenly everyone was interested in logging – which also helps rsyslog!
  • 15. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany What have we done to integrate with the journal? • Module omjournal ▫ Provides ability to store messages into the journal ▫ Traditional syslog, text files, ... ▫ Caters for the low-end use case • Module imjournal ▫ Provides ability to pull messages off the journal, just as another event source ▫ Contributed by Red Hat ▫ Caters for the enterprise use case
  • 16. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany
  • 17. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Integrating syslog Data into the journal (SOHO env) /* first, we make sure all necessary modules are present: */ module(load="imudp") # input module for UDP syslog module(load="omjournal") # output module for journal /* then, define the actual server that listens to the * router. Note that 514 is the default port for UDP syslog. */ input(type="imudp" port="514" ruleset="writeToJournal") /* inside that ruleset, we just write data to the journal: */ ruleset(name="writeToJournal") { action(type="omjournal") }
  • 18. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Integrating journal data into syslog module(load="imjournal" PersistStateInterval="100" StateFile="/path/to/file") module(load="mmjsonparse") #load mmjsonparse module for structured logs $template CEETemplate,"%TIMESTAMP% %HOSTNAME% %syslogtag% @cee: %$!all- json%n" #template for messages *.* :mmjsonparse: *.* /var/log/ceelog;CEETemplate • Necessary to obtain extended journal properties • If not needed, regular system log socket can be used
  • 19. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Why is it simple to integrate the journal? • Rsyslog is actually ▫ A message router ▫ With dynamically loadable inputs and outputs ▫ Highly configurable • So, journal support is as easy as adding some new inputs and outputs! • The rest of the plumbing is already there.
  • 20. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany rsyslog Architecture journal Network (e.g.TCP) /dev/log file Database Remote system Parsers For- matter Rules & Filters
  • 21. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany “String” Handling in rsyslog Message String Parser Dictionary of Name/Value Pairs Formatter Output String “special” Outputs Modifi- cation Mod
  • 22. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Now let's look at some “impossible” things • The original journal paper claimed that syslog is ▫ Seriously broken ▫ Cannot provide some important features • I'll show how to do these “impossible” things ▫ Based on 2011 technology ▫ And on current one (v7.4)
  • 23. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Log File Manipulation Protection • The traditional approach is to ship logs off the machine, to a central and highly secured system • Keeping them on a system that is “easily compromised” is asking for trouble. • Problem is that local secrets can always be compromised • In rsyslog 7.4, we address these problems via log signatures and encryption...
  • 24. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Signed Log Records • In 2011, there was no good solution (and journal's solution was also not good) • Things have evolved since them ▫ Journal got “forward secure sealing” ▫ Rsyslog  got a crypto provider interface and a provider for “Keyless Signature Infrastructure” (KSI)  Hash chain for log record is created, and key hashes are chained in a global hash chain, which provides signature & timestamp
  • 25. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Signing via Hash Chains... • Very rough sample (actually Merkle trees!) • No local secret! • Consider “chain layer” to be operated on a schedule (timer ticks!) Source: http://en.wikipedia.org/wiki/File:Hashlink_timestamping.svg
  • 26. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Activating Log Signing action(type="omfile" file="/var/log/logfile" sig.provider="gt" sig.keepTreeHashes="on" sig.keepRecordHashes="on") • Parameters except sig.provider are optional • Writes ▫ regular log file ▫ plus signature file (*.gtsig)
  • 27. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Log File Encryption • Crypto-Provider interface recently added • As well as a libgcrypt-based crypto provider • Symmetric cryptoraphy, all ciphers & modes supported by libgcrypt • Key can come from ▫ Config param (testing only, pls!) ▫ File ▫ Script (interface for advanced key exchange options)
  • 28. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Activating Log Encryption action(type="omfile" file="/var/log/logfile" cry.provider="gcry" cry.keyprogram=”/path/to/binary”) • Addtl Parameters for ciphers, etc... • Writes ▫ regular log file, encrypted ▫ plus encryption info file (*.encinfo) • Works in conjunction with signatures • In 7.5 extended to rsyslog disk queues!
  • 29. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Syslog Network Processing • Original Journal accouncement missed improvments and talked only about UDP syslog • We have ▫ TCP & TLS support (RFC5425, 2009) ▫ Mutual authentication & authorization ▫ Multiple hops ▫ Buffered send queues, even with disk buffers ▫ Rsyslog can utilize other protocols as well (RELP, SNMP)!
  • 30. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Sample: TLS-encrypted for- warding using a buffer queue $DefaultNetstreamDriver gtls # make gtls driver the default # certificate files $DefaultNetstreamDriverCAFile /rsyslog/protected/ca.pem $DefaultNetstreamDriverCertFile /rsyslog/protected/ma-cert.pem $DefaultNetstreamDriverKeyFile /rsyslog/protected/ma-key.pem # authorization $ActionSendStreamDriverAuthMode x509/name $ActionSendStreamDriverPermittedPeer central.example.net $ActionSendStreamDriverMode 1 # run driver in TLS-only mode # Queue $ActionQueueType LinkedList # use own queue $ActionQueueFileName fwq # set file name, enable disk mode *.* @@central.example.net:10514 # forward to remote server
  • 31. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Indexed Store • Core idea: connect to existing “life stores”, do not push that part into the syslogd ▫ Actually one of the core requirements that started rsyslog (MySQL, ~2004)! • 2011: various relational databases • Today also ▫ Document based databases (MongoDB,...) ▫ Elasticsearch ▫ Journal DB
  • 32. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Rate-Limiting • 2011 ▫ Repeated message reduction ($RepeatedMsgReduction on) ▫ Output throttling • V7, additionally ▫ Repeated message processing on a per-input basis ▫ Object-based rate limiters (n messages within s seconds)
  • 33. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Log compression • Log files can be zip compressed by specifying the “ZipLevel” parameter • Of course, accessing compressed log records requires more processing time. • Today, we also have experimental code for log transfer compression (directly built into the protocol/output modules).
  • 34. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Message authentication and Metadata availablility • Rsyslog uses the same SCM_CREDENTIALS facility that journal does • And in both cases it can be faked – as journal demonstrates when it actually fakes it on the system log socket ;) • The volume of metadata available has been increased starting in 2012 • Total authenticity requires signatures at the original originator level (each app), what currently is impossible in the *nix framework.
  • 35. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Free-Formedness of Log Records • Traditional syslog messages are much like free- form text • Today, we see the same for typical journal messages • There are a couple of standardization efforts underway to provided structured logging • Project lumberjack (lead by Red Hat) provides JSON-based structured logs
  • 36. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Unstructured Text Log Duality • If a log format does not support freeform-text, it is not used (at least not more than one can avoid to...) • If it supports freeform-text (among others), that freeform-text will be abused • → unstructured logs won't go away! • We've seen this in Windows Event Log and looks much the same for journal.
  • 37. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Converting Free-Text Messages via mmnormalize • Uses a “sample rule base” ▫ One sample for each expected message type ▫ Sample contains text (for matching) and property descriptions (like IPv4 Address, char-matches, …) ▫ If sample matches, corresponding properties are extracted ▫ Special parser for iptables • Very fast algorithm (much faster than regex) • Based on liblognorm (which can also be used in other programs to gain this functionality!)
  • 38. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Timestamp format • No year, no timezone • ... just because distros turn it off. • Remove “$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat” from rsyslog.conf to get rsyslog's default high- precision RFC5424 timestamp • Some tools may have problems with that, but can't be too bad – some Distros use the default format
  • 39. Rainer Gerhards * http://blog.gerhards.net * LinuxTag 2013, Berlin, Germany Questions? • rgerhards@adiscon.com • http://blog.gerhards.net • http://www.rsyslog.com • http://www.adiscon.com • Associated paper is available on SlideShare.