Generalidades de manejo de logs

Post on 23-Jun-2015

428 views 3 download

description

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

Transcript of Generalidades de manejo de logs

Generalidades de manejo de logs

José Marvin Xuya

¿Dónde se originan?

Logstash-forwarder(Lumberjack)

Centralizador local de logs para ser procesados en otro lugar.

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

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" }

}

]

}

Logstash

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

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.

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"

}

}

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.

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.

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

• 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.

• 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.

• Starter Pack.• Query string query:

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

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

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.

Interacción

http://demo.packetbeat.com/

Gracias por su atención