Introdução
Fazer o rastreamento dos logs do servidor web é essencial para executar seu site sem problemas, solucionar questões e entender o comportamento dos usuários. Se você estiver usando Nginx, ele produz logs de acesso e erros cheios de informações valiosas. Para gerenciar e analisar esses logs, você pode usar o Logstash para processar e encaminhá-los e o Managed OpenSearch do DigitalOcean para indexar e visualizar os dados.
Neste tutorial, nós vamos guiar você pelo processo de instalação do Logstash em uma Droplet, configurá-lo para coletar seus logs de Nginx e enviá-los para o Managed OpenSearch do DigitalOcean.
Pré-requisitos
-
Uma conta de cloud do DigitalOcean e uma Droplet Ubuntu executando.
-
O Nginx deve ser configurado e logs devem ser gerados em sua Droplet. Para instalar o Nginx em uma Droplet, considere este tutorial em Como Instalar Nginx no Ubuntu.
-
O cluster OpenSearch deve estar em execução e você deve ter acesso a ele. Visite Como Criar Clusters OpenSearch para obter mais detalhes.
-
Conhecimento com Nginx, Logstash, e OpenSearch é benefício.
Caso de Uso
Você pode precisar desta configuração se quiser:
- Monitorar e resolver problemas: Rastrear o desempenho do servidor web e erros analisando logs em tempo real.
- Analizar Desempenho: Obter insights sobre padrões de tráfego web e métricas de servidor.
- Centralizar Logging: Agrupar logs de vários servidores Nginx em uma única instância OpenSearch para melhor gerenciamento.
Nota: O tempo de configuração deve ser de aproximadamente 30 minutos.
Passo 1 – Instalar Logstash em Droplet
O Logstash pode ser instalado usando arquivos binários disponíveis aqui ou repositórios de pacotes personalizados para o seu sistema operacional. Para gerenciamento e atualizações mais fáceis, é geralmente recomendado usar repositórios de pacotes. Você pode usar o gerenciador de pacotes APT em sistemas baseados em Debian, como Ubuntu, enquanto em sistemas baseados em Red Hat, como CentOS ou RHEL, você pode usar yum
. Ambos os métodos garantem que o Logstash seja integrado corretamente à infraestrutura de gerenciamento de pacotes do seu sistema, simplificando a instalação e o manutenção.
Nesta seção, vamos guiar você pelo processo de instalação do Logstash usando ambos os gerenciadores de pacotes apt
e yum
, garantindo que você possa configurar o Logstash em sua Droplet independentemente da sua distribuição Linux.
Para encontrar o Sistema Operacional, execute o comando a seguir:
Para Sistemas Baseados em APT (Ubuntu/Debian)
1.Baixe e instale a Chave de Assinatura Pública:
2.Instale apt-transport-https se não estiver já instalado:
3.Adicione e salve a definição do repositório do Logstash à sua lista de fontes apt
:
Nota: Certifique-se de que você não use comandos add-apt-repository
pois isso pode adicionar uma entrada deb-src
que não é suportada. Se você encontrar um erro relacionado a uma entrada deb-src
, exclua-a do arquivo /etc/apt/sources.list
. Se você adicionou a entrada deb-src
, você verá um erro como o seguinte:
Se você apenas excluir a entrada deb-src
do arquivo /etc/apt/sources.list
, a instalação deve funcionar como esperado.
4. Atualize o índice de pacotes para incluir o novo repositório:
5. Instale o Logstash usando o gerenciador de pacotes apt
:
6. Inicie o Logstash e habilite-o para iniciar automaticamente na boot:
O Logstash agora está instalado e executando no seu sistema.
Para Sistemas Baseados em YUM (CentOS/RHEL)
1. Baixe e instale a Chave de Assinatura Pública para o repositório do Logstash:
2. Crie um arquivo de repositório para o Logstash em /etc/yum.repos.d/
. Por exemplo, crie um arquivo chamado logstash.repo
. Você pode copiar e colar o conteúdo abaixo para criar o arquivo e atualizar o conteúdo:
O repositório está pronto para uso.
3. Instale o Logstash usando o gerenciador de pacotes YUM:
4. Inicie o Logstash e habilite-o para iniciar automaticamente na boot:
Logstash agora está instalado e executando no seu sistema.
Passo 2 – Instalando o Plugin de Saída Open Search
Você pode instalar o plugin de saída OpenSearch executando o seguinte comando:
Você pode encontrar mais informações sobre o plugin neste repositório do plugin logstash-output-opensearch.
Passo 3 – Configurando Logstash para Enviar Logs do Nginx para OpenSearch
Um pipeline do Logstash consiste em três estágios principais: entrada, filtro e saída. Os pipelines do Logstash usam plugins. Você pode usar plugins da comunidade ou criar seus próprios.
- Entrada: Este estado coleta dados de várias fontes. O Logstash suporta muitos plugins de entrada para lidar com fontes de dados como arquivos de log, bancos de dados, filas de mensagens e serviços em nuvem.
- Filtro: Este estado processa e transforma os dados coletados no estado de entrada. Os filtros podem modificar, enriquecer e estruturar os dados para torná-los mais úteis e fáceis de análise.
- Saída: Esta etapa envia dados processados para um destino. Destinos podem incluir bancos de dados, arquivos e armazenamentos de dados como o OpenSearch.
Agora vamos criar um pipeline.
1.Crie o arquivo de configuração do Logstash em /etc/logstash/conf.d/nginx-to-opensearch.conf
com o seguinte conteúdo:
Substitua:
OpenSearch-Hostname
pela hostname do seu servidor OpenSearch.<your_password>
pelo seu senha OpenSearch.
2.Aplique a nova configuração reiniciando o Logstash:
3.Verifique os logs do Logstash para garantir que está processando e encaminhando dados corretamente:
Análise da configuração nginx-to-opensearch.conf
ENTRADA
O bloco input
configura dois inputs de arquivo para ler logs:
Logs do Nginx:
Caminhos:
/var/log/nginx/access.log
(para logs de acesso)
/var/log/nginx/error.log
(para logs de erro)
Posição Inicial: beginning
– Lê do início dos arquivos de log.
Caminho do Sincedb: /dev/null
– Desabilita o rastreamento para leitura contínua.
Tags:
["nginx_access"]
para logs de acesso
["nginx_error"]
para logs de erro.
Nota: Certifique-se que o serviço do Logstash tenha acesso aos caminhos de entrada.
FILTRO
O bloco filter
processa logs baseado em suas tags:
Processamento de Logs:
Logs de Acesso:
Usa um filtro grok
para analisar o formato de log de acesso, extraindo campos como client_ip
, timestamp
, method
, request
, http_version
, response
, bytes
, referrer
, e user_agent
.
Remove o original message
e certos campos de metadados.
Logs de Erro:
Verifica a tag nginx_error
e aplica um filtro grok
para extrair campos como timestamp
, level
, pid
, tid
, e error_message
.
Também remove o message
e campos de metadados.
SAÍDA
O bloco output
roteia eventos para o OpenSearch baseado em suas tags:
Rotação para o OpenSearch:
Para ambos os logs de acesso e erros, especifica:
Hosts: URL do instanciamento do OpenSearch.
Usuário: doadmin
para autenticação.
Senha: Sua senha do OpenSearch.
Índice:
nginx_access-%{+YYYY.MM.dd}
para logs de acesso
nginx_error-%{+YYYY.MM.dd}
para logs de erro
Configurações de SSL: Habilita o SSL e a verificação de certificado.
Passo 4 – Configurar OpenSearch
1.Abra seu navegador da Internet e vá até a URL do Painel OpenSearch:
Substituir OpenSearch-Hostname
pelo hostname do seu servidor OpenSearch.
2.Crie um padrão de índice.
a. No menu lateral esquerdo, vá até Gerenciamento > Gerenciamento de Painéis > Padrões de Índice.
b. Clique em Criar padrão de índice no canto superior direito.
c. Insira nginx_access-*
ou nginx_error-*
como o padrão de índice para corresponder a todos os índices criados pelo Logstash e clique em Próximo passo.
d. Clique em Criar padrão de índice.
3.Verifique se o padrão de índice foi criado com sucesso e visível na lista de Padrões de Índice.
4.No menu lateral esquerdo, vá até Descobrir e selecione o padrão de índice que você criou (nginx_access-*
ou nginx_error-*
). Verifique se as entradas de log são visíveis e indexadas corretamente.
5.Crie visualizações e painéis. Visite Como Criar um Painel em OpenSearch para obter mais detalhes.
Resolução de problemas
Verificar Conexão
Você pode confirmar se o Logstash pode se conectar ao OpenSearch testando a conexão:
Substitua:
OpenSearch-Hostname
pelo hostname do seu servidor OpenSearch.<sua_senha>
pelo seu senha do OpenSearch.
Ingestão de Dados
Você pode assegurar que os dados estão sendo indexados corretamente no OpenSearch usando o seguinte comando curl:
Substitua:
OpenSearch-Hostname
pelo hostname do seu servidor OpenSearch.<sua_senha>
pela sua senha do OpenSearch.
Configuração de Firewall e Rede
Certifique-se de que as regras de firewall e as configurações de rede permitem o tráfego entre o Logstash e o OpenSearch na porta 25060
.
Conclusão
Neste guia, você aprendeu a configurar o Logstash para coletar e encaminhar registros do Nginx para o OpenSearch.
Você revisou como usar os gerenciadores de pacotes apt
ou yum
, dependendo da sua distribuição Linux, para obter o Logstash funcionando em sua Droplet. Você também criou e ajustou o arquivo de configuração do Logstash para garantir que os registros do Nginx são corretamente analisados e enviados para o OpenSearch. Em seguida, você configurou um padrão de índice no Dashboards do OpenSearch para verificar se os registros estão sendo indexados corretamente e são visíveis para análise. Com essas etapas concluídas, você deveria agora ter um conjunto funcional onde o Logstash coleta registros do Nginx e os envia para o OpenSearch. Este conjunto permite que você use as poderosas ferramentas de busca e visualização do OpenSearch para analisar seus registros de servidor.
Se você encontrar quaisquer problemas, confira as dicas de solução de problemas fornecidas e refira-se à documentação do Logstash e à documentação do OpenSearch para mais ajuda. O monitoramento regular manterá seu sistema de log running fluentemente e eficazmente.
Source:
https://www.digitalocean.com/community/tutorials/forward-nginx-logs-to-opensearch-using-logstash