log management

19
LOG MANAGEMENT SDN

Upload: martin-cabrera

Post on 14-Jul-2015

191 views

Category:

Technology


3 download

TRANSCRIPT

LOG MANAGEMENT SDN

www.linkedin.com/in/cabreramartin/es

slideshare.net/martinjcabrera

ING. MARTIN J. CABRERAProfesional en Telecomunicaciones y Tecnología de la InformaciónPerito informático Forense - Poder Judicial de la Nación

Master Business Administration (MBA) – Universidad CEMA.Ingeniero en Sistemas de Información – Universidad Abierta Interamericana.

AREAS DE TRABAJO Y RESEARCHNetworking y Sistemas de Información.Gestión de Servicios tecnológicos.Sistema de Gestión de Seguridad (SGSI).Desarrollo de planes de inversión para proyectos tecnológicos.Informática Forense.Delitos Informáticos.

Actualmente colaboro en la publicación de artículos en portales de divulgación tecnológica del sector. Poseo experiencia en presentaciones de proyectos tecnológicas para compañías privadas y presentaciones de tendencias tecnológicas en eventos locales de la industria.

#WHOAMI

PROBLEMÁTICA ACTUAL

LOG MANAGEMENT ≠ EVENT MANAGEMENT

o Estatico

o Múltiples formatos de logs

o Grandes volúmenes de información = Limite de historial

o Limitaciones de almacenamiento

o Análisis de logs = No hay una forma fácil de buscar

o Sistemas propietarios = Logs propietarios

o Diferentes tipos de logs son tratados iguales:

o Error logs

o Transaction logs

o Trace logs

o Warnings logs

o Debugs logs

o Escalable – Redundante - Seguro

NECESIDADES DE LOGGING ACTUALES

o Multiple Input / Multiple Output

o Centralización de logs

o Troubleshooting issues

o Eventos de red

o Sistemas de gestión

o Posibilidad de ejecutar acciones en base a eventos

o Security

o Análisis de logs para la detección de comportamientos sospechosos

o Detección de intrusiones – Malware activity

o Unautorized resourse usage

o Monitoring

o Monitoreo de utilización de recursos

o Capacity planning

o Estadisticas/Metricas de utilizacion de recursos

o Developers Logging

o Nuevos formatos: xml, json, tweet

o Integración con sistemas de gestión operativos

o Dashboard: métricas – estadísticas – panel de control

LOGGING

ARQUITECTURA

SYSLOGS

Servers, routers, firewalls…

ACCESSLOG

Apache webservers

LOG EVENT

Java webapplications (JVM)

BROKER

APP APP

APP APP

FORWARDER

INDEXER VISUALIZE

Search & Storage

Real time reports, dashboards, plots,alerts

grok, mutate, multiline, csv, anonymize, etc

lumberjack

SSL

LOGGING

PLUGING

BENCHMARKING

Logstash

http://www.logstash.netgraphite

http://graphite.wikidot.com/Fluentd

www.fluentd.org/Beaver

github.com/josegonzalez/beaverLogstash-Forwarder

github.com/elasticsearch/logstash-forwarderWoodchuck

github.com/danryan/woodchuckSYSLOG

http://rsyslog.comHeka

http://hekad.readthedocs.org/en/latest/Collectd

https://collectd.org/ElasticSearch

http://www.elasticsearch.com/

SaaS

Cloud log Management service

Loggly

https://www.loggly.com/Papertrail

https://papertrailapp.com/Splunk

http://es.splunk.com/LogEntries

https://logentries.com/

HTTP-URL-monitoring

Pingdom

https://www.pingdom.com

Cloud Monitoring Service

DataDog

https://www.datadoghq.com/Circonus

http://www.circonus.com/Librato

https://metrics.librato.com/

Dashboad

Grafana

http://grafana.org/

Kivana

http://www.elasticsearch.org/overview/kibana/

heroku

http://dashingdemo.herokuapp.com/sample

Atlasboard

http://atlasboard.bitbucket.org/

Gdash

http://www.devco.net/archives/2011/10/08/gdash-graphite-dashboard.php

Giraffe

http://kenhub.github.io/giraffe/#dashboard=Demo&timeFrame=1d

OPEN SOURCE

VCENTER

