SlideShare uma empresa Scribd logo
Análise de Logs
Fluentd/Logstash + elasticsearch + kibana

César Araújo & Tomás Lima
, o que é?

É como o syslogd, mas usa JSON para a troca de mensagens.
, como funciona?
aplicação

app.log

2013-12-18 01:33:51 video=video1.avi
# path=/home/cesar/videos/ #
duration=125s # type=promotional
, como funciona?
aplicação

app.log

fluentd

plugins

storage

2013-12-18 01:33:51 video=video1.avi
# path=/home/cesar/videos/ #
duration=125s # type=promotional
, como funciona?
aplicação

app.log

fluentd

plugins

storage

2013-12-18 01:33:51
myapp.Playlog {
“video”: ”video1.avi”,
“path”: “/home/cesar/videos/”,
“duration”: 125,
“type”: “promotional”
}
, como funciona?
aplicação

fluentd

storage

2013-12-18 01:33:51
myapp.Playlog {
“video”: ”video1.avi”,
“path”: “/home/cesar/videos/”,
“duration”: 125,
“type”: “promotional”
}
, como funciona?
aplicação

Filter/ Buffer / Routing

fluentd

fluentd

fluentd

storage
Plugins
Entrada

, como funciona?
syslogd

scribe

Filter/ Buffer / Routing

Plugins
Saída

fluentd

s3

tail

mondodb

elasticSearch
, como funciona?
mysql

fluentd

fluentd

couchbase

Servidor

apache

fluentd

TEMPO REAL

fluentd

fluentd

fluentd

Servidor 1

Servidor 2

Servidor 3
, como funciona?
timestamp

2013-12-18 01:33:51
myapp.Playlog {
“video”: ”video1.avi”,
“path”: “/home/cesar/videos/”,
“duration”: 125,
“type”: “promotional”
}

atributos

tag
, como funciona?

<source>
type tail
path /var/log/application/terminal.log # Localização do ficheiro do playlog
pos_file /var/log/td-agent/terminal.log.pos # Ficheiro que guarda posição do log
tag xp.terminal # Tag do fluentd para identificação!
format /^(?<time>[^ ]* [^ ]*) ?(?<Thread>[^ ]*) ?(?<TypeOfAlert>[^ ]*)
?(?<Machine>[XP]*[0-9a-fA-F]{12})-?(?<Player>[^ ]*).*filename=
"(?<Filename>[0-9]*.[^"]*).*/
</source>
Fluentd/LogStash + elastic search + kibana
Logstash, o que é?

Gestão de eventos e logs com as seguintes fases:
• Input - Colecção de eventos/logs

• Filter - Análise
• Output – Envio para storage
Logstash, como funciona?
Input

stdin
tcp
udp
syslog
unix

imap
xmpp
irc
redis
sqlite

twitter
elasticsearch
drupal_dblog
Input - Exemplos
input {
file {
type => "syslog"
path => [ "/var/log/messages", "/var/log/syslog", "/var/log/*.log" ]
}
}
input {
redis {
host => "127.0.0.1"
type => "redis-input"
key => "logstash“
message_format => "json_event"
}
}

# “index”
Filter e Codecs

Filters
csv
date
grep
kv
useragent
json

Codecs
json
json_lines
multiline
netflow
plain
Filter - Exemplos
filter {
grok {
type => "syslog"
pattern => "%{SYSLOGLINE}"
}
date {
type => "syslog"
timestamp => "MMM d HH:mm:ss"
timestamp => "MMM dd HH:mm:ss"
timestamp8601 => ISO8601
}
}
Output

stdout
tcp
udp
syslog
xmpp
irc

nagios
elasticsearch
elasticsearch_river
mongodb
redis
Output - Exemplos

output {
stdout { debug => true debug_format => "json"}
redis { host => "logs.i.att.io" data_type => "list" key => "logstash" }
}
output {
stdout { debug => true debug_format => "json"}
elasticsearch { host => "127.0.0.1" }
}
, o que é?

Base de dados em tempo real e sem esquema de dados definido
, como funciona?

Base de dados
Relacional

ElasticSearch

Database

Index

Table

Type

Row

Document

Column

Field

Schema

Mapping
, como funciona?
Cluster : 1 ou mais nodes

Node : em produção 1 node = 1 server

Shard : instância apache lucene.
configura-se internamente no ES
transparente ao nível aplicacional
podem mover-se para outros nodes

Index : é um "namespace"
mapeia um ou mais shards primários
mapeia zero ou mais shards replicas
define o mapping dos campos recebidos como input
, estrutura de dados.

Doc-Type

Index
, estrutura de dados.

Doc-Type

Index

Um index pode ter multiplos tipos
e cada tipo pode ter multiplos
documentos.

Todos os documentos são JSON.

Doc-Type
{…}

{…}

Documento
, estrutura de dados.
{…}

{…}

{…}

{…}
As pesquisas podem conter multiplos indices

{…}

{…}

{…}

{…}
, como pesquisar?
RESTfull

GET

POST

PUT

