16
Introducing (B)ELK stack Introducing (B)ELK stack B B eats eats E E lasticSearch lasticSearch L L ogStash ogStash K K ibana ibana Bart Van Bos - 11/07/2016

Introducing ELK

  • Upload
    rombit

  • View
    174

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Introducing ELK

Introducing (B)ELK stackIntroducing (B)ELK stack

BBeatseatsEElasticSearchlasticSearch

LLogStashogStashKKibanaibana

Bart Van Bos - 11/07/2016

Page 2: Introducing ELK

(B)ELK – General Terminology(B)ELK – General Terminology● Beats - ElasticSearch – LogStash – Kibana

Page 3: Introducing ELK

(B)ELK – Functional Flow(B)ELK – Functional Flow● Back pressure – buffer points (Kafka) !!!

Page 4: Introducing ELK

(B)ELK – Architecture(B)ELK – Architecture● ELK Architecture @ LinkedIn

– Ref: http://www.slideshare.net/TinLe1/elk-atlinked-in

Page 5: Introducing ELK

Step 1 – BeatsStep 1 – Beats● Beats are lightweight shippers for (log) data● Packetbeats for analysing complex distributed

applications and troubleshooting● Topbeats for shipping resource utilization

metrics● Filebeats for shipping log files● Community beats

– httpbeat, pingbeat, apachebeat, dockerbeat, nginxbeat, uwsgibeat, phpfpmbeat

Page 6: Introducing ELK

Step 1 – Beats – PacketbeatsStep 1 – Beats – Packetbeats● Packetbeat use cases (example demo here)

– REST API monitoring: response times, HTTP error codes, …

– DB monitoring: 10 slowest SQL queries

● Protocol support: DNS, HTTP, MySQL, PgSQL, MongoDB, Memcache, Redis, Thrift-RPC

Page 7: Introducing ELK

Step 1 – Beats – PacketbeatsStep 1 – Beats – Packetbeats● Packetbeat caveat – performance impact● Traffic capturing options

– pcap / af_packet / pf_ring: use af_packet on AWS!

– memory mapped sniffing

– 200k packets per second before dropping packets

Page 8: Introducing ELK

Step 1 – Beats – TopbeatsStep 1 – Beats – Topbeats● Topbeat use cases

– System wide stats: hooked onto the Linux top command for system load, used/idle times, free/used memory

– Per process stats: Process name, PID, CPU time, memory size

– File system stats: Device name, mount point, available disk space, used disk space

Page 9: Introducing ELK

Step 1 – Beats – FilebeatsStep 1 – Beats – Filebeats● Filebeat components

Page 10: Introducing ELK

Step 1 – Beats – FilebeatsStep 1 – Beats – Filebeats● Filebeat properties

● Send at least once by confirmation● Handles log rotation● Last reading state in case you restart your

system of LogStash is not reachable => upon revive it will send all missing logs

● By default send new log lines every 10 seconds

Page 11: Introducing ELK

Step 2 – LogStash – IntroductionStep 2 – LogStash – Introduction● LogStash functional flow

– Inputs: beats, syslog, stdin, S3, Redis, Kafka, ...

– Filters: using GROK (regex templating)

– Outputs: ElasticSearch, eMail, exec, Redis, Kafka, Zabbix, ...

Page 12: Introducing ELK

Step 2 – LogStash – TipsStep 2 – LogStash – Tips● LogStash Tips

– Check predefined GROK patterns (don’t re-invent the wheel)

● http://grokconstructor.appspot.com/groklib/grok-patterns

– Use online tool to test your GROK filters!● http://grokconstructor.appspot.com/do/match

– Don’t forget the Kibana re-indexing feature before making new visualizations!

● https://rafaelmt.net/en/2015/09/01/kibana-tutorial/#refresh-fields

– Keep logstash configuration files (c)lean

Page 13: Introducing ELK

Step 2 – LogStash – ConfigurationStep 2 – LogStash – Configuration● LogStash: configuration example

Page 14: Introducing ELK

Step 3 – ElasticSearchStep 3 – ElasticSearch● ElasticSearch

– Distributed, open source search and analytics engine

– Uses JSON Documents, is schema-less and RESTful

– Based on Lucene (Java): reverse indexing

– Performance profile:● Slow in write (re-indexing) ● Fast in read => analysis

Page 15: Introducing ELK

Step 4 – KibanaStep 4 – Kibana● Kibana

– Open source data visualization platform

– Interact with your data through powerful graphics

– Ongoing battle against Apache Solr

● Kibana dashboards per client => a 4x win– DevOps (ssh/grep/alerting)

– Developers (performance analysis, API optimization)

– PM (pro-active vs. fire extinguishing)

– Customers => new revenue streams! ● Technical SEO ● Business Intelligence

Page 16: Introducing ELK

DEMO TIMEDEMO TIME

Bart Van Bos - 11/07/2016