Download - Moving towards unified logging

Transcript
Page 1: Moving towards unified logging

Phil Cryer, September 2014

Moving towards unified logging

Page 2: Moving towards unified logging

goal

=> decouple data sources from backend systems by providing a unified logging layer to route logs as needed

Page 3: Moving towards unified logging

currently

=> A host runs a Splunk app and forwards all of its logs to Splunk

Page 4: Moving towards unified logging

Host

a host

Page 5: Moving towards unified logging

Splunk

Host

sends logs to splunk

Splunk

Page 6: Moving towards unified logging

=> this works, but we want a more flexible, open source solution that doesn’t restrict us with specific tools or size quotas

why is this a problem

Page 7: Moving towards unified logging

=> create a unified logging layer to handle logs with FluentD, an open source, flexible and lightweight alternative to route logs

idea

http://www.fluentd.org/

Page 8: Moving towards unified logging

Host

the ELK stack in development…

Page 9: Moving towards unified logging

Elasticsearch

Host

Logstash

logstash writes to elasticsearch

Page 10: Moving towards unified logging

Elasticsearch

Host Host

Logstashrsyslogd

but this can be done just with rsyslogd

Page 11: Moving towards unified logging

Elasticsearch

Host Host

Logstash FluentD

and can also be done with FluentD

Host

rsyslogd

Page 12: Moving towards unified logging

Elasticsearch

Host Host Host Host

FluentDHost

Logstash FluentD Dockerrsyslogd

FluentD

but FluentD can be used for more, like routing

Page 13: Moving towards unified logging

Elasticsearch

Host Host Host

FluentDHost

Logstash FluentD Docker

FluentD

Host

rsyslogd

and handle input from various data sources

Page 14: Moving towards unified logging

Elasticsearch

Host Host Host

FluentDHost

Splunk

Logstash FluentD rsyslogd

FluentD FluentD

Host

rsyslogd

and output to various backends, even Splunk

Page 15: Moving towards unified logging

Elasticsearch

Host Host Host

FluentDHost

Splunk

Host

Logstash FluentD rsyslogd Splunk

FluentD

Host

rsyslogd

it could do this independently of Splunk

Page 16: Moving towards unified logging

Elasticsearch

Host Host Host

FluentDHost

Splunk

Host

Logstash FluentD rsyslogd Splunk

FluentD FluentD

Host

rsyslogd

or in parallel

Page 17: Moving towards unified logging

Elasticsearch

DB Memcache DNS

FluentDHost

Splunk

IDS

Logstash FluentD rsyslogd

FluentD

App

rsyslogd

and these could be from a variety applications

rsyslogd

FluentD

Page 18: Moving towards unified logging

Docker TCP Socket

FluentDHost

MySQL Scala App

Data sources

AWS

using various data sources

http://www.fluentd.org/datasources

AWS, Docker Containers, Flume, Java Apps, MySQL SlowQuery Logs, Scala Apps, TCP Socket, and more

DB Memcache DNS IDSApp

Page 19: Moving towards unified logging

FluentDHost

KafkaFluentD

HDFSFluentD

Data outputs

sent to various data outputs

http://www.fluentd.org/dataoutputs

AWS, Kafka, CouchDB, Elasticsearch, Hbase, HDFS, Mongo DB, MySQL, Redis, Riak, Splunk, and more

Page 20: Moving towards unified logging

Moving towards unified logging

Thanks.

so let’s start…