DELETE
, mapping?
curl -XPUT 127.0.0.1:9200/_template/myindex -d '
{
"template" : "*",
"order" : 10,
"settings" : {
"number_of_shards" : 1,
"number_of_replicas" : 1
},
"mappings" : {
"_default_" : {
"properties" : {
"source_time" : { "type": "date" },
"type" : { "type": "string", "index": "not_analyzed" },
"event_hash" : { "type": "string", "index": "not_analyzed" },
"ip" : { "type" : "string", "index": "not_analyzed" },
"asn" : { "type" : "integer"},
"cc" : { "type": "string", "index": "not_analyzed" },
"url" : { "type": "string", "index": "not_analyzed" },
}
}
}
}
, como inserir?
PUT /index/type/id

Conteúdo

O quê
Onde
Acção
, como inserir?
PUT /index/type/id
Curl –XPUT „http://192.168.2.6:9200/twitter_dev/tweet/1‟ -d
'{

Pedido
"tweet" : ”Estou no porto linux! ",
"name" : ”BrixSat”

}

{
"_index":"twitter_dev", "_type":"tweet",
"_id":"1",
"_version": 1,
"ok":true

Resposta
}
, como remover?
GET /index/type/id
Curl –XGET „http://192.168.2.6:9200/twitter_dev/tweet/1‟

Pedido

{
"_index" : "twitter", "_type" : "tweet", "_id" : "1",
"_source" :
{
"tweet" : " Estou no porto linux! ", "name" : ”BrixSat"
}
}

Resposta
, como pesquisar?
DELETE/index
Curl –XGET „http://192.168.2.6:9200/twitter_dev

Pedido
Problemas encontrados

• Alocação excessiva de memória – usar apenas metade
da memória para o ElasticSearch
• Crash do Node devido a pouco espaço no disco – 95%
~= 100%
• Erros relativos a mensagens “not fully read”
, resumindo!

Análise massiva de dados em tempo real!
kibana, o que é?

Interface web de análise de logs
kibana, o que é?
kibana, o que é?
kibana, o que é?
Obrigado!
Referências:
http://www.slideshare.net/shifa27/elasticsearch-26896932
http://www.slideshare.net/treasure-data/fluentd-meetup-in-japan-11410514

Mais conteúdo relacionado

PDF
Pdo do PHP Palestra
PDF
Migrando para o PHP 5
PPTX
PDO: TRABALHANDO COM BANCO DO JEITO CERTO
PPTX
Treinamento Elasticsearch - Parte 1
PDF
Primeiros Passos Com Elasticsearch
PDF
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
PPTX
Treinamento Elasticsearch - Parte 2
Pdo do PHP Palestra
Migrando para o PHP 5
PDO: TRABALHANDO COM BANCO DO JEITO CERTO
Treinamento Elasticsearch - Parte 1
Primeiros Passos Com Elasticsearch
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
Treinamento Elasticsearch - Parte 2

Mais procurados (20)

PDF
Redis um banco chave valor
PDF
Abstração do banco de dados com PHP Doctrine
PDF
Aula 01 PHP+MySQL - LabMM4
PDF
pgBouncer: um aglomerador de conexões para PostgreSQL
ODP
Redis na Prática
PPTX
Novidades do elasticsearch 2.0 e como usá-lo com PHP
PDF
How to use Elasticsearch Analyzers by EmergiNet
PDF
Coisas que aprendi e quero passar adiante - RubyConf Brasil 2010
PPTX
De A a Zabbix - I Congresso de Ciências Exatas e Tecnológicas
PPTX
DBABrasil 2.0 - Extraindo o máximo do oracle grid infrastructure
ODP
A Biblioteca cURL
PDF
A explosão do Node.js: JavaScript é o novo preto
PDF
Nossa experiência com TDD
PDF
Apache NiFi com postgresql
PDF
Workshop de ELK - EmergiNet
PPTX
Android webservice
PDF
DevOps Braga #5
PPT
Manipulando Bancos de Dados com JDBC
PDF
Presentta: usando Node.js na prática
ODP
Palestra cbq
Redis um banco chave valor
Abstração do banco de dados com PHP Doctrine
Aula 01 PHP+MySQL - LabMM4
pgBouncer: um aglomerador de conexões para PostgreSQL
Redis na Prática
Novidades do elasticsearch 2.0 e como usá-lo com PHP
How to use Elasticsearch Analyzers by EmergiNet
Coisas que aprendi e quero passar adiante - RubyConf Brasil 2010
De A a Zabbix - I Congresso de Ciências Exatas e Tecnológicas
DBABrasil 2.0 - Extraindo o máximo do oracle grid infrastructure
A Biblioteca cURL
A explosão do Node.js: JavaScript é o novo preto
Nossa experiência com TDD
Apache NiFi com postgresql
Workshop de ELK - EmergiNet
Android webservice
DevOps Braga #5
Manipulando Bancos de Dados com JDBC
Presentta: usando Node.js na prática
Palestra cbq
Anúncio

Semelhante a Fluentd/LogStash + elastic search + kibana (20)

