Elastic Search

Visualize logs do Apache com ELK Stack

Visualize logs do Apache com ELK Stack

Monitorar e analisar logs para várias infraestruturas em tempo real pode ser uma tarefa muito tediosa. Ao lidar com serviços como servidores web que registram dados constantemente, o processo pode ser muito complexo e quase impossível.

Como tal, saber como usar ferramentas para monitorar, visualizar e analisar registros em tempo real pode ajudá-lo a rastrear e solucionar problemas e monitorar atividades suspeitas do sistema.

Este tutorial irá discutir como você pode usar uma das melhores coleções de logs em tempo real e ferramentas de análise - ELK. Usando ELK, comumente conhecido como Elasticsearch, Logstash e Kibana, você pode coletar, registrar e analisar dados de um servidor web apache em tempo real.

O que é ELK Stack?

ELK é um acrônimo usado para se referir a três ferramentas principais de código aberto: Elasticsearch, Logstash e Kibana.

Elasticsearch é uma ferramenta de código aberto desenvolvida para encontrar correspondências em uma grande coleção de conjuntos de dados usando uma seleção de linguagens e tipos de consulta. É uma ferramenta leve e rápida, capaz de lidar com terabytes de dados com facilidade.

Logstash motor é um link entre o lado do servidor e o Elasticsearch, permitindo que você colete dados de uma seleção de fontes para o Elasticsearch. Ele oferece APIs poderosas que são integráveis ​​com aplicativos desenvolvidos em várias linguagens de programação com facilidade.

Kibana é a peça final da pilha ELK. É uma ferramenta de visualização de dados que permite que você analise os dados visualmente e gere relatórios perspicazes. Ele também oferece gráficos e animações que podem ajudá-lo a interagir com seus dados.

A pilha ELK é muito poderosa e pode fazer coisas incríveis de análise de dados.

Embora os vários conceitos que discutiremos neste tutorial forneçam uma boa compreensão da pilha ELK, considere a documentação para obter mais informações.

Elasticsearch: https: // linkfy.para / Elasticsearch-Reference

Logstash: https: // linkfy.para / LogstashReference

Kibana: https: // linkfy.para / KibanaGuide

Como instalar o Apache?

Antes de começarmos a instalar o Apache e todas as dependências, é bom observar algumas coisas.

Testamos este tutorial no Debian 10.6, mas também funcionará com outras distribuições Linux.

Dependendo da configuração do seu sistema, você precisa de permissões de sudo ou root.

A compatibilidade e usabilidade da pilha ELK podem variar dependendo das versões.

A primeira etapa é garantir que seu sistema esteja totalmente atualizado:

sudo apt-get update
sudo apt-get upgrade

O próximo comando é instalar o servidor web apache2. Se você quiser um apache mínimo instalado, remova a documentação e utilitários do comando abaixo.

sudo apt-get install apache2 apache2-utils apache2-doc -y
sudo service apache2 start

Agora, você deve ter um servidor Apache rodando em seu sistema.

Como instalar Elasticsearch, Logstash e Kibana?

Agora precisamos instalar a pilha ELK. Estaremos instalando cada ferramenta individualmente.

Elasticsearch

Vamos começar instalando o Elasticsearch. Vamos usar o apt para instalá-lo, mas você pode obter uma versão estável na página de download oficial aqui:

https: // www.elástico.co / downloads / elasticsearch

Elasticsearch requer Java para ser executado. Felizmente, a versão mais recente vem com um pacote OpenJDK, eliminando o incômodo de instalá-lo manualmente. Se você precisar fazer uma instalação manual, consulte o seguinte recurso:

https: // www.elástico.co / guide / en / elasticsearch / reference / current / setup.html # jvm-version

Na próxima etapa, precisamos baixar e instalar a chave de assinatura oficial do Elastic APT usando o comando:

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

Antes de continuar, você pode exigir um pacote apt-transport-https (necessário para pacotes servidos por https) antes de prosseguir com a instalação.

sudo apt-get install apt-transport-https

Agora, adicione as informações do repositório apt às fontes.Lista.arquivo d.

echo “deb https: // artefatos.elástico.co / packages / 7.x / apt stable main ”| sudo tee / etc / apt / sources.Lista.d / elástico-7.x.Lista

Em seguida, atualize a lista de pacotes em seu sistema.

sudo apt-get update

Instale o Elasticsearch usando o comando abaixo:

sudo apt-get install elasticsearch

Depois de instalar o Elasticsearch, inicie e habilite a inicialização com os comandos systemctl:

sudo systemctl daemon-reload
sudo systemctl ativar elasticsearch.serviço
sudo systemctl start elasticsearch

O serviço pode demorar um pouco para começar. Aguarde alguns minutos e confirme se o serviço está instalado e funcionando com o comando:

sudo systemctl status elasticsearch.serviço

Usando cURL, teste se a API Elasticsearch está disponível, conforme mostrado na saída JSON abaixo:

curl -X GET "localhost: 9200 /?bonito"

"nome": "debian",
"cluster_name": "elasticsearch",
"cluster_uuid": "VZHcuTUqSsKO1ryHqMDWsg",
"versão":
"número": "7.10.1 ",
"build_flavor": "default",
"build_type": "deb",
"build_hash": "1c34507e66d7db1211f66f3513706fdf548736aa",
"build_date": "2020-12-05T01: 00: 33.671820Z ",
"build_snapshot": false,
"lucene_version": "8.7.0 ",
"minimum_wire_compatibility_version": "6.8.0 ",
"minimum_index_compatibility_version": "6.0.0-beta1 "
,
“Slogan”: “Você sabe, para pesquisar”

Como instalar o Logstash?

Instale o pacote logstash usando o comando:

sudo apt-get install logstash

Como instalar o Kibana?

Digite o comando abaixo para instalar o kibana:

sudo apt-get install kibana

Como configurar Elasticsearch, Logstash e Kibana?

Veja como configurar a pilha ELK:

Como configurar o Elasticsearch?

No Elasticsearch, os dados são ordenados em índices. Cada um desses índices tem um ou mais fragmentos. Um fragmento é um mecanismo de pesquisa independente usado para manipular e gerenciar índices e consultas para um subconjunto em um cluster dentro do Elasticsearch. Um fragmento funciona como uma instância de um índice Lucene.

A instalação padrão do Elasticsearch cria cinco fragmentos e uma réplica para cada índice. Este é um bom mecanismo quando em produção. No entanto, neste tutorial, trabalharemos com um fragmento e sem réplicas.

Comece criando um modelo de índice no formato JSON. No arquivo, definiremos o número de fragmentos para uma e zero réplicas para nomes de índice correspondentes (fins de desenvolvimento).

No Elasticsearch, um modelo de índice se refere a como você instrui o Elasticsearch na configuração do índice durante o processo de criação.

Dentro do arquivo de modelo json (index_template.json), insira as seguintes instruções:


"modelo":"*",
"definições":
"índice":
"numero_de_shards": 1,
"numero_de_replicas": 0


Usando cURL, aplique a configuração json ao modelo, que será aplicado a todos os índices criados.

curl -X PUT http: // localhost: 9200 / _template / defaults -H 'Content-Type: application / json' -d @index_template.json
"reconhecido": verdadeiro

Uma vez aplicado, Elasticsearch responderá com uma declaração reconhecida: verdadeira.

Como configurar o Logstash?

Para que o Logstash colete logs do Apache, devemos configurá-lo para observar quaisquer mudanças nos logs, coletando, processando e salvando os logs no Elasticsearch. Para que isso aconteça, você precisa configurar o caminho do log de coleta no Logstash.

Comece criando a configuração do Logstash no arquivo / etc / logstash / conf.d / apache.conf

entrada
Arquivo
path => '/ var / www / * / logs / access.registro'
type => "apache"


filtro
grok
match => "message" => "% COMBINEDAPACHELOG"


resultado
elasticsearch

Agora certifique-se de habilitar e iniciar o serviço logstash.

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

Como habilitar e configurar o Kibana?

Para habilitar o Kibana, edite o principal .arquivo de configuração yml localizado em / etc / kibana / kibana.yml. Localize as seguintes entradas e descomente-as. Uma vez feito isso, use systemctl para iniciar o serviço Kibana.

servidor.porta: 5601
servidor.host: "localhost"
sudo systemctl enable kibana.serviço && sudo systemctl start kibana.serviço

Kibana cria padrões de índice com base nos dados processados. Portanto, você precisa coletar logs usando Logstash e armazená-los no Elasticsearch, que Kibana pode usar. Use curl para gerar logs do Apache.

Depois de obter os registros do Apache, inicie o Kibana em seu navegador usando o endereço http: // localhost: 5601, que iniciará a página de índice do Kibana.

No principal, você precisa configurar o padrão de índice usado pelo Kibana para pesquisar logs e gerar relatórios. Por padrão, Kibana usa o padrão de índice logstash *, que corresponde a todos os índices padrão gerados pelo Logstash.

Se você não tiver nenhuma configuração, clique em criar para começar a visualizar os registros.

Como visualizar registros Kibana?

Conforme você continua realizando solicitações do Apache, o Logstash coletará os logs e os adicionará ao Elasticsearch. Você pode ver esses registros no Kibana clicando na opção Descobrir no menu à esquerda.

A guia de descoberta permite que você visualize os registros à medida que o servidor os gera. Para ver os detalhes de um registro, basta clicar no menu suspenso.

Leia e entenda os dados dos logs do Apache.

Como pesquisar registros?

Na interface do Kibana, você encontrará uma barra de pesquisa que permite pesquisar dados usando strings de consulta.

Exemplo: status: ativo

Saiba mais sobre strings de consulta ELK aqui:

https: // www.elástico.co / guide / en / elasticsearch / reference / 5.5 / query-dsl-query-string-query.html # query-string-syntax

Já que estamos lidando com logs do Apache, uma possível correspondência é um código de status. Portanto, pesquise:

resposta: 200

Este código irá pesquisar por logs com o código de status de 200 (OK) e exibi-los para Kibana.

Como visualizar registros?

Você pode criar painéis visuais no Kibana selecionando a guia Visualizar. Selecione o tipo de painel para criar e selecione seu índice de pesquisa. Você pode usar o padrão para fins de teste.

Conclusão

Neste guia, discutimos uma visão geral de como usar a pilha ELK para gerenciar registros. No entanto, há mais nessas tecnologias que este artigo pode cobrir. Recomendamos explorar por conta própria.

Top jogos do Oculus App Lab
Se você é proprietário de um fone de ouvido Oculus, deve estar informado sobre o carregamento lateral. Sideload é o processo de instalação de conteúdo...
Os 10 melhores jogos para jogar no Ubuntu
A plataforma Windows tem sido uma das plataformas dominantes para jogos devido à grande porcentagem de jogos que estão sendo desenvolvidos hoje para o...
5 melhores jogos de arcade para Linux
Hoje em dia, os computadores são máquinas sérias usadas para jogos. Se você não pode obter a nova pontuação máxima, você saberá o que quero dizer. Nes...