Centralizando LOGs no Bluemix – Parte 2

Logs Centralizados no Bluemix – Softwares Básicos

No meu post anterior eu mostrei como montar uma estrutura de logs centralizados usando um container no Bluemix.

Para facilitar as coisas resolvi detalhar melhor como eu montei aquele container, e como eu fiz as instalações dos produtos, assim, basta utilizar essa mesma configuração e você terá exatamente a imagem que eu usei no tutorial.

Primeiro vamos detalhar o arquivo principal para montar esse container, o DockerFile.

Cada linha de comando foi comentada para tentar dizer claramente o que está sendo configurado.1

2

Com essa configuração, basta executar o comando docker build para que sua imagem seja gerada. Considerado que estamos no mesmo diretório onde está o arquivo DockerFile, podemos usar o comando abaixo, e na opção -t <TAG>, podemos colocar qualquer nome para nossa imagem.

docker build -t <TAG> .

3

Após a finalização dos passos do build nossa imagem está pronta.

               docker images

No nosso “DockerFile” é possível ver alguns arquivos de configuração, e um script de inicialização dos serviços, vamos agora detalhar cada um deles.

Para as configurações do Elasticsearch, temos 2 arquivos (logging.yml e elasticsearch.yml).

4

No logging.yml temos as configurações de como serão gravados os dados:

5

No elasticsearch.yml temos algumas configurações básicas para execução do serviço. Nessa configuração é imprescindível a utilização de “localhost”, pois ao enviar o container para o Bluemix a configuração de IP será definida dinamicamente.

6

 

 

Para as configurações do Kibana, temos alguns ajustes no arquivo básico de configuração (kibana.yml).

7

 

 

 

Os parâmetros que merecem mais atenção são:

8

 

 

 

E finalmente para a configuração do Logstash(loggregator.conf).

9

 

 

 

E finalmente para a configuração do Logstash(loggregator.conf). Na configuração de input eu criei duas entradas, uma TCP para receber os logs padrão do Bluemix, e uma entrada HTTP, para facilitar os meus testes usando o Postman.

10

 

Esses arquivos finalizam a parte de configuração dos softwares instalados, mas agora vem a parte mais importante. Como a estrutura de containers é montada para executar apenas um processo é necessário a criação de um script para a inicialização dos serviços, daí a necessidade do último arquivo (launchscript.sh).

11

 

Uma boa prática também é colocar os dados que serão recebidos em um volume separado, já que os containers têm por característica não guardar status, mas essa configuração fica para ao próximo post.

Leave a Reply

Your email address will not be published. Required fields are marked *