Logs management

39
Logs Management

description

Logs management using Logstash, ElasticSearch and Kibana, Some extra content about statsd and graphite

Transcript of Logs management

Page 1: Logs management

Logs Management

Page 2: Logs management

infrastructure

Page 3: Logs management

logs management

Page 4: Logs management

logflow

Page 5: Logs management

logstash

Logstash tool for managing events and logs

Logstash written in JRuby

logstash inputs -> filters -> outputs

logstash “all in one” jar file

Page 6: Logs management

logstash plugins

Inputseventlog, file, s3, syslog, tcp, udp, websocket, wmi

Filterscsv, dns, geoip, grok, mutate

Outputselasticsearch, email, exec, mongodb, rabbitmq, redis

example

http://logstash.net/docs/1.2.2/

Page 7: Logs management

logstash example

input {stdin{

type => “example“ }}

with puppet

=

Page 8: Logs management

logstash example

output {redis {

data_type => "list" host => [’10.0.22.26'] key => "logstash”

}}

with puppet

=

Page 9: Logs management

logflow

Page 10: Logs management

redis

Redis open source, advanced key-value store

Redis buffer new logs from any type of slower parsing

Page 11: Logs management

logflow

Page 12: Logs management

logflow

Page 13: Logs management

logstash example

input {syslog {

port => 5544 type => "hapr" }}

with puppet

=

Page 14: Logs management

log4net example

Page 15: Logs management

logflow

Page 16: Logs management

logstash example

=output {

elasticsearch {cluster => "logs”embedded => false

index => "%{type}-%{+YYYY.MM.dd}”

node_name => "logstash_output" }}

with puppet

Page 17: Logs management

logflow

Page 18: Logs management

elasticsearch

ES distributed restful search and analytics engine

ES build on top of apache lucene

ES distributed, highly available

ES document oriented, schema free

ES restfull api

Page 19: Logs management

elasticsearchData Structure

http://stackoverflow.com/questions/15694724/shards-and-replicas-in-elasticsearch

Index

shards

replica

Page 20: Logs management

elasticsearchData Structure

http://stackoverflow.com/questions/15694724/shards-and-replicas-in-elasticsearch

Index

shards

replica

Page 21: Logs management

elasticsearchData Structure

http://stackoverflow.com/questions/15694724/shards-and-replicas-in-elasticsearch

Index

shards

replica

Page 22: Logs management

elasticsearchDemo

http://logs.adform.com:9200/_plugin/bigdeskhttp://logs.adform.com:9200/_plugin/paramedic/

Page 23: Logs management

logflow

Page 24: Logs management

kibana 3

kibana: HTML + JavaScript  kibana: analytics and search interface to timestamped data sets stored in ElasticSearch

kibana: browser connects directly to ElasticSearch

Page 25: Logs management

kibana 3http://logs.adform.com/kibana

Page 26: Logs management

logflow

Page 27: Logs management

logflow

Page 28: Logs management

logflow

Page 29: Logs management

statsDstatsD: NodeJS daemon

statsD: extarcts metrics data and flushes to backend

statsD: counters, timers, gouges

450120553994334844675496

=>

mean_90 496upper_90 844

sum_90 3472upper 994lower 120count 8sum 4466mean 558.2

timers example:

http://blog.pkhamre.com/2012/07/24/understanding-statsd-and-graphite/

Page 30: Logs management

statsD

.NET 4.0 : https://github.com/robbihun/NStatsD.Client

C#: https://github.com/goncalopereira/statsd-csharp-client

.NET: https://github.com/peschuster/graphite-client

.NET 3.5 – 4.5: http://www.nuget.org/packages/StatsdCsharpClient/

https://github.com/etsy/statsd/wiki

clients

Page 31: Logs management

statsD

NStatsD.Client.Current.Increment("testing.increment");NStatsD.Client.Current.Decrement("testing.decrement");NStatsD.Client.Current.Timing("testing.timing", 2345);NStatsD.Client.Current.Gauge("testing.gauge", 45);

https://github.com/robbihun/NStatsD.Client

example

Page 32: Logs management

logflow

Page 33: Logs management

graphite

graphite: highly scalable real-time graphing system graphite: good when you don’t know the names metrics

Page 34: Logs management

graphite

DEMO

web

Page 35: Logs management

graphite

.NET: https://github.com/peschuster/graphite-client

• WCF• MSBuild• ELMAH• SQL Server• PerfCounterMonitor.exe (Graphite.System)

• Performance counters• Event log• IIS Application Pools (with)

clients

Page 36: Logs management

what's next

Page 37: Logs management

what's next

LEARN!!!

Page 38: Logs management

what's nextdashboards

http://techblog.netflix.com/2012/12/hystrix-dashboard-and-turbine.htmlhttp://shopify.github.io/dashing/#widgetshttp://fdietz.github.io/team_dashboard/https://github.com/ripienaar/gdash

Page 39: Logs management