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
- Elasticsearch — sistema distribuído de busca e análise usado pra armazenamento e pesquisa de logs.
- Logstash — ferramenta pra coleta, processamento e envio de logs pro Elasticsearch.
- 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:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Adiciona o repositório do Elasticsearch:
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
sudo apt-get install elasticsearch
3. Iniciando e habilitando o Elasticsearch no inicializar
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
No MacOS
1. Instalando com Homebrew
brew update
brew install elasticsearch
2. Iniciando o Elasticsearch
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:
.\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:
sudo apt-get install logstash
2. Configuração do Logstash
Crie o arquivo de configuração logstash.conf:
sudo nano /etc/logstash/conf.d/logstash.conf
Exemplo de configuração para coletar logs do Docker:
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:
sudo systemctl start logstash
sudo systemctl enable logstash
No MacOS
1. Instalando o Logstash via Homebrew
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:
nano /usr/local/etc/logstash/logstash.conf
Exemplo de configuração:
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:
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:
notepad C:\logstash\config\logstash.conf
Exemplo de configuração:
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:
cd C:\logstash
bin\logstash.bat -f config\logstash.conf
7.4 Instalando o Kibana
No Linux
1. Instalando o Kibana
Instale o Kibana:
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:
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
brew update
brew install kibana
2. Iniciando o Kibana
Inicie o Kibana usando o Homebrew:
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:
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:
sudo apt-get install filebeat
2. Configuração do Filebeat
Configure o Filebeat para coletar logs do Docker:
sudo nano /etc/filebeat/filebeat.yml
Exemplo de configuração:
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:
sudo systemctl start filebeat
sudo systemctl enable filebeat
No MacOS
1. Instalando o Filebeat com Homebrew
brew update
brew install filebeat
2. Configuração do Filebeat
Configure o Filebeat editando o arquivo filebeat.yml
:
nano /usr/local/etc/filebeat/filebeat.yml
Exemplo de configuração:
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:
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
:
notepad C:\filebeat\filebeat.yml
Exemplo de configuração:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Iniciando o Filebeat
Inicie o Filebeat:
cd C:\filebeat
filebeat.exe -e -c filebeat.yml
GO TO FULL VERSION