Os sistemas geram logs muito volumosos, de difícil análise e administração, tornando complexa a gestão por parte do cliente.
Para contornar limitações de espaço em disco, normalmente o cliente precisa manter os logs em nível baixo de detalhes, rotacionar e até elimina-los com alta frequência, podendo perder informações importantes para solução de problemas.
Cenário comum: o cliente abre chamado reportando um problema, porém não tem o log detalhado; com isso recebe orientação para aumentar o nível de log e provocar o problema novamente, e isso nem sempre é factível, especialmente em problemas mais graves, como queda de serviços.
É importante termos uma forma mais robusta de armazenar logs recentes sem comprometer a operação.
Definir uma configuração para possibilitar gerenciamento ativo dos logs gerados pelo sistema, que possa ser implantado pelo próprio cliente na sua estrutura e utilizado para agilizar análises, consultorias, atendimentos de suporte e situações relacionadas.
Esta documentação demonstra o setup que já utilizamos internamente e recomendamos aos clientes. Reforçamos que esta não é a única solução que existe nem a única forma de fazer. Aqui tivemos a intenção de definir uma solução simples e 100% utilizando sofrware livre. O cliente pode ficar à vontade para experimentar outros tipos de ferramentas.
O setup que propomos utiliza 3 ferramentas que fazem parte do Elastic stack:
Descrevemos aqui a configuração que estamos utilizando internamente para os ambientes de desenvolvimento. Cenários de produção dos clientes podem demandar de configurações diferentes, especialmente no quesito Disco, dependendo do volume de logs e quantidade de tempo que desejar armazená-los.
Vamos começar pelo banco de dados, que é a parte mais importante de todo o stack.
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo yum install elasticsearch