Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Log Management


Published on

Necesidades Operativas para la gestión de infraestructura mediante el análisis de logs

Published in: Technology
  • Be the first to comment

Log Management

  2. 2. ING. MARTIN J. CABRERA Profesional en Telecomunicaciones y Tecnología de la Información Perito informático Forense -Poder Judicial de la Nación MasterBusiness Administration(MBA) –Universidad CEMA. Ingeniero en Sistemas de Información –Universidad Abierta Interamericana. AREAS DE TRABAJO Y RESEARCH Networkingy 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
  3. 3. PROBLEMÁTICA ACTUAL LOG MANAGEMENT ≠ EVENT MANAGEMENT oEstatico oMúltiples formatos de logs oGrandes volúmenes de información = Limite de historial oLimitaciones de almacenamiento oAnálisis de logs= No hay una forma fácil de buscar oSistemas propietarios = Logs propietarios oDiferentes tipos de logsson tratados iguales: oError logs oTransactionlogs oTrace logs oWarningslogs oDebugslogs oEscalable –Redundante -Seguro
  4. 4. NECESIDADES DE LOGGING ACTUALES oMultipleInput / MultipleOutput oCentralización de logs oTroubleshootingissues oEventos de red oSistemas de gestión oPosibilidad de ejecutar acciones en base a eventos oSecurity oAnálisis de logspara la detección de comportamientos sospechosos oDetección de intrusiones –Malware activity oUnautorizedresourseusage oMonitoring oMonitoreo de utilización de recursos oCapacityplanning oEstadisticas/Metricasde utilizacionde recursos oDevelopersLogging oNuevos formatos: xml, json, tweet oIntegración con sistemas de gestión operativos oDashboard: métricas –estadísticas –panel de control LOGGING
  5. 5. 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
  6. 6. BENCHMARKING Logstash graphite Fluentd Beaver Logstash-Forwarder Woodchuck SYSLOG Heka Collectd ElasticSearch SaaS Cloud log Management service Loggly Papertrail Splunk LogEntries HTTP-URL-monitoring Pingdom Cloud MonitoringService DataDog Circonus Librato Dashboad Grafana Kivana heroku Atlasboard Gdash Giraffe OPEN SOURCE
  7. 7. VCENTER
  10. 10. LOGSTASH 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 Busqueday filtradode logs Inputs: Server logs, snmp events, windows event, iptables, Routers syslogs, databases, Netflow, rsyslogsvia 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
  11. 11. LOG PLUGINS # withaninput plugin: # youcan alsouse thiscodecwithanoutput. input { file { codec=> collectd{ authfile=> ... # string(optional) nan_handling=> ... # string, oneof ["change_value", "warn", "drop"] (optional), default: "change_value" nan_tag=> ... # string(optional), default: "_collectdNaN" nan_value=> ... # number(optional), default: 0 prune_intervals=> ... # boolean(optional), default: true security_level=> ... # string, oneof ["None", "Sign", "Encrypt"] (optional), default: "None" typesdb=> ... # array(optional) } } }
  12. 12. ELASTICSEARCH ElasticSearches una herramienta opensourcede búsqueda y análisis de información en tiempo real. Sistema redundante Alta disponibilidad Multi-tenancy
  13. 13. 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 publickeyfor ram from port 49864 ssh2 non parsed: {“text“: “Aug 2 13:29:58 pixl-ram sshd[1631]: Accepted publickeyfor ram from port 49864 ssh2”} Ejemplode grokenlogstash {“text“: “Aug 2 13:29:58 pixl-ram sshd[1631]: Accepted publickeyfor ram from port 49864 ssh2”, “time”: “Aug 2 13:29:58”, “host”: “pixl-ram”, ”process”: “sshd”, “pid”: 1631} Busqueda: time > “Aug 1 2014” HerramientaOnline de parseo:
  14. 14. KIBANA Herramienta de análisis y visualización de información procesada y guardada en elasticsearch HTML + JavaScript ./bin/logstashweb -a ADDRESS -p PORT
  15. 15. 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 collectno utiliza crontabpara colectar estos datos, sino que cuenta con su propio demonio para dicho propósito.
  16. 16. ANEXOS
  17. 17. 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 rrdtoolto apply an update to the past. Whisper does not have this limitation, and this makes importing historical data into Graphite way wayeasier. 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 occuringerrors 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?
  18. 18. Martin Cabrera