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

Elastic stack: Desde obtención de datos, hasta ...

Avatar for Ismael Ismael
April 18, 2018

Elastic stack: Desde obtención de datos, hasta visualización y análisis

A guided Spanish tour of the Elastic Stack, from data gathering to visualization, to finally stop by common architectures.

Avatar for Ismael

Ismael

April 18, 2018

Other Decks in Technology

Transcript

  1. El stack de Elastic Desde datos sin tratar hasta análisis

    Calentando motores 1 Elasticsearch 3 Visualizando datos 4 Crecimiento 5 Enviando datos a Elasticsearch 2
  2. El stack de Elastic Desde datos sin tratar hasta análisis

    Calentando motores 1 Elasticsearch 3 Visualizando datos 4 Crecimiento 5 Enviando datos a Elasticsearch 2
  3. El stack de Elastic Desde datos sin tratar hasta análisis

    Calentando motores 1 Elasticsearch 3 Visualizando datos 4 Crecimiento 5 Enviando datos a Elasticsearch 2
  4. Enviando datos a Elasticsearch Beats – qué son Beats Lightweight

    data shippers Escritos en GO Sin procesado: simplemente, enviar datos
  5. Enviando datos a Elasticsearch Beats – leyendo de fuentes típicas

    FILEBEAT Logs METRICBEAT Métricas PACKETBEAT Datos de red WINLOGBEAT Eventos de Windows HEARTBEAT Aplicación UP
  6. Enviando datos a Elasticsearch Beats – la comunidad es muy

    activa! • UDP • Nginx • Nvidia GPU • Docker • MySQL • … y muchos más!
  7. Enviando datos a Elasticsearch Beats – Ejemplo de configuración #

    All defaults – example focused in HTTP/HTTPS traffic # We define the interface to inspect packetbeat.interfaces.device: 0 # We define the output; for illustrative purposes, to # a file. output.file: path: "D:\\packetbeatresults" filename: packetbeat rotate_every_kb: 100000 number_of_files: 500
  8. Enviando datos a Elasticsearch Beats – Ejemplo de resultado {

    "@timestamp": "2017-06-07T06:48:41.483Z", "beat": { "hostname": "DESKTOP-I0VERPV", "name": "DESKTOP-I0VERPV", "version": "5.4.1" }, "bytes_in": 33, "bytes_out": 102, ……………… "status": "OK", "transport": "udp", "type": "dns"
  9. Enviando datos a Elasticsearch Logstash – Leyendo datos • HTTP

    • Colas (Kafka, Redis...) • Beats • Archivo • Twitter • JDBC • … más de 20 inputs oficiales … • … y muchos creados por la comunidad!
  10. Enviando datos a Elasticsearch Logstash – modificando la información •

    aggregate • dns • geoIP • jdbc_streaming • grok • … y de nuevo, muchos más!
  11. Enviando datos a Elasticsearch Logstash – enviando información • Elasticsearch

    • e-mail • http • colas • … y como siempre, muchos más! … • … y no más diapositivas con listados!!
  12. El stack de Elastic Desde datos sin tratar hasta análisis

    Calentando motores 1 Elasticsearch 3 Visualizando datos 4 Crecimiento 5 Enviando datos a Elasticsearch 2
  13. Elasticsearch Lo básico { "date": "2008-01-30T23:00:00.000Z", "expectedarrival": "2008-01-31T19:10:00.000Z", "expecteddeparture": "2008-01-31T18:15:00.000Z",

    "arrival": "2008-01-31T19:46:00.000Z", "departure": "2008-01-31T18:55:00.000Z", "arrivaldelay": 36, "departuredelay": 40, "carrier": "AA", "origin": "DFW", "destination": "OKC", "distance": 175, "cancelled": false, "cancellationcode": "", "diverted": false, "carrierdelay": 5, "weatherdelay": 9, "nasdelay": 0, "securitydelay": 0, "lateaircraftdelay": 22 } Lucene Java Rest + JSON
  14. Elasticsearch You know, for search { ..., "hits": { "total":

    71416, "max_score": 4.090544, "hits": [{ "_index": "flights-2008", "_type": "flight", "_id": "513213", "_score": 4.090544, "_source": { "origin": "JFK", "destination": "SJU", "departure": "2008-01-09T06:58:00.000Z" }, "highlight": { "origin": [ "<em>JFK</em>" ] } }, GET /flights*/_search { "_source": ["origin", "destination", "departure"], "query": { "term": { "origin": "jfk" } }, "size": 2, "highlight": { "fields": { "origin": {} } } }
  15. Elasticsearch Agregaciones típicas "aggregations": { "Destinations by average delay": {

    "doc_count_error_upper_bound": -1, "sum_other_doc_count": 548905, "buckets": [ { "key": "GSP", "doc_count": 1, "Average delay": { "value": 179 } }, { "key": "SAV", "doc_count": 3, "Average delay": { "value": 125.33333333333333 } } GET /flights*/_search { ….. "aggs": { "Destinations by average delay": { "terms": { "field": "destination.keyword" }, "aggs": { "Destinations by average delay": { "avg": { "field": "arrivaldelay" } } } } } }
  16. Elasticsearch Agregaciones especializadas "aggregations": { "Carriers": { "doc_count": 548991, "buckets":

    [ { "key": "B6", "doc_count": 230196, "score": 8.056658034204538, "bg_count": 744157 }, { "key": "OH", "doc_count": 81150, "score": 0.3875384985186123, "bg_count": 1464176 }, GET /flights*/_search { "query": { "term" : { "origin" : "jfk" } }, "size":0, "aggregations" : { "Carriers" : { "significant_terms" : { "field" : "carrier.keyword" } } } }
  17. El stack de Elastic Desde datos sin tratar hasta análisis

    Calentando motores 1 Elasticsearch 3 Visualizando datos 4 Crecimiento 5 Enviando datos a Elasticsearch 2
  18. El stack de Elastic Desde datos sin tratar hasta análisis

    Calentando motores 1 Elasticsearch 3 Visualizando datos 4 Crecimiento 5 Enviando datos a Elasticsearch 2