CodeGym /Cursos /Docker SELF /Centralização de logs

Centralização de logs

Docker SELF
Nível 22 , Lição 1
Disponível

7.1 Componentes do ELK Stack

O ELK Stack, que consiste em Elasticsearch, Logstash e Kibana, é uma ferramenta poderosa pra log centralizado e análise de dados. Ele permite coletar, armazenar, analisar e visualizar logs de várias fontes, incluindo containers Docker. Nesta aula, vamos detalhar como configurar o ELK Stack pra log centralizado de containers Docker.

Componentes do ELK Stack

  1. Elasticsearch — sistema distribuído de busca e análise usado pra armazenamento e pesquisa de logs.
  2. Logstash — ferramenta pra coleta, processamento e envio de logs pro Elasticsearch.
  3. Kibana — interface web pra visualização e análise dos dados armazenados no Elasticsearch.

7.2 Instalando o Elasticsearch

No Linux

1. Adicionando o repositório do Elasticsearch

Baixa e instala a chave pública do repositório:

Terminal

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Adiciona o repositório do Elasticsearch:

Terminal

sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > \
/etc/apt/sources.list.d/elastic-7.x.list'
sudo apt-get update

2. Instalando o Elasticsearch

Terminal

sudo apt-get install elasticsearch

3. Iniciando e habilitando o Elasticsearch no inicializar

Terminal

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

No MacOS

1. Instalando com Homebrew

Terminal

brew update
brew install elasticsearch

2. Iniciando o Elasticsearch

Terminal

elasticsearch

No Windows

1. Fazendo download do instalador

Baixa a última versão do Elasticsearch no site oficial: https://www.elastic.co/downloads/elasticsearch.

2. Instalando o Elasticsearch

Executa o instalador que você baixou e segue as instruções na tela.

3. Iniciando o Elasticsearch

Depois de instalar, vá para a pasta do Elasticsearch e inicie o serviço no PowerShell:

PowerShell

.\bin\elasticsearch.bat

Para inicializar automaticamente o Elasticsearch, adiciona ele nos serviços do Windows usando services.msc.

7.3 Configurando o Logstash

No Linux

1. Instalando o Logstash

Instale o Logstash do repositório do Elastic:

Terminal

sudo apt-get install logstash

2. Configuração do Logstash

Crie o arquivo de configuração logstash.conf:

Terminal

sudo nano /etc/logstash/conf.d/logstash.conf

Exemplo de configuração para coletar logs do Docker:

plaintext

input {
  beats {
    port => 5044
  }
}

filter {
  json {
    source => "message"
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "docker-logs-%{+YYYY.MM.dd}"
  }
}

3. Iniciando e ativando a inicialização automática do Logstash

Inicie e ative a inicialização automática do Logstash:

Terminal

sudo systemctl start logstash
sudo systemctl enable logstash

No MacOS

1. Instalando o Logstash via Homebrew

Terminal

brew update
brew install logstash

2. Configuração do Logstash

Crie o arquivo de configuração logstash.conf na pasta de configuração do Logstash:

Terminal

nano /usr/local/etc/logstash/logstash.conf

Exemplo de configuração:

plaintext

input {
  beats {
    port => 5044
  }
}

filter {
  json {
    source => "message"
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "docker-logs-%{+YYYY.MM.dd}"
  }
}

3. Iniciando o Logstash

Inicie o Logstash pelo Homebrew:

Terminal

logstash -f /usr/local/etc/logstash/logstash.conf

No Windows

1. Baixando e instalando o Logstash

Baixe a versão mais recente do Logstash no site oficial: https://www.elastic.co/downloads/logstash.

Extraia o arquivo do Logstash para um local conveniente (por exemplo, C:\logstash).

2. Configuração do Logstash

Crie o arquivo de configuração logstash.conf na pasta de configuração do Logstash:

PowerShell

notepad C:\logstash\config\logstash.conf

Exemplo de configuração:

plaintext

input {
  beats {
    port => 5044
  }
}

filter {
  json {
    source => "message"
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "docker-logs-%{+YYYY.MM.dd}"
  }
}

3. Iniciando o Logstash

Inicie o Logstash com a configuração:

PowerShell

cd C:\logstash
bin\logstash.bat -f config\logstash.conf

7.4 Instalando o Kibana

No Linux

1. Instalando o Kibana

Instale o Kibana:

Terminal

sudo apt-get install kibana

2. Inicie e ative a inicialização automática do Kibana

Inicie e ative a inicialização automática do Kibana:

Terminal

sudo systemctl start kibana
sudo systemctl enable kibana

O Kibana estará disponível em http://localhost:5601.

No MacOS

1. Instalando o Kibana usando o Homebrew

Terminal

brew update
brew install kibana

2. Iniciando o Kibana

Inicie o Kibana usando o Homebrew:

Terminal

brew services start kibana

O Kibana estará disponível em http://localhost:5601.

No Windows

1. Baixando e instalando o Kibana

Baixe a versão mais recente do Kibana no site oficial: https://www.elastic.co/downloads/kibana.

Extraia o arquivo do Kibana para um local conveniente (por exemplo, C:\kibana).

2. Iniciando o Kibana

Inicie o Kibana:

PowerShell

cd C:\kibana\bin
kibana.bat

O Kibana estará disponível em http://localhost:5601.

8.5 Configurando o Filebeat para coletar logs do Docker

No Linux

1. Instalando o Filebeat

Instale o Filebeat do repositório Elastic:

Terminal

sudo apt-get install filebeat

2. Configuração do Filebeat

Configure o Filebeat para coletar logs do Docker:

Terminal

sudo nano /etc/filebeat/filebeat.yml

Exemplo de configuração:

Yaml

filebeat.inputs:
- type: docker
  containers.ids:
    - '*'
  processors:
    - add_docker_metadata: ~

output.logstash:
  hosts: ["localhost:5044"]

3. Iniciando e habilitando o Filebeat para iniciar automaticamente

Inicie e habilite o início automático do Filebeat:

Terminal

sudo systemctl start filebeat
sudo systemctl enable filebeat

No MacOS

1. Instalando o Filebeat com Homebrew

Terminal

brew update
brew install filebeat

2. Configuração do Filebeat

Configure o Filebeat editando o arquivo filebeat.yml:

Terminal

nano /usr/local/etc/filebeat/filebeat.yml

Exemplo de configuração:

Yaml

filebeat.inputs:
- type: docker
  containers.ids:
    - '*'
  processors:
    - add_docker_metadata: ~

output.logstash:
  hosts: ["localhost:5044"]

3. Iniciando o Filebeat

Inicie o Filebeat com o Homebrew:

Terminal

brew services start filebeat

No Windows

1. Baixando e instalando o Filebeat

Baixe a versão mais recente do Filebeat no site oficial: https://www.elastic.co/downloads/beats/filebeat.

Extraia o arquivo do Filebeat para um local conveniente (por exemplo, C:\filebeat).

2. Configuração do Filebeat

Edite o arquivo filebeat.yml:

PowerShell

notepad C:\filebeat\filebeat.yml

Exemplo de configuração:

Yaml

filebeat.inputs:
- type: docker
  containers.ids:
    - '*'
  processors:
    - add_docker_metadata: ~

output.logstash:
  hosts: ["localhost:5044"]

3. Iniciando o Filebeat

Inicie o Filebeat:

PowerShell

cd C:\filebeat
filebeat.exe -e -c filebeat.yml
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION