Elastic Stack · 13 min read · Nov 25, 2025
Como Instalar o Elastic Stack no Ubuntu 18.04 LTS

Elasticsearch é um mecanismo de busca de código aberto baseado em Lucene, desenvolvido em Java. Ele fornece um mecanismo de busca de texto completo distribuído e multitenant com uma interface web de painel (Kibana). Os dados são consultados, recuperados e armazenados em um esquema de documento JSON. Elasticsearch é um mecanismo de busca escalável que pode ser usado para buscar todos os tipos de documentos de texto, incluindo arquivos de log. Elasticsearch é o coração do ‘Elastic Stack’ ou ELK Stack.
Logstash é uma ferramenta de código aberto para gerenciar eventos e logs. Ele fornece um pipeline em tempo real para coleções de dados. O Logstash coletará seus dados de log, converterá os dados em documentos JSON e os armazenará no Elasticsearch.
Kibana é uma ferramenta de visualização de dados de código aberto para Elasticsearch. O Kibana fornece uma interface web de painel bastante bonita. Ele permite que você gerencie e visualize dados do Elasticsearch. Não é apenas bonito, mas também poderoso.
Neste tutorial, vou mostrar como instalar e configurar o Elastic Stack em um servidor Ubuntu 18.04 para monitoramento de logs de servidor. Em seguida, vou mostrar como instalar e configurar os ‘Elastic beats’ em um servidor cliente Ubuntu 18.04 e CentOS 7.
Pré-requisitos
- 3 Servidores - Ubuntu 18.04 com 4GB de RAM/memória como ‘elk-master’ - 10.0.15.10
- Ubuntu 18.04 com 512MB/1GB de RAM/memória como ‘elk-client01’ - 10.0.15.21
- CentOS 7.5 com 512MB/1GB de RAM/memória como ‘elk-client02’ - 10.0.15.22
- Privilégios de root
O que faremos?
- Instalar o Elastic Stack 1. Instalar Java
- Instalar e Configurar o ElasticSearch
- Instalar e Configurar o Kibana
- Instalar e Configurar o Nginx como Proxy Reverso para o Kibana
- Instalar e Configurar o Logstash
- Instalar e Configurar o Filebeat no Ubuntu 18.04
- Instalar e Configurar o Filebeat no CentOS 7.5
- Testando
Passo 1 - Instalar o Elastic Stack
Neste primeiro passo, instalaremos e configuraremos o ‘Elastic Stack’ no servidor ‘elk-master’, então execute todos os comandos e etapas para este passo apenas no servidor ‘elk-master’. Instalaremos e configuraremos cada componente do elastic stack, incluindo Elasticsearch, Logstash shipper e Kibana Dashboard com o servidor web Nginx.
Instalar Java
Java é necessário para a implantação do Elastic stack. O Elasticsearch requer Java 8. É recomendado usar o Oracle JDK 1.8, e instalaremos o Java 8 de um repositório PPA.
Instale os pacotes ‘software-properties-common’ e ‘apt-transport-https’, e então adicione o repositório PPA ‘webupd8team’ Java. Execute o comando ‘apt install’ e ‘add-apt-repository’ abaixo.
sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:webupd8team/java -yAgora instale o java8-installer.
sudo apt install oracle-java8-installer -yApós a instalação ser concluída, verifique a versão do java.
java -versionJava 1.8 instalado no sistema.
Em seguida, configuraremos o ambiente java. Verifique o arquivo binário java usando o comando abaixo.
update-alternatives --config javaE você obterá o arquivo binário java no diretório ‘ /usr/lib/jvm/java-8-oracle ‘.
Agora crie o arquivo de perfil ‘java.sh’ no diretório ‘profile.d’.
vim /etc/profile.d/java.shCole a configuração do ambiente java abaixo.
#Set JAVA_HOME
JAVA_HOME="/usr/lib/jvm/java-8-oracle"
export JAVA_HOME
PATH=$PATH:$JAVA_HOME
export PATHSalve e saia.
Torne o arquivo executável e carregue o arquivo de configuração.
chmod +x /etc/profile.d/java.sh
source /etc/profile.d/java.shAgora verifique o ambiente java usando o comando abaixo.
echo $JAVA_HOMEE você verá que o diretório java está localizado no diretório ‘ /usr/lib/jvm/java-8-oracle ‘.

Instalar Elasticsearch
Após instalar o Java, instalaremos o primeiro componente do Elastic Stack, que é o elasticsearch.
Adicione a chave do elastic stack e adicione o repositório elastic ao sistema.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.listAgora atualize o repositório e instale o pacote elasticsearch usando o comando abaixo.
sudo apt update
sudo apt install elasticsearch -yApós a instalação ser concluída, vá para o diretório ‘/etc/elasticsearch’ e edite o arquivo de configuração ‘elasticsearch.yml’.
cd /etc/elasticsearch/
vim elasticsearch.ymlDescomente a linha ‘network.host’ e altere o valor para ‘localhost’, e descomente a linha ‘http.port’ para a configuração da porta do elasticsearch.
network.host: localhost
http.port: 9200Salve e saia.
Agora inicie o serviço elasticsearch e habilite-o para iniciar toda vez que o sistema for inicializado.
systemctl start elasticsearch
systemctl enable elasticsearchO elasticsearch agora está em funcionamento, verifique usando o comando netstat e os comandos curl abaixo.
netstat -plntu
curl -XGET 'localhost:9200/?pretty'Agora você verá que a versão do elasticsearch ‘6.2.4’ está rodando na porta padrão ‘9200’.

A instalação do elasticsearch foi concluída.
Instalar e Configurar o Painel do Kibana
O segundo componente é o painel do kibana. Instalaremos o painel do Kibana a partir do repositório elastic e configuraremos o serviço kibana para rodar no endereço localhost.
Instale o painel do Kibana usando o comando apt abaixo.
sudo apt install kibana -yAgora vá para o diretório ‘/etc/kibana’ e edite o arquivo de configuração ‘kibana.yml’.
cd /etc/kibana/
vim kibana.ymlDescomente as linhas ‘server.port’, ‘server.host’ e ‘elasticsearch.url’.
server.port: 5601
server.host: "localhost"
elasticsearch.url: "http://localhost:9200"Salve e saia.
Agora inicie o serviço kibana e habilite-o para iniciar toda vez que o sistema for inicializado.
sudo systemctl enable kibana
sudo systemctl start kibanaO painel do kibana agora está em funcionamento no endereço ‘localhost’ e na porta padrão ‘5601’. Verifique usando o comando netstat abaixo.
netstat -plntu
A instalação do painel do Kibana foi concluída.
Instalar e Configurar o Nginx como Proxy Reverso para o Kibana
Neste tutorial, usaremos o servidor web Nginx como um proxy reverso para o Painel do Kibana.
Instale o Nginx e os pacotes ‘apache2-utils’ no sistema.
sudo apt install nginx apache2-utils -yApós a instalação ser concluída, vá para o diretório de configuração ‘/etc/nginx’ e crie um novo arquivo de host virtual chamado ‘kibana’.
cd /etc/nginx/
vim sites-available/kibanaCole a configuração do host virtual do Nginx abaixo.
server {
listen 80;
server_name elastic-stack.io;
auth_basic "Acesso Restrito";
auth_basic_user_file /etc/nginx/.kibana-user;
location / {
proxy_pass http://localhost:5601;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}Salve e saia.
Em seguida, criaremos um novo servidor web de autenticação básica para acessar o painel do Kibana. Criaremos a autenticação básica usando o comando htpasswd como abaixo.
sudo htpasswd -c /etc/nginx/.kibana-user elastic
Digite a senha do usuário elasticAtive o host virtual do kibana e teste toda a configuração do nginx.
ln -s /etc/nginx/sites-available/kibana /etc/nginx/sites-enabled/
ginx -tCertifique-se de que não haja erro, agora inicie o serviço Nginx e habilite-o para iniciar toda vez que o sistema for inicializado.
systemctl enable nginx
systemctl restart nginxA instalação e configuração do Nginx como um Proxy Reverso para o painel do Kibana foram concluídas.

Instalar e Configurar o Logstash
O último componente do Elastic Stack para este guia é o ‘Logstash’. Instalaremos e configuraremos o Logstash para centralizar logs de servidor de fontes clientes com filebeat, em seguida, filtrar e transformar todos os dados (Syslog) e transportá-los para o stash (Elasticsearch).
Antes de instalar o logstash, certifique-se de verificar a versão do OpenSSL do seu servidor.
openssl version -aPara este guia, usaremos o OpenSSL ‘1.0.2o’. Se você ainda estiver usando a versão do OpenSSL 1.1.2, você receberá um erro na conexão SSL do logstash e filebeat.
Instale o logstash usando o comando apt abaixo.
sudo apt install logstash -yApós a instalação ser concluída, geraremos a chave do certificado SSL para proteger a transferência de dados de log do cliente filebeat para o servidor logstash.
Edite o arquivo ‘/etc/hosts’ usando vim.
vim /etc/hostsAdicione a configuração abaixo.
10.0.15.10 elk-master elk-masterSalve e saia.
Agora crie um novo diretório SSL no diretório de configuração do logstash ‘/etc/logstash’ e vá para esse diretório.
mkdir -p /etc/logstash/ssl
cd /etc/logstash/Gere o certificado SSL para o Logstash usando o comando openssl como abaixo.
openssl req -subj '/CN=elk-master/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout ssl/logstash-forwarder.key -out ssl/logstash-forwarder.crtOs arquivos de certificado SSL para o Logstash foram criados no diretório ‘/etc/logstash/ssl’.
Em seguida, criaremos novos arquivos de configuração para o logstash. Criaremos um arquivo de configuração ‘filebeat-input.conf’ como arquivo de entrada do filebeat, ‘syslog-filter.conf’ para processamento de syslog, e então um arquivo ‘output-elasticsearch.conf’ para definir a saída do Elasticsearch.
Vá para o diretório de configuração do logstash e crie os novos arquivos de configuração ‘filebeat-input.conf’ no diretório ‘conf.d’.
cd /etc/logstash/
vim conf.d/filebeat-input.confCole a seguinte configuração lá.
input {
beats {
port => 5443
type => syslog
ssl => true
ssl_certificate => "/etc/logstash/ssl/logstash-forwarder.crt"
ssl_key => "/etc/logstash/ssl/logstash-forwarder.key"
}
}Salve e saia.
Para o processamento de dados de log syslog, estamos usando o plugin de filtro chamado ‘grok’ para analisar os arquivos syslog.
Crie uma nova configuração ‘syslog-filter.conf’.
vim conf.d/syslog-filter.confCole a seguinte configuração lá.
filter {
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
date {
match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}Salve e saia.
E para a saída do elasticsearch, criaremos o arquivo de configuração chamado ‘output-elasticsearch.conf’.
vim conf.d/output-elasticsearch.confCole a seguinte configuração lá.
output {
elasticsearch { hosts => ["localhost:9200"]
hosts => "localhost:9200"
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
}Salve e saia.
Quando isso estiver feito, inicie o serviço logstash e habilite-o para iniciar toda vez que o sistema for inicializado.
sudo systemctl enable logstash
sudo systemctl start logstash
Verifique o serviço logstash usando os comandos netstat e systemctl abaixo.
netstat -plntu
systemctl status logstashE o serviço logstash agora está em funcionamento. Rodando no endereço IP público com a porta ‘5443’.

A instalação do Elastic Stack foi concluída.
Passo 2 - Instalar e Configurar o Filebeat no Ubuntu 18.04
Neste passo, configuraremos o cliente Ubuntu 18.04 ‘elk-client01’ instalando os ‘Filebeat’ do Elastic Beats.
Antes de instalar o filebeat no sistema, precisamos editar o ‘/etc/hosts’ e baixar o arquivo de certificado do logstash ‘logstash-forwarder.crt’ para o servidor ‘elk-client01’.
Edite o arquivo ‘/etc/hosts’ usando o editor vim.
vim /etc/hostsCole a seguinte configuração lá.
10.0.15.10 elk-master elk-masterSalve e saia.
Copie o arquivo de certificado do logstash ‘logstash-forwarder.crt’ usando o comando scp.
scp root@elk-master:/etc/logstash/ssl/logstash-forwarder.crt .
Em seguida, instale o ‘Filebeat’ do Elastic Beats adicionando a chave elastic e adicionando o repositório elastic.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.listAtualize o repositório e instale o pacote ‘filebeat’ usando o comando apt abaixo.
sudo apt update
sudo apt install filebeat -yApós a instalação ser concluída, vá para o diretório ‘/etc/filebeat’ e edite o arquivo de configuração ‘filebeat.yml’.
cd /etc/filebeat/
vim filebeat.ymlAgora habilite os prospectores do filebeat alterando o valor da linha ‘enabled’ para ‘true’.
enabled: trueDefina os arquivos de log do sistema a serem enviados para o servidor logstash. Para este guia, adicionaremos o arquivo de log ssh ‘auth.log’ e o arquivo syslog.
paths:
- /var/log/auth.log
- /var/log/syslogConfigure a saída para logstash comentando a saída padrão ‘elasticsearch’ e descomentando a linha de saída do logstash como abaixo.
output.logstash:
# Os hosts do Logstash
hosts: ["elk-master:5443"]
ssl.certificate_authorities: ["/etc/filebeat/logstash-forwarder.crt"]Salve e saia.
Em seguida, precisamos editar o arquivo ‘filebeat.reference.yml’ para habilitar os módulos do filebeat, e habilitaremos o módulo ‘syslog’.
vim filebeat.reference.ymlHabilite o módulo de sistema syslog para o filebeat como abaixo.
- module: system
# Syslog
syslog:
enabled: trueSalve e saia.
Copie o arquivo de certificado do logstash ‘logstash-forwarder.crt’ para o diretório ‘/etc/filebeat’.
cp ~/logstash-forwarder.crt /etc/filebeat/logstash-forwarder.crtA instalação e configuração do Filebeat foram concluídas. Agora inicie o serviço filebeat e habilite-o para iniciar toda vez que o sistema for inicializado.
systemctl start filebeat
systemctl enable filebeatVerifique o serviço filebeat usando os comandos abaixo.
systemctl status filebeat
tail -f /var/log/filebeat/filebeatOs transportadores filebeat estão em funcionamento no servidor Ubuntu 18.04.

Passo 3 - Instalar e Configurar o Filebeat no CentOS 7.5
Neste passo, configuraremos o cliente CentOS 7.5 ‘elk-client02’ instalando os ‘Filebeat’ do Elastic Beats.
Antes de instalar o Filebeat no sistema, precisamos editar o ‘/etc/hosts’ e baixar o arquivo de certificado do logstash ‘logstash-forwarder.crt’ para o servidor ‘elk-client02’.
Edite o arquivo ‘/etc/hosts’ usando vim.
vim /etc/hostsCole a configuração abaixo.
10.0.15.10 elk-master elk-masterSalve e saia.
Copie o arquivo de certificado do logstash ‘logstash-forwarder.crt’ usando o comando scp.
scp root@elk-master:/etc/logstash/ssl/logstash-forwarder.crt .
Em seguida, instale o ‘Filebeat’ do Elastic Beats adicionando a chave elastic e adicionando o repositório elastic.
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
cat < /etc/yum.repos.d/elastic.repo
[elasticsearch-6.x]
name=Repositório Elasticsearch para pacotes 6.x
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF Instale o filebeat usando o comando yum abaixo.
yum install filebeat -yApós a instalação ser concluída, vá para o diretório ‘/etc/filebeat’ e edite o arquivo de configuração ‘filebeat.yml’.
cd /etc/filebeat/
vim filebeat.ymlAgora habilite os prospectores do filebeat alterando o valor da linha ‘enabled’ para ‘true’.
enabled: trueDefina os arquivos de log do sistema a serem enviados para o servidor logstash. Para este guia, adicionaremos o arquivo de log ssh ‘auth.log’ e o arquivo syslog.
paths:
- /var/log/secure
- /var/log/messagesConfigure a saída para logstash comentando a saída padrão ‘elasticsearch’ e descomentando a linha de saída do logstash como abaixo.
output.logstash:
# Os hosts do Logstash
hosts: ["elk-master:5443"]
ssl.certificate_authorities: ["/etc/filebeat/logstash-forwarder.crt"]Salve e saia.
Em seguida, precisamos editar o arquivo ‘filebeat.reference.yml’ para habilitar os módulos do filebeat, e habilitaremos o módulo ‘syslog’.
vim filebeat.reference.ymlHabilite o módulo de sistema syslog para o filebeat como abaixo.
- module: system
# Syslog
syslog:
enabled: trueSalve e saia.
Copie o arquivo de certificado do logstash ‘logstash-forwarder.crt’ para o diretório ‘/etc/filebeat’.
cp ~/logstash-forwarder.crt /etc/filebeat/logstash-forwarder.crtA instalação e configuração do Filebeat foram concluídas. Agora inicie o serviço filebeat e adicione-o ao tempo de inicialização.
systemctl start filebeat
systemctl enable filebeatVerifique o serviço filebeat usando os comandos abaixo.
systemctl status filebeat
tail -f /var/log/filebeat/filebeatOs transportadores filebeat estão em funcionamento no servidor CentOS 7.5.

Passo 4 - Testando
Abra seu navegador e digite o nome de domínio do elastic stack, o meu é: ‘elastic-stack.io’.
Você será solicitado a inserir o nome de usuário e a senha da autenticação básica para o Painel do Kibana.

Digite o nome de usuário ‘elastic’ com sua senha.
Agora você verá o belo painel do kibana, clique no botão ‘Configurar padrões de índice’ à direita.

Defina o padrão de índice ‘filebeat-*’ e clique no botão ‘Próximo passo’.

Para o ‘nome do campo de filtro de tempo’, escolha o ‘@timestamp’ e clique em ‘Criar padrão de índice’.

E o padrão de índice filebeat foi criado.

Em seguida, tentaremos obter as informações de log para o login SSH falhado em cada servidor cliente ‘elk-client01’ do sistema Ubuntu e ‘elk-client02’ do sistema CentOS.
Dentro do Painel do Kibana, clique no menu ‘Descobrir’ para obter todos os logs do servidor.
Defina o ‘beat.hostname’ para o servidor ‘elk-client01’, a ‘source’ é o arquivo ‘/var/log/auth.log’, e você obterá o resultado conforme mostrado abaixo.

E a seguir estão os detalhes do log de exemplo para a senha falhada do SSH do arquivo ‘auth.log’.

Para o servidor ‘elk-client02’ CentOS, defina o ‘beat.hostname’ para o servidor ‘elk-client02’, a ‘source’ é o arquivo ‘/var/log/secure’, e você obterá o resultado conforme mostrado abaixo.

E a seguir estão os detalhes do log de exemplo para a senha falhada do SSH do arquivo ‘secure’.

A instalação e configuração do Elastic Stack e do Elastic Beat ‘Filebeat’ foram concluídas com sucesso.
Referência
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.