Logstash and Other Things
An very interesting and insightful presentation by Jordan Sissel about why and how Logstash came about. This is from PuppetConf 2012.
- Yearly Sysadvent blog.
- FPM - Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity
- There’s too much data to read in a log file. We need some way of filtering it to make sense.
What else sucks? Shitty error messages!
- Write better error messages.
- Hacks work as one-offs - not everyday. Hard to maintain. You are asked to write hacks all the time.
- People are using you as their computer interface.
Don’t be a human keyboard.
- What is a log?
DATA + TIMESTAMP = LOG
Lifecycle of a log entry: record > transmit > analyse > store > delete
Opensource tools: transport: flume, fluentd, scribe, rsyslog, syslog-ng search+analytics: hadoop, graylog2, elsa storage: hdfs, cassandra, elasticsearch
Use Grok:
- named pattern: %{patternName:Name}.
- reuse matched patterns and transformations.
- has types: Numbers, Strings etc.
- patterns are unit tested.
- multiline matches for Stacktraces etc.
Stop inventing shitty time formats!
- Statsd metrics can be visualized with tools like:
- graphite
- ganglia
- circonus
- boundary
- librato
- opentsdb
- graylog2
- Apache uses gettimeofday() which changes when NTP synchronizes its clock. Leads to negative time values.
Does Apache have a Time Machine?
- Features:
- Transport and process logs to and from anywhere.
- Search and analytics.
- Design:
- Logstash should fit your infrastructure.
- Logstash is extendable (via plugins).
- Community:
- If a newbie has a hard time it’s a bug (in the code or documentation etc).
- Contributions are more than code (file bugs, feature requests, ideas,documentation etc).
- Tools: Kibana, puppet module, logstash cli.
- Links:
- logstash.net
- logstash-user@googlegroups.com
- #logstash on freenode (I am Whack)
- issues
- @jordansissel