PDF
Elasticsearch shards, index, filters and queries
PPTX
Elasticsearch como gerenciar seus logs com logstash e kibana
PDF
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
PDF
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
PPTX
Elasticsearch
PDF
Elasticsearch de dentro para fora
PDF
Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019
PPTX
Monitoramento em tempo real (DEVDAY2015)
PPTX
Apresentação no Meetup da Elastic em Florianopolis
PPT
Palestra Elasticsearch - The Developers Conference - Floripa - 2017
PPTX
Como o elasticsearch salvou minhas buscas
PPT
Palestra Elasticsearch - The Developers Conference - São Paulo - 2017
PPT
TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - ...
ODP
Android DevConference - Elastic Search como ferramenta de busca em aplicações...
PPTX
Ferramentas open-source
PDF
dnad12
PDF
Construindo um sistema distribuido usando rest
PPT
Workshop Elasticsearch - Android Dev Conference 2016
PDF
Symfony2 e Elasticsearch com FosElasticaBundle
PPTX
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Elasticsearch shards, index, filters and queries
Elasticsearch como gerenciar seus logs com logstash e kibana
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Elasticsearch
Elasticsearch de dentro para fora
Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019
Monitoramento em tempo real (DEVDAY2015)
Apresentação no Meetup da Elastic em Florianopolis
Palestra Elasticsearch - The Developers Conference - Floripa - 2017
Como o elasticsearch salvou minhas buscas
Palestra Elasticsearch - The Developers Conference - São Paulo - 2017
TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - ...
Android DevConference - Elastic Search como ferramenta de busca em aplicações...
Ferramentas open-source
dnad12
Construindo um sistema distribuido usando rest
Workshop Elasticsearch - Android Dev Conference 2016
Symfony2 e Elasticsearch com FosElasticaBundle
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Anúncio

Último (20)

PDF
ESPELHOS DA ALMA A PSICOLOGIA POR TRÁS DOS CONTOS DE FADAS.pdf
PDF
Organizador Curricular da Educação em Tempo Integral.pdf
PPTX
Filosofia Ocidental Antiga 2025 - versão atualizada
PDF
FLUXOGRAMA CLASSE lll - Acesso estritamente proximal.pdf
PPTX
16. MODERNISMO - PRIMEIRA GERAÇÃO - EDIÇÃO 2021 (1).pptx
PDF
TANATOPRAXIA - Introdução.pdffffffffffffffff
PPT
Imperio Bbrasileiro-1822-1889 - aspectos gerais
PPTX
brasilcolnia2-101027184359-phpapp02.pptx
PPTX
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
DOCX
Mapa das Américas Colonial Completo.docx
PDF
GESTÃO DA FASE PRÉ-ANALÍTICA- Recomendações da SBPC-ML (3).pdf
PDF
aulademeiodetransporteemlibras-120304202807-phpapp01_removed.pdf
PPTX
biossegurança e segurança no trabalho (6).pptx
PPTX
Aula 13 - Tópico Frasal - Argumentação.pptx
PPTX
Trabalho Cidades sustentáveis ou Utopia.pptx
PPTX
Slides 1 - Intertextualidade_ paródia, citação e paráfrase (1).pptx
PDF
Cantores.pdf-Deslandes, Tinoco e Zambujo
PDF
Estudo da Dor in neurofisiologia dor.pdf
PPTX
Slide_Macronutrientes e Antinutrientes da Dieta Humana.pptx
PPTX
INDÚSTRIA_ Histórico da industrialização.pptx
ESPELHOS DA ALMA A PSICOLOGIA POR TRÁS DOS CONTOS DE FADAS.pdf
Organizador Curricular da Educação em Tempo Integral.pdf
Filosofia Ocidental Antiga 2025 - versão atualizada
FLUXOGRAMA CLASSE lll - Acesso estritamente proximal.pdf
16. MODERNISMO - PRIMEIRA GERAÇÃO - EDIÇÃO 2021 (1).pptx
TANATOPRAXIA - Introdução.pdffffffffffffffff
Imperio Bbrasileiro-1822-1889 - aspectos gerais
brasilcolnia2-101027184359-phpapp02.pptx
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
Mapa das Américas Colonial Completo.docx
GESTÃO DA FASE PRÉ-ANALÍTICA- Recomendações da SBPC-ML (3).pdf
aulademeiodetransporteemlibras-120304202807-phpapp01_removed.pdf
biossegurança e segurança no trabalho (6).pptx
Aula 13 - Tópico Frasal - Argumentação.pptx
Trabalho Cidades sustentáveis ou Utopia.pptx
Slides 1 - Intertextualidade_ paródia, citação e paráfrase (1).pptx
Cantores.pdf-Deslandes, Tinoco e Zambujo
Estudo da Dor in neurofisiologia dor.pdf
Slide_Macronutrientes e Antinutrientes da Dieta Humana.pptx
INDÚSTRIA_ Histórico da industrialização.pptx

Fluentd/LogStash + elastic search + kibana

Notas do Editor

  • #3: É como o syslogd, mas usa JSON para a troca de mensagens.
  • #4: App a fazer log para um txt
  • #5: Exemplo de log TXT
  • #6: Exemplo de log FLUENTD
  • #7: App log directo patra o fluentd com sdk