Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PLUG AT - Practical Intro to Stream Processsing

PLUG AT - Practical Intro to Stream Processsing

A practical introduction to stream processing with Mozilla's Heka

Avatar for Nathan Williams

Nathan Williams

August 18, 2015

More Decks by Nathan Williams

Other Decks in Technology

Transcript

  1. What is Stream Processing • Formally: Given a continuous data

    set, a series of operations is performed on each element in the stream • In English: chunk-wise real-time analysis/normalization/mutation of an event stream, analogous to signal processing in audio
  2. Why Stream Processing • Real-time – Speed matters! • Scalability

    • Not exclusive to later batch processing • Multi-purpose – Data analysis/enrichment – Alerting (abuse/anomaly detection)
  3. Stream Processing Systems • Apache Spark • Apache Storm •

    Apache Samza • AWS Kinesis • IBM InfoSphere Streams • Logstash • Heka
  4. HEK Stack? • Like the ELK stack, but not –

    Heka – https://hekad.readthedocs.org/ – Elasticsearch – https://elastic.co/products/elasticsearch – Kibana – https://elastic.co/products/kibana
  5. Problems Encountered • Agent installation problems • High resource utilization

    in parsing • Buffer backups • Random hangs/slowdowns • Data discarded on error
  6. Operational Benefits • Distributed, “smart” agent, all the power out

    at the collection point • Support for aggregation, downsampling, anomaly detection • Efficient indexing, Go is awesome • Resilient under error conditions, back- pressure • Multipurpose design (more than logs) • More...
  7. Things to know • Complexity – Learning curve • Lua

    – Sandbox – PEGs • Go – Recompile to extend • Smaller ecosystem – Fewer integrations – Very helpful (IRC, mailing list)
  8. Example Lua telemetry plugins • Nginx Stub Status Decoder •

    Load Avg Decoder • Disk Stats Decoder
  9. What Next? • More Enrichment – GeoIP data – Session

    Data • More Metrics – Collectd – StatsD – ProcessInput • More Anomaly Detection – Aggregate • More Outputs – AWS S3 via HTTPOutput – Hipchat/Slack – Sensu → PagerDuty