Advertisement
Advertisement

More Related Content

Similar to Elk - Elasticsearch Logstash Kibana stack explained(20)

Advertisement

Elk - Elasticsearch Logstash Kibana stack explained

  1. ELK Elasticsearch Logstash Kibana federico.panini@fazland.com - CTO Federico Panini CTO @ fazland.com email : federico.panini@fazland.com linkedIn : https://uk.linkedin.com/in/federicopanini slides : http://www.slideshare.net/FedericoPanini
  2. Il dominio del nostro problema #1 essere in grado di avere informazioni utili dai files di log. federico.panini@fazland.com - CTO
  3. Il dominio del nostro problema #2 essere in grado di avere informazioni utili dai files di log. federico.panini@fazland.com - CTO
  4. Il dominio del nostro problema #3 essere in grado di avere informazioni utili dai files di log. federico.panini@fazland.com - CTO In questa semplice infrastruttura sono presenti un buon numero di servizi ed applicativi. Ogni istanza avrà sicuramente un file syslog ed un auth.log che voglio tenere sotto controllo HTTP : nginx : access.log error.log web app: app.log MongoDB : mongo.log Memcached : memcached.log
  5. Il dominio del nostro problema #4 essere in grado di avere informazioni utili dai files di log. federico.panini@fazland.com - CTO Già con pochi servers il numero di logs da dover controllare e gestire è abbastanza elevato 12 file di logs !!!(2 web srv in load balanding)
  6. q mmmmmmm….
  7. Il dominio del nostro problema #5 essere in grado di avere informazioni utili dai files di log. federico.panini@fazland.com - CTO In una soluzione scalabile il numero di macchine in parallelo può aumentare… questo implica un aumento repentino del numero di files di log da dover gestire…..
  8. Il dominio del nostro problema Ricapitoliamo federico.panini@fazland.com - CTO 1. Gestione di un numero elevato di logs 2. Necessità di dover centralizzare la gestione dei log files 3. Rendere i logs più facilmente interpretabili e comprensibili 1. per i devs 2. e perchè no anche al business
  9. I file di logs sono una miniera inesauribile di informazioni! Ricapitoliamo federico.panini@fazland.com - CTO 1. Sono dati reali 2. Sono le informazioni sul comportamento della vs applicazione 3. Sono le informazioni sul comportamento dei vs utenti DOVETE POTERLI LEGGERE!
  10. Logs ? Cosa sono ? #1 federico.panini@fazland.com - CTO I file di logs sono tipi di dato strutturati, solitamente in files di testo. Sono utilizzati per poter registrare le azioni di un applicazione, un servizio, un elemento di rete. Il vero problema dei logs è la loro natura del tutto eterogenea tra loro. A seconda del servizio il file di conterrà dati spesso molto differenti tra loro….
  11. Logs ? Cosa sono ? #2 federico.panini@fazland.com - CTO [15/Jun/2015:15:00:29 +0000] "GET / HTTP/1.1" 301 178 "-" "Mozilla/5.0 (Windows NT 6.1; WOW.. TIME TEXT
  12. federico.panini@fazland.com - CTO
  13. A cosa servono ? federico.panini@fazland.com - CTO Log è un termine comunemente usato nell'informatica, specie in ambito sistemistico, per indicare: 1) la registrazione sequenziale e cronologica delle operazioni effettuate, da un utente, un amministratore o automatizzate, man mano che vengono eseguite dal sistema o applicazione; 2) il file o insieme di file su cui tali registrazioni sono memorizzate ed eventualmente accedute in fase di analisi dei dati, detto anche registro eventi.
  14. logs : quali vantaggi ? federico.panini@fazland.com - CTO 1.Registrare eventi 2.Registrare eventi informativi / errori 1.eventi informativi : flusso normale applicativo 2.eventi negativi : errori
  15. Tipi di logs : Logs di sistema federico.panini@fazland.com - CTO generati dal sistema operativo… auth.log, syslog etc…
  16. Tipi di logs : logs applicativi federico.panini@fazland.com - CTO generati dallo stack del proprio applicativo o dall’applicativo stesso : nginx, apache, mysql, 
 tomcat, framework come symfony, ruby on rails, php …. etc.
  17. cosa fare ??? federico.panini@fazland.com - CTO
  18. TAIL ?!?!? federico.panini@fazland.com - CTO Siete sicuri !?!?
  19. Sicuri Sicuri ??????? federico.panini@fazland.com - CTO
  20. Sicuri Sicuri ??????? Questo approccio non è SCALABILE !! federico.panini@fazland.com - CTO e poi provate a sentire cosa ne pensano quelli del marketing….
  21. NAGIOS federico.panini@fazland.com - CTO Nagios è un ottima soluzione open source, che permette di controllare la propria infrastruttura IT e di definire delle soglie di alert per poter intervenire in tempo nel caso si verifichino errori.
  22. NAGIOS federico.panini@fazland.com - CTO cosa può fare : • Monitor servizi di rete (SMTP, POP3, HTTP, NNTP, ICMP, SNMP, FTP, SSH) • Monitor risorse host (carico CPU, utilizzo disco, system logs) • Monitor temperatura della cpu , allarmi di sistema. • Monitoring via remotely run scripts via Nagios Remote Plugin Executor • Remote monitoring sfruttando SSH o SSL tunneling • Facilità di implementare plugin custom in moltissimi linguaggi di programmazione • Plugins per la generazione di grafici • Servizi di alert via SMS, Email
  23. MONIT federico.panini@fazland.com - CTO Monit è un tool open source per gestire e monitorare sistemi Unix. Una delle feature interessanti di Monit è che può essere configurato per “reagire” al verificare di certi eventi e cercare di correggere un comportamento erroneo di un servizio Unix. Esempio : Se sendmail non risponde Monit può eseguirne il restart. Se Apache è sta usando troppe risorse potrebbe essere in corso un attacco DDOS: Monit può riavviare il servizio e “bannare” l’IP dell’ipotetico attacker.
  24. GRAYLOG 2 federico.panini@fazland.com - CTO Graylog2 è una soluzione di altissimo livello e forse l’unica tra quelle citate a competere direttamente con Kibana. Allo stesso modo di Kibana+Logstash , Graylog2 è in grado di utilizzare Elasticsearch per indicizzare i dati e questo è certamente un plus rispetto ad altri concorrenti. Rispetto a Kibana è più veloce nella gestione dei log e su grossi moli di dati questo, vi renderete conto, è un bel vantaggio. Logstash risulta di gran lunga più potente nel parsing dei file e permette maggiori margini di “manovra”. Allo stesso tempo Logstash risulta essere più lento.
  25. GRAYLOG 2 #2 federico.panini@fazland.com - CTO Vantaggi Graylog vs Kibana: - autenticazione multiutente - alert pro-attivi per determinati tipi di evento.
  26. Molto altro federico.panini@fazland.com - CTO - Collectd - statsd - ganglia - Fluentd - e molte altre soluzioni…
  27. ELK Robusto / Open source / accessibile federico.panini@fazland.com - CTO
  28. Elasticsearch full text search engine federico.panini@fazland.com - CTO 1. full text search engine 2. Basato Apache Lucene 3. Veloce 4. Java 5. Open Source
  29. Logstash aggrega, normalizza log files federico.panini@fazland.com - CTO 1. Aggregatore di logs. 2. Normalizza tipi di dato e logs. 3. Facilmente personalizzabile. 4. Possibilità di creare plugins per i propri dati.
  30. Kibana visualizza i tuoi dati federico.panini@fazland.com - CTO 1. Effettua ricerche sui file di log velocemente. 2. Organizza i risultati delle ricerche in oggetti 3. Inserisci i tuoi oggetti in dashboards.
  31. Kibana #1 visualizza i tuoi dati federico.panini@fazland.com - CTO
  32. Kibana #2 visualizza i tuoi dati federico.panini@fazland.com - CTO
  33. Logstash federico.panini@fazland.com - CTO 1. Leggi i files di logs 2. Normalizza i dati 3. Esporta i dati normalizzati in una sorgente dati
  34. Logstash federico.panini@fazland.com - CTO Il segreto dello stack ELK risiede in buona parte in Logstash: questo tool è fondamentale per poter manipolare, normalizzare ed importare in Elasticsearch i file di log.
  35. Logstash federico.panini@fazland.com - CTO Logstash è spesso paragonato ad una Pipeline unix Input —> Filter —> Output
  36. Logstash Input : generano gli eventi federico.panini@fazland.com - CTO couchdb_changes drupal_dblog elasticsearch exec eventlog file ganglia gelf generator graphite github heartbeat heroku irc imap jmx kafka log4j lumberjack meetup pipe puppet_facter relp rss rackspace rabbitmq redis snmptrap stdin sqlite s3 sqs stomp syslog tcp twitter unix udp varnishlog wmi websocket xmpp zenoss zeromq 44 INPUTS
  37. Logstash Filters : manipolano eventi generati in input federico.panini@fazland.com - CTO alter anonymize collate csv cidr clone cipher checksum date dns drop elasticsearch extractnumbers environment elapsed fingerprint geoip grok i18n json json_encode kv mutate metrics multiline metaevent prune punct ruby range syslog_pri sleep split throttle translate uuid urldecode useragent xml zeromq 40 FILTERS
  38. Logstash Output : manipolano eventi generati in input federico.panini@fazland.com - CTO 54 OUTPUT boundary circonus csv cloudwatch datadog datadog_metrics email elasticsearch exec file google_bigquery google_cloud_storage ganglia gelf graphtastic graphite hipchat http irc websocket xmpp zabbix zeromq influxdb juggernaut jira kafka lumberjack librato loggly mongodb metriccatcher nagios null nagios_nsca opentsdb pagerduty pipe riemann redmine rackspace rabbitmq redis riak s3 sqs stomp statsd solr_http sns syslog stdout tcp udp
  39. Logstash configurazione federico.panini@fazland.com - CTO input { —> definisce l’input per i files di logs } filter { —> definisce come normalizzare i logs } output { —> esporta i logs normalizzati in una sorgente }
  40. Logstash INPUT federico.panini@fazland.com - CTO input { —> definisce l’input per i files di logs }
  41. Logstash FILTERS federico.panini@fazland.com - CTO filter { —> definisce l’input per i files di logs }
  42. Logstash OUTPUT federico.panini@fazland.com - CTO output { —> definisce l’input per i files di logs }
  43. Logstash retention dei dati federico.panini@fazland.com - CTO I filtri di output possono essere molteplici : export su elasticsearch export su AWS S3 E’ possibile utilizzare elasticsearch con i dati degli ultimi n mesi ed allo stesso tempo averli tutti quanti salvati in un altro repository come per esempio S3.
  44. Logstash federico.panini@fazland.com - CTO
  45. ELK federico.panini@fazland.com - CTO DEMO TIME !
  46. Logstash - Plus federico.panini@fazland.com - CTO https://moz.com/blog/technical-seo-log-analysis
  47. References • Monit : https://mmonit.com/monit/ • Nagios : https://www.nagios.org/ • statsd : https://codeascraft.com/2011/02/15/measure-anything- measure-everything/ • collectd : https://collectd.org/ • ganglia : http://ganglia.sourceforge.net/ • fluentd: http://www.fluentd.org/ • graylog2 : https://www.graylog.org/ • ELK : • elasticsearch: https://www.elastic.co/ • kibana: https://www.elastic.co/products/kibana • logstash: https://www.elastic.co/products/logstash • https://www.youtube.com/watch?v=RuUFnog29M4 federico.panini@fazland.com - CTO

