Ubuntu

Como instalar o ELK Stack no Ubuntu 18.04

Como instalar o ELK Stack no Ubuntu 18.04

ELK Stack é a plataforma de gerenciamento de log mais popular do mundo. É uma coleção de produtos de código aberto, incluindo Elasticsearch, Logstash e Kibana. Todos esses 3 produtos são desenvolvidos, gerenciados e mantidos pela Elastic.

ELK Stack é uma plataforma poderosa e de código aberto que pode gerenciar uma grande quantidade de dados registrados. O registro de entradas é geralmente de uma interface gráfica da web (GUI).

Instale e configure o ELK Stack no Ubuntu

Neste tutorial, vamos usar filebeat para enviar dados de registro para Logstash. Beats são remetentes de dados leves e, para começar, devemos instalar o agente nos servidores.

Etapa 1) Instalando o Java 8

ElasticSearch suporta Java 8 e 9, mas o problema é que Logstash só é compatível com Java 8. Java 9 ainda não é compatível. Portanto, vamos instalar o Oracle Java 8.

Inicie o Terminal e adicione o repositório Oracle Java 8, seguido por uma atualização do sistema e instalação real.

sudo add-apt-repository ppa: webupd8team / java
sudo apt-get update
sudo apt install oracle-java8-set-default

Preste atenção ao Terminal. Você terá que concordar com as janelas do contrato de licença e selecionar “sim” para continuar. Após a conclusão da instalação, você pode verificar a versão java usando os seguintes comandos:

.sudo java -version

Verificação de versão Java

sudo echo $ JAVA_HOME

Verifique a página inicial do Java

Etapa 2) Instalando e configurando o Elasticsearch

Vamos começar com wget comando para baixar Elasticsearch seguido pela chave de assinatura pública:

sudo wget -qO - https: // artefatos.elástico.co / GPG-KEY-elasticsearch | sudo apt-key add -

Em segundo lugar, instale o pacote apt-transport-https (as distros baseadas em Debian precisam disso).

sudo apt-get install apt-transport-https

Adicione o repositório:

echo "deb https: // artefatos.elástico.co / pacotes / 6.x / apt stable main "| sudo tee -a / etc / apt / sources.Lista.d / elástico-6.x.Lista

Atualize a lista de repo e instale o pacote:

sudo apt-get update
sudo apt-get install elasticsearch

Vamos modificar “elasticsearch.arquivo yml ”:

sudo vim / etc / elasticsearch / elasticsearch.yml

Remova o comentário “rede.host ”e“ http.porta". A seguinte configuração deve ser adicionada:

rede.host: localhost http.porta: 9200

Em seguida, salve e feche o arquivo.

Para garantir que o ElasticSearch funcione perfeitamente, habilite-o na inicialização e inicie o ElasticSearch.

sudo systemctl ativar elasticsearch.serviço
sudo systemctl start elasticsearch.serviço

Verifique a instalação:

sudo curl -XGET 'localhost: 9200 /?bonito'

Verifique ElasticSearch

Etapa 3) Instalando o Kibana

Vamos começar a instalar o Kibana agora e modificar as configurações do Kibana:

sudo apt-get install kibana
sudo vim / etc / kibana / kibana.yml

Descomente as seguintes linhas:

servidor.porta: servidor 5601.host: "localhost" elasticsearch.url: "http: // localhost: 9200"

Salve e saia do arquivo.

Habilite-o na inicialização e inicie o serviço Kibana:

sudo systemctl enable kibana.serviço
sudo systemctl start kibana.serviço

Etapa 4) Configurando Nginx como proxy reverso para Kibana

Em linhas semelhantes, vamos instalar o Nginx, configurá-lo e iniciar o serviço. Use os seguintes comandos, um de cada vez:

sudo apt-get install nginx apache2-utils

Configure o host virtual:

sudo vim / etc / nginx / sites-available / elk

Adicione a seguinte configuração ao arquivo:

 servidor escuta 80; elk nome_do_servidor.fosslinux.com; auth_basic "Acesso restrito"; auth_basic_user_file / etc / nginx /.elkusersecret; localização / proxy_pass http: // localhost: 5601; proxy_http_version 1.1; proxy_set_header Atualizar $ http_upgrade; proxy_set_header Conexão 'upgrade'; proxy_set_header Host $ host; proxy_cache_bypass $ http_upgrade; 

Crie um arquivo de usuário e senha para autenticação do navegador da web:

sudo htpasswd -c / etc / nginx /.elkusersecret elkusr

Autenticação ELK

Digite a senha e repita. Verifique as configurações do Nginx:

sudo nginx -t

Ative o Nginx na inicialização do sistema e reinicie o serviço:

sudo systemctl enable nginx.serviço
sudo systemctl restart nginx.serviço

Etapa 5) Instalação e configuração do Logstash

Instale o Logstash:

sudo apt-get install logstash

Aqui, vamos gerar a chave do certificado SSL para proteger a transferência de log do cliente de arquivo. Modifique o arquivo “hosts” antes de criar o certificado SSL.

sudo vim / etc / hosts

Adicione a seguinte linha ao arquivo. Certifique-se de alterar o IP e o nome do servidor para o seu.

172.31.31.158 elk-server elk-server

Quando terminar, salve e saia do arquivo.

Agora mude o diretório para Logstash.

sudo cd / etc / logstash /

Crie uma pasta para SSL:

sudo mkdir ssl

Gerar certificado SSL. Mude elk-server para o nome do seu servidor no comando abaixo.