DASHBOARD - GRAFANA

DASHBOARD - KIVANA

LOGSTASH

https://github.com/elasticsearch/logstash/doc

Herramienta para la recolección, procesamiento y envió de logs.

Permite la implementación de un sistema redundante y distribuido mediante la

utilización de módulos independientes y redundantes entre si.

Collects logs

Parses logs

Stores logs

Indexes logs

Busqueda y filtrado de logs

Inputs: Server logs, snmp events, windows event, iptables, Routers syslogs,

databases, Netflow, rsyslogs via tcp/udp

+60 codecs

Filters: csv, geoip, grok, mutate, etc

Outputs: elasticsearch, email, exec, mongodb, rabbitmq, redis, etc

Each must have at least an input, filter, or output stanza

from syslog and normalize duration to milliseconds

http://www.logstash.net/

LOG PLUGINS

# with an input plugin:# you can also use this codec with an output.input { file {codec => collectd {authfile => ... # string (optional)nan_handling => ... # string, one of ["change_value", "warn", "drop"] (optional), default:

"change_value"nan_tag => ... # string (optional), default: "_collectdNaN"nan_value => ... # number (optional), default: 0prune_intervals => ... # boolean (optional), default: truesecurity_level => ... # string, one of ["None", "Sign", "Encrypt"] (optional), default: "None"typesdb => ... # array (optional)

}}

}

https://github.com/elasticsearch/logstash/blob/v1.4.2/lib/logstash/codecs/collectd.rb

ELASTICSEARCH

ElasticSearch es una herramienta opensource de búsqueda y análisis de información en

tiempo real.

Sistema redundante

Alta disponibilidad

Multi-tenancy

http://www.elasticsearch.com/

GROK

Es una herramienta de análisis semántico que permite el uso de expresiones regulares para el

`parseo´, filtrado y posterior tratamiento de información.

raw log:

Aug 2 13:29:58 pixl-ram sshd[1631]: Accepted publickey for ram from 192.168.30.1 port 49864 ssh2

non parsed:

{“text“: “Aug 2 13:29:58 pixl-ram sshd[1631]: Accepted publickey for ram from 192.168.30.1 port 49864 ssh2”}

Ejemplo de grok en logstash

{“text“: “Aug 2 13:29:58 pixl-ram sshd[1631]: Accepted publickey for ram from 192.168.30.1 port 49864 ssh2”, “time”: “Aug 2 13:29:58”, “host”: “pixl-ram”, ”process”: “sshd”, “pid”: 1631}

Busqueda: time > “Aug 1 2014”

Herramienta Online de parseo:

http://grokdebug.herokuapp.com/http://grokconstructor.appspot.com/

KIBANA

Herramienta de análisis y visualización de información procesada y guardada en

elasticsearch

HTML + JavaScript

./bin/logstash web -a ADDRESS -p PORT

COLLECTD

Collect, es una herramienta que permite capturar ciertas estadísticas del sistema y vuelca estos

datos en una gráfica.

Una de su principal característica es que a diferencia de otros sistemas similares collect no utiliza

crontab para colectar estos datos, sino que cuenta con su propio demonio para dicho propósito.

http://collectd.org/

ANEXOS

RRD is great, and initially Graphite did use RRD for storage. Over time though, we ran into several issues

inherent to RRD's design.

1.RRD can't take updates for a timestamp prior to its most recent update. So for example, if you miss an

update for some reason you have no simple way of back-filling your RRD file by telling rrdtool to apply an

update to the past. Whisper does not have this limitation, and this makes importing historical data into

Graphite way way easier.

2.At the time whisper was written, RRD did not support compacting multiple updates into a single operation.

This feature is critical to Graphite's scalability.

3.RRD doesn't like irregular updates. If you update an RRD but don't follow up another update soon, your

original update will be lost. This is the straw that broke the camel's back, since Graphite is used for various

operational metrics, some of which do not occur regularly (randomly occuring errors for instance) we started to

notice that Graphite sometimes wouldn't display data points which we knew existed because we'd received

alarms on them from other tools. The problem turned out to be that RRD was dropping the data points

because they were irregular. Whisper had to be written to ensure that all data was reliably stored and

accessible.

PORQUE USAR RRD COMO DB?