ResumoColete e visualize logs do sistema de instâncias EC2 no ClickStack usando o OpenTelemetry Collector com enriquecimento automático de metadados da instância EC2 (ID da instância, região, AZ, tipo de instância). Inclui um dataset de demonstração e um dashboard pré-configurado.
Integração com uma instância EC2 existente
Executando o ClickStack na mesma instância EC2?Se o ClickStack estiver em execução na mesma instância EC2 cujos logs você deseja monitorar, você pode usar a abordagem tudo-em-um, semelhante ao guia de logs de host genéricos. Monte
/var/log no contêiner do ClickStack e adicione o processador resourcedetection à sua configuração personalizada para capturar automaticamente os metadados da EC2. Este guia se concentra na arquitetura distribuída, que é a mais comum em implantações de produção.Pré-requisitos
- Instância do ClickStack em execução (pode ser on-premises, na nuvem ou localmente)
- Instância EC2 em execução (Ubuntu, Amazon Linux ou outra distribuição Linux)
- Conectividade de rede entre a instância EC2 e o endpoint OTLP do ClickStack (porta 4318 para HTTP ou 4317 para gRPC)
- Serviço de metadados da instância EC2 acessível (habilitado por padrão)
Verifique se os metadados do EC2 estão acessíveis
A partir da sua instância EC2, verifique se o serviço de metadados está acessível:- Se o serviço de metadados da instância está habilitado
- Se o IMDSv2 não está bloqueado por grupos de segurança ou ACLs de rede
- Se você está executando esses comandos na própria instância EC2
Os metadados da EC2 estão disponíveis em
http://169.254.169.254 a partir da própria instância. O processador resourcedetection do OpenTelemetry usa esse endpoint para enriquecer automaticamente os logs com o contexto de nuvem.Verifique se os arquivos de syslog existem
Verifique se a sua instância EC2 está gravando os arquivos de syslog:Instale o OpenTelemetry Collector
Instale a distribuição Contrib do OpenTelemetry Collector na instância EC2:Criar configuração do collector
Crie um arquivo de configuração para o OpenTelemetry Collector em/etc/otelcol-contrib/config.yaml:- Linux moderno (Ubuntu 24.04+)
- Linux legado (Amazon Linux 2, RHEL, versões mais antigas do Ubuntu)
Substitua o seguinte na configuração:
YOUR_CLICKSTACK_HOST: O hostname ou endereço IP em que o ClickStack está sendo executado- Para testes locais, você pode usar um túnel SSH (consulte a seção Solução de problemas)
- Lê arquivos de log do sistema nos locais padrão (
/var/log/syslogpara Ubuntu,/var/log/messagespara Amazon Linux/RHEL) - Analisa o formato syslog para extrair campos estruturados (timestamp, hostname, unidade/serviço, PID, mensagem)
- Detecta e adiciona automaticamente metadados da EC2 com o processador
resourcedetection - Inclui, opcionalmente, tags do EC2 (Name, Environment, Team), se houver
- Envia logs para o ClickStack via HTTP OTLP
Enriquecimento de metadados do EC2O processador
resourcedetection adiciona automaticamente estes atributos a cada log:cloud.provider: “aws”cloud.platform: “aws_ec2”cloud.region: região da AWS (por exemplo, “us-east-1”)cloud.availability_zone: zona de disponibilidade (por exemplo, “us-east-1a”)cloud.account.id: ID da conta AWShost.id: ID da instância do EC2 (por exemplo, “i-1234567890abcdef0”)host.type: tipo de instância (por exemplo, “t3.medium”)host.name: hostname da instância
Defina a chave de API do ClickStack
Exporte sua chave de API do ClickStack como uma variável de ambiente:Inicie o collector
Inicie o OpenTelemetry Collector:Para uso em produçãoConfigure o coletor para ser executado como um serviço do systemd, para que seja iniciado automaticamente na inicialização do sistema e reiniciado em caso de falha. Consulte a documentação do OpenTelemetry Collector para mais detalhes.
Verificando logs no HyperDX
Quando o coletor estiver em execução, entre no HyperDX e verifique se os logs estão chegando com metadados do EC2:- Acesse a tela de busca
- Defina a fonte como
Logs - Filtre por
source:ec2-host-logs - Clique em uma entrada de log para expandi-la
- Verifique se os atributos de recurso incluem metadados do EC2:
cloud.providercloud.regionhost.id(ID da instância)host.type(tipo de instância)cloud.availability_zone
dataset de demonstração
Baixe o conjunto de dados de exemplo
Baixe o arquivo de log de exemplo:- Sequência de inicialização do sistema
- Atividade de login via SSH (tentativas bem-sucedidas e malsucedidas)
- Incidente de segurança (ataque de força bruta com resposta do fail2ban)
- Manutenção agendada (tarefas do cron, anacron)
- Reinicializações de serviços (rsyslog)
- Mensagens do kernel e atividade do firewall
- Combinação de operações normais e eventos relevantes
Criar a configuração de teste do coletor
Crie um arquivo chamadoec2-host-logs-demo.yaml com a seguinte configuração:Para fins de demonstração, adicionamos manualmente os metadados da EC2 usando o processador
resource. Em produção, com instâncias EC2 reais, use o processador resourcedetection, que consulta automaticamente a API de metadados da EC2.Execute o ClickStack com a configuração de demonstração
Execute o ClickStack com os logs e a configuração de demonstração:Verifique os logs no HyperDX
Quando o collector estiver em execução:- Abra o HyperDX e entre na sua conta (talvez seja necessário criar uma conta primeiro)
- Acesse a Search view e defina a source como
Logs - Defina o intervalo de tempo como 2025-11-10 00:00:00 - 2025-11-13 00:00:00
- Filtre por
source:ec2-demo - Expanda uma entrada de log para ver os metadados da EC2 nos atributos de recurso
Exibição do fuso horárioO HyperDX exibe os timestamps no fuso horário local do seu navegador. Os dados de demonstração abrangem 2025-11-11 00:00:00 - 2025-11-12 00:00:00 (UTC). O intervalo de tempo mais amplo garante que você verá os logs de demonstração independentemente da sua localização. Depois que os logs aparecerem, você poderá reduzir o intervalo para um período de 24 horas para obter visualizações mais claras.
- ID da instância:
i-0abc123def456789 - Região:
us-east-1 - Zona de disponibilidade:
us-east-1a - Tipo de instância:
t3.medium
Dashboards e visualizações
a configuração do dashboard
Importe o dashboard pré-configurado
- Abra o HyperDX e vá para a seção Dashboards
- Clique em Import Dashboard no canto superior direito, no menu de reticências
- Faça upload do arquivo
host-logs-dashboard.jsone clique em Finish Import
Visualize o dashboard
O dashboard será criado com todas as visualizações pré-configuradas:Você pode filtrar as visualizações do dashboard por contexto do EC2:cloud.region:us-east-1- Mostra logs de uma região específicahost.type:t3.medium- Filtra por tipo de instânciahost.id:i-0abc123def456- Logs de uma instância específica
Para o dataset de demonstração, defina o intervalo de tempo como 2025-11-11 00:00:00 - 2025-11-12 00:00:00 (UTC) (ajuste com base no seu fuso horário local). Por padrão, o dashboard importado não terá um intervalo de tempo especificado.
Solução de problemas
Os metadados da instância EC2 não aparecem nos logs
- Se o serviço de metadados da instância está habilitado
- Se o IMDSv2 não está bloqueado por grupos de segurança
- Se você está executando o collector na própria instância EC2
Nenhum log aparece no HyperDX
Logs analisados incorretamente
Collector não inicia como serviço systemd
- API key não configurada corretamente no ambiente
- Erros de sintaxe no arquivo de configuração
- Problemas de permissão ao ler arquivos de log
Próximos passos
- Configure alertas para eventos críticos do sistema (falhas de serviço, falhas de autenticação, avisos de disco)
- Filtre por atributos de metadados da instância EC2 (região, tipo de instância, ID da instância) para monitorar recursos específicos
- Correlacione os logs de host do EC2 com os logs da aplicação para uma análise de problemas mais completa
- Crie dashboards personalizados para monitoramento de segurança (tentativas de SSH, uso de sudo, bloqueios de firewall)