Problema

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 adota uma destas soluções:

Estas soluções levam à perda de informações importantes no momento de análise de um problema.


Cenário comum:

Precisamos de uma forma mais robusta de armazenar e consultar logs recentes sem comprometer a operação e minimizando impactos ao usuário final.


Solução proposta

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.


Setup

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.


setup que propomos utiliza 3 ferramentas que fazem parte do Elastic stack para coletar e armazenar os logs do PASOE, que devem ser gerados com nível detalhado e rotacionados para evitar estouro de disco:


Requisitos de hardware

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.

Recomendamos criar uma nova Virtual Machine exclusiva para este setup, para isolar os processos e garantir que as demais máquinas utilizadas para o sistema não sejam afetadas.


Passo a passo para a instalação

Elasticsearch

Instalação


&&& tratar os passos para criar a senha forte do elasticsearch e também os usuários para kibana_admin e filebeat. validar se precisará editar 2x o elasticsearch.yml (primeiro sem segurança para criar os usuários e depois elevar a segurança em outro passo). &&&


Vamos começar pelo banco de dados, que é a parte mais importante de todo o stack. Inicialmente faremos a instalação padrão conforme a documentação da ferramenta:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo yum install elasticsearch


Configuração

Após instalado, vamos editar as configurações no arquivo /etc/elasticsearch/elasticsearch.yml:

Utilize este arquivo em anexo como modelo:  elasticsearch.yml

Atenção especial para estes campos:

A porta default do Elasticsearch é 9200. Se necessário, altere diretamente no arquivo.


Kibana

Instalação

Agora vamos instalar a interface gráfica, pois através dela será mais simples realizar as demais configurações do Elasticsearch.

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo yum install kibana


Configuração

Após instalado, vamos editar as configurações no arquivo /etc/kibana/kibana.yml:

Utilize este arquivo como modelo: kibana.yml

Atenção especial para estes campos: