Visualize logs Apache com pilha de alces

Visualize logs Apache com pilha de alces

Monitorando e analisando toras para várias infraestruturas em tempo real pode ser um trabalho muito tedioso. Ao lidar com serviços como servidores da web que registram constantemente os dados, o processo pode ser muito complexo e quase impossível.

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

Este tutorial 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 da Web Apache em tempo real.

O que é pilha de alces?

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 desenvolvido para encontrar correspondências em uma grande coleção de conjuntos de dados usando uma seleção de idiomas e tipos de consulta. É uma ferramenta leve e rápida capaz de lidar com terabytes de dados com facilidade.

Logstash O mecanismo é um link entre o lado do servidor e o Elasticsearch, permitindo coletar dados de uma seleção de fontes para o Elasticsearch. Ele oferece APIs poderosas que são integráveis ​​às aplicações desenvolvidas em várias linguagens de programação com facilidade.

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

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

Embora os vários conceitos que discutiremos neste tutorial lhe darão uma boa compreensão da pilha de alces, 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 notar algumas coisas.

Testamos este tutorial sobre o 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 raiz.

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

O primeiro passo é garantir que você tenha seu sistema totalmente atualizado:

Atualização de sudo apt-get
Atualização de sudo apt-get

O próximo comando é instalar o servidor da web do Apache2. Se você deseja um Apache mínimo instalado, remova a documentação e os utilitários do comando abaixo.

sudo apt-get install apache2 apache2-utils apache2-doc -y
SUDO SERVIÇO APACHE2 START

Até agora, você deve ter um servidor Apache em execução no seu sistema.

Como instalar o Elasticsearch, Logstash e Kibana?

Agora precisamos instalar a pilha de alces. 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 da página de download oficial aqui:

https: // www.elástico.CO/Downloads/Elasticsearch

Elasticsearch exige que Java seja executado. Felizmente, a versão mais recente vem com um pacote OpenJDK, removendo o aborrecimento de instalá -lo manualmente. Se você precisar fazer uma instalação manual, consulte o seguinte recurso:

https: // www.elástico.CO/guia/pt/elasticsearch/reference/corrente/configuração.HTML#JVM-Version

Na próxima etapa, precisamos fazer o download e instalar a chave de assinatura Elastic Apt oficial usando o comando:

wget -qo - https: // artefatos.elástico.Pesquisa de co/gpg-key-elástica | Sudo Apt-Key Add -

Antes de prosseguir, você pode precisar de 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 APT repo às fontes.lista.Arquivo D.

eco “Deb https: // artefatos.elástico.Co/Pacotes/7.x/apt estável principal ”| sudo tee/etc/apt/fontes.lista.d/elástico-7.x.lista

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

Atualização de sudo apt-get

Instale o Elasticsearch usando o comando abaixo:

sudo apt-get Install Elasticsearch

Depois de instalar o Elasticsearch, iniciar e ativar o início dos comandos SystemCTL:

SUDO SystemCTL Daemon-Reload
sudo systemctl atability Elasticsearch.serviço
SUDO SystemCtl Elasticsearch

O serviço pode demorar um pouco para começar. Aguarde alguns minutos e confirme que o serviço está em funcionamento com o comando:

SUDO SYSTEMCTL 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": "Padrão",
"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 pesquisa”

Como instalar o Logstash?

Instale o pacote Logstash usando o comando:

sudo apt-get install Logstash

Como instalar Kibana?

Digite o comando abaixo para instalar o Kibana:

sudo apt-get install kibana

Como configurar o Elasticsearch, Logstash e Kibana?

Veja como configurar a pilha de alces:

Como configurar o Elasticsearch?

No Elasticsearch, os dados são ordenados em índices. Cada um desses índices tem um ou mais Shard. Um fragmento é um mecanismo de pesquisa independente usado para manusear e gerenciar índices e consultas para um subconjunto em um cluster no 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 estiver 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 shards como um e zero réplicas para nomes de índices correspondentes (fins de desenvolvimento).

No Elasticsearch, um modelo de índice refere -se à maneira 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":"*",
"configurações":
"índice":
"number_of_shards": 1,
"number_of_replicas": 0


Usando CURL, aplique a configuração JSON no modelo, que será aplicado a todos os índices criados.

CURL -X CUTO http: // localhost: 9200/_template/intafults -h 'content -type: Application/json' -d @index_template.JSON
"reconhecido": true

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

Como configurar o Logstash?

Para Logstash reunir logs do Apache, devemos configurá -lo para assistir a quaisquer alterações nos logs coletando, processando e salvando os logs para elasticsearch. Para que isso aconteça, você precisa configurar o caminho de coleção em Logstash.

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

entrada
arquivo
caminho => '/var/www/*/logs/acesso.registro'
tipo => "Apache"


filtro
Grok
Match => "message" => "%CombinedApachelog"


saída
Elasticsearch

Agora certifique -se de ativar e iniciar o serviço Logstash.

sudo systemctl Ativar Logstash.serviço
sudo systemctl iniciar logstash.serviço

Como ativar e configurar Kibana?

Para ativar o kibana, edite o principal .Arquivo de configuração YML localizado em/etc/kibana/kibana.yml. Localize as seguintes entradas e descompor -as. Uma vez feito, use o SystemCTL para iniciar o serviço Kibana.

servidor.Porta: 5601
servidor.Anfitrião: "Localhost"
sudo systemctl habilitar 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 o Logstash e armazená -los no Elasticsearch, que Kibana pode usar. Use Curl para gerar logs do Apache.

Depois de ter logs do Apache, inicie Kibana no seu navegador usando o endereço http: // localhost: 5601, que lançará a página do índice Kibana.

Em geral, você precisa configurar o padrão de índice usado pelo Kibana para procurar 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 pela Logstash.

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

Como ver os logs de Kibana?

À medida que você continua a executar solicitações do Apache, o Logstash coletará os logs e os adicionará ao Elasticsearch. Você pode visualizar esses logs em Kibana clicando na opção Discover no menu esquerdo.

A guia Discover permite visualizar os logs à medida que o servidor os gera. Para visualizar os detalhes de um log, basta clicar no menu suspenso.

Leia e entenda os dados dos logs do Apache.

Como procurar logs?

Na interface 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/guia/pt/elasticsearch/reference/5.5/Query-DSL-Query-String-Query.HTML#Query-string-syntax

Como estamos lidando com os logs do Apache, uma correspondência possível é um código de status. Portanto, pesquisa:

Resposta: 200

Este código procurará logs com o código de status de 200 (OK) e o exibirá para Kibana.

Como visualizar logs?

Você pode criar painéis visuais em Kibana, selecionando a guia Visualize. 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 de alces para gerenciar logs. No entanto, há mais nessas tecnologias que este artigo pode cobrir. Recomendamos explorar por conta própria.