Editor's Notes

  1. agent:(bingbot,msnbot,googlebot,nekstbot,w2gbot,AhrefsBot,ia_archive,facebookexternalhit,AdsBot-Google) && response:(40* OR 500) 14:45 + 1 min 45min di talk ora demo 16:58:57 fino a : 17:05 16+45+7 = 68
  2. federico presentations
  3. federico presentations
  4. federico presentations
  5. federico presentations
  6. federico presentations
  7. federico presentations
  8. federico presentations
  9. federico presentations
  10. federico presentations
  11. federico presentations
  12. federico presentations
  13. federico presentations
  14. federico presentations
  15. federico presentations
  16. federico presentations
  17. federico presentations
  18. federico presentations
  19. federico presentations
  20. federico presentations
  21. federico presentations
  22. federico presentations
  23. federico presentations
  24. federico presentations
  25. federico presentations
  26. federico presentations
  27. federico presentations
  28. federico presentations
  29. federico presentations
  30. federico presentations
  31. federico presentations
  32. federico presentations
  33. federico presentations
  34. federico presentations
  35. federico presentations
  36. federico presentations
  37. federico presentations
  38. federico presentations
  39. federico presentations
  40. federico presentations
  41. federico presentations
  42. federico presentations
  43. federico presentations
  44. federico presentations
  45. federico presentations
Advertisement