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.