O documento descreve como Fluentd, Logstash, Elasticsearch e Kibana podem ser usados juntos para análise de logs em tempo real. Fluentd coleta logs de aplicações e os envia para Logstash ou diretamente para Elasticsearch. Logstash filtra e transforma os dados antes de enviá-los para Elasticsearch. Elasticsearch armazena os dados de forma a permitir pesquisas rápidas. Kibana fornece uma interface para visualização e análise dos dados armazenados no Elasticsearch.
10. , como funciona?
timestamp
2013-12-18 01:33:51
myapp.Playlog {
“video”: ”video1.avi”,
“path”: “/home/cesar/videos/”,
“duration”: 125,
“type”: “promotional”
}
atributos
tag
11. , 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>
12.
13. 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
21. , o que é?
Base de dados em tempo real e sem esquema de dados definido
22. , como funciona?
Base de dados
Relacional
ElasticSearch
Database
Index
Table
Type
Row
Document
Column
Field
Schema
Mapping
23. , 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
25. , 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
26. , estrutura de dados.
{…}
{…}
{…}
{…}
As pesquisas podem conter multiplos indices
{…}
{…}
{…}
{…}
33. 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”