sudo openssl req -subj '/ CN = elk-server /' -x509 -days 3650 -batch -nodes -newkey rsa: 2048 -keyout ssl / logstash-forwarder.key -out ssl / logstash-forwarder.crt

Crie os seguintes arquivos dentro de “/ etc / logstash / conf.d ”.

sudo cd / etc / logstash / conf.d /

criar um arquivo filebeat-input usando o vim.

sudo vim filebeat-input.conf

Adicione as seguintes linhas a ele.

input beats port => 5443 type => syslog ssl => true ssl_certificate => "/ etc / logstash / ssl / logstash-forwarder.crt "ssl_key =>" / etc / logstash / ssl / logstash-forwarder.chave"  

Salve e feche o arquivo e crie um novo arquivo de configuração.

filtro syslog sudo vim.conf

Adicione o seguinte conteúdo a ele.

filtrar 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 "] data match => [" syslog_timestamp " , "MMM d HH: mm: ss", "MMM dd HH: mm: ss"]

Salve e saia do arquivo. Crio elasticsearch arquivo de saída.

sudo vim output-elasticsearch.conf

Adicione as seguintes linhas a ele.

output elasticsearch hosts => ["localhost: 9200"] hosts => "localhost: 9200" manage_template => false index => "% [@ metadata] [beat] -% + YYYY.MILÍMETROS.dd "document_type =>"% [@ metadata] [type] "

Vamos ativar o Logstash na inicialização e iniciar o serviço:

sudo systemctl enable logstash.serviço
sudo systemctl start logstash.serviço

Etapa 6) Instalação e configuração do Filebeat em servidores cliente

Comece editando o hospedeiros arquivo para adicionar entradas de host elk. Certifique-se de substituir o IP e o nome pelo seu.

sudo vim / etc / hosts
172.31.31.158 elk-server

Salve e saia do arquivo.

Baixe e instale a chave de assinatura pública:

sudo wget -qO - https: // artefatos.elástico.co / GPG-KEY-elasticsearch | sudo apt-key add -

Instale “apt-transport-https” e adicione repo.

sudo apt-get install apt-transport-https
sudo echo "deb https: // artefatos.elástico.co / pacotes / 6.x / apt stable principal "| sudo tee -a / etc / apt / sources.Lista.d / elástico-6.x.Lista

Atualize o repo e instale o Filebeat.

sudo apt-get update
sudo apt-get install filebeat

Modificar configurações do Filebeat.

sudo vim / etc / filebeat / filebeat.yml

Encontre a linha a seguir e modifique o valor para “verdadeiro”.

habilitado: verdadeiro

Aqui não estamos modificando o caminho do log e Filebeat irá encaminhar todos os logs dentro da pasta “var / log”

 caminhos: - / var / log / *.registro

Remova o comentário das seguintes linhas:

resultado.logstash: # O Logstash hospeda hosts: ["elk-server: 5443"] ssl.certificate_authorities: ["/ etc / filebeat / logstash-forwarder.crt "]

Comente Elasticsearch:

#resultado.elasticsearch: # Matriz de hosts para se conectar. # hosts: ["localhost: 9200"]

Salve e saia do arquivo.

Agora vá para o servidor ELK e obtenha “logstash-forwarder.conteúdo do crt

sudo cat / etc / logstash / ssl / logstash-forwarder.crt

SSL Crt

copie a saída e vá para o cliente-servidor Elk.

Crie um arquivo de certificado

sudo vim / etc / filebeat / logstash-forwarder.crt

insira a saída copiada e salve e saia.

Habilitar filebeat na inicialização do sistema Iniciar filebeat serviço.

sudo systemctl enable filebeat.serviço
sudo systemctl start filebeat.serviço

Etapa 7) Navegar no Kibana Dashboard

Abra seu navegador favorito e digite o nome de domínio seguido pelo nome de usuário e senha.

http: // elk.fosslinux.com

Autenticação do navegador

Insira o nome de usuário e senha criados. Você deve ver a página de boas-vindas do Kibana. Clique no botão “Explorar meu próprio”.

Página de boas-vindas da Kibana

Você deve ser direcionado para a página inicial do Kibana.

Página inicial da Kibana

Clique em “Descobrir” no lado esquerdo. Clique em “Criar padrão de índice”.

Criar Índice

Em seguida, defina o padrão de índice “filebeat- *”.

Definir Índice

Clique em Avançar e escolha @timestamp 'e clique em' Criar padrão de índice '.

Escolha TimeStamp

O padrão de índice deve ser criado.

Padrão de índice criado

Clique no menu “Descobrir” para ver os logs do servidor.

Descobrir registros

Os registros serão mostrados de acordo com o carimbo de data / hora. Clique em qualquer carimbo de data / hora para expandi-lo e ver o conteúdo do arquivo de log e seus detalhes.

Verificar arquivos de log

Se você chegou aqui, significa que instalou e configurou com sucesso a pilha ELK com filebeat. Tenho algum problema? Fique à vontade para nos informar nos comentários abaixo.

Como mostrar o contador de FPS em jogos Linux
Os jogos Linux tiveram um grande impulso quando a Valve anunciou o suporte Linux para o cliente Steam e seus jogos em 2012. Desde então, muitos jogos ...
Como baixar e jogar Sid Meier's Civilization VI no Linux
Introdução ao jogo Civilization 6 é uma versão moderna do conceito clássico introduzido na série de jogos Age of Empires. A ideia era bastante simples...
Como instalar e jogar Doom no Linux
Introdução ao Doom A série Doom teve origem nos anos 90 após o lançamento do Doom original. Foi um sucesso instantâneo e, a partir desse momento, a sé...