Generalidades de manejo de logs

18
Generalidades de manejo de logs José Marvin Xuya

description

Conceptos básicos para el manejo de Logs utilizando Logstash-forwarder, Logstash, Elasticsearch y Kibana.

Transcript of Generalidades de manejo de logs

Page 1: Generalidades de manejo de logs

Generalidades de manejo de logs

José Marvin Xuya

Page 2: Generalidades de manejo de logs

¿Dónde se originan?

Page 3: Generalidades de manejo de logs

Logstash-forwarder(Lumberjack)

Centralizador local de logs para ser procesados en otro lugar.

https://github.com/elasticsearch/logstash-forwarder

Page 4: Generalidades de manejo de logs

Logstash-forwarder(Lumberjack)

{

"network": {

"servers": [" servidor:1234"],

"ssl certificate": "/path/logstash-forwarder.crt",

"ssl key": "/path/logstash-forwarder.key"

},

"files": [

{

"paths": [ "/path/logfile.log"],

"fields": { "type": “rubylogs",

"app": "my_application" }

}

]

}

Page 5: Generalidades de manejo de logs

Logstash

Centraliza logs y otros eventos de nuestros servidores a una ubicación donde podamos almacenarlos para poder analizarlos.

Page 6: Generalidades de manejo de logs

Logstash

Input: mecanismos para el paso de información.

lumberjack, syslog (RFTC3164 format), file.

Filter: proceso intermedio.

drop (ej - debug ), grok (estructuración), geoip (Info. geográfica)

Output: fase final, guardar la información.

elasticsearch, file, graphite.

Page 7: Generalidades de manejo de logs

Logstash

input {

lumberjack {

port => 1234

certificate => "/path/logstash-forwarder.crt"

key => "/path/logstash-forwarder.key"

}

}

filter {

if [app] == "my_application" {

grok {

match => [ "message", "%{RUBY_LOGLEVEL:loglevel}" ]

}

}

}

output{

stdout { }

elasticsearch {

cluster => "log_data"

index => "my_app-%{+YYYY.MM.dd.HH}"

index_type => "my_application"

}

}

Page 8: Generalidades de manejo de logs

Permite almacenar, buscar y analizar grandes volúmenes de datos de forma rápida y en tiempo casi real.

Utilizado fundamentalmente como el motor de aplicaciones de búsqueda y aplicaciones con requisitos complejos.

Page 9: Generalidades de manejo de logs

Hecho en Java, permite agregar la funcionalidad de busqueda a aplicaciones o sitios web.

Su fuente de contenido puede ser de bases de datos SQL o NoSQL, archivos de sistema o bien sitios web.

Permite la ejecución de consultas a indices.

Page 10: Generalidades de manejo de logs

• Escalable.• Motor analítico • Motor de búsqueda de texto

Page 11: Generalidades de manejo de logs

• Cluster: • Se compone de nodos. • Nodos maestro e hijos.

• Nodo:• Instancia.• Uno por servidor• Descubrimiento y unión a cluster con su mismo nombre.

• Índice:• Visto desde el punto de vista de una base de datos

relacional es una base de datos.

Page 12: Generalidades de manejo de logs

• Shard (fragmento):• Instancia de Lucene (nivel bajo).• Manejado automáticamente por elasticsearch.

• Shard primario:• Almacena los documentos.• Un índice por defecto tiene 5 shards primarios.• No pueden modificarse una vez son definidos.

• Shard copia (replica):• Back-up.• Un shard secundario puede pasar a ser primario de forma

automática.• Manejo dinámico en un índice.

Page 13: Generalidades de manejo de logs

• Starter Pack.• Query string query:

{    "query_string" : {        "default_field" : "content",        "query" : "this AND that OR thus"    }}

Page 14: Generalidades de manejo de logs

Elaborado principalmente para el análisis de logs, es un buscador analítico e interfaz de búsqueda para Elasticsearch.

Page 15: Generalidades de manejo de logs

Interacción

Logstash se utilizar para recolectar los logs, convertirlos en formato json y almacenarlos en un cluster de Elasticsearch.

Kibana es la interfaz final para el despliegue de la información almacenada en los clusters de Elasticsearch.

Page 16: Generalidades de manejo de logs

Interacción

http://demo.packetbeat.com/

Page 18: Generalidades de manejo de logs

Gracias por su atención