Em resumoColete e visualize logs do journal do systemd no ClickStack usando o journald receiver do OpenTelemetry Collector. Inclui um dataset de demonstração e um dashboard pré-configurado.
Integração com sistemas existentes
Pré-requisitos
- Instância do ClickStack em execução
- Sistema Linux com systemd (Ubuntu 16.04+, CentOS 7+, Debian 8+)
- Docker ou Docker Compose instalado no sistema monitorado
Obtenha a API key do ClickStack
O OpenTelemetry Collector envia dados para o endpoint OTLP do ClickStack, que exige autenticação.- Abra o HyperDX na URL do ClickStack (por exemplo, http://localhost:8080)
- Crie uma conta ou faça login, se necessário
- Vá para Team Settings → API Keys
- Copie sua API key de ingestão
- Defina-a como uma variável de ambiente:
Verifique se o journal do systemd está em execução
Verifique se o sistema usa systemd e se há logs no journal:Crie a configuração do OpenTelemetry Collector
Crie um arquivo de configuração para o OpenTelemetry Collector:Faça a implantação com Docker Compose
O receiver
journald exige o binário journalctl para ler os arquivos do journal. A imagem oficial otel/opentelemetry-collector-contrib não inclui journalctl por padrão.Para implantações em contêineres, você pode instalar o collector diretamente no host ou criar uma imagem personalizada com utilitários do systemd. Consulte a seção de Solução de problemas para mais detalhes.Verifique os logs no HyperDX
Depois da configuração, faça login no HyperDX e verifique se os logs estão chegando:- Vá para a visualização Busca
- Defina a source como Logs
- Filtre por
service.name:systemd-logs - Você deverá ver entradas de log estruturadas com campos como
unit,priority,MESSAGE,_HOSTNAME
Dataset de demonstração
Criar a configuração do coletor de demonstração
Crie um arquivo de configuração para a demonstração:Executar o ClickStack com dados de demonstração
Inicie o ClickStack com os logs de demonstração:A demonstração usa o receiver
filelog com logs em texto em vez de journald, para evitar a necessidade de journalctl no contêiner.Verificar os logs no HyperDX
Quando o ClickStack estiver em execução:- Abra o HyperDX e entre na sua conta
- Acesse a visualização Busca e defina a fonte como
Logs - Defina o intervalo de tempo como 2025-11-14 00:00:00 - 2025-11-17 00:00:00
Exibição de fuso horárioO HyperDX exibe os timestamps no fuso horário local do navegador. Os dados de demonstração cobrem o período de 2025-11-15 00:00:00 - 2025-11-16 00:00:00 (UTC). O intervalo de tempo mais amplo garante que você verá os logs de demonstração independentemente da sua localização.
Dashboards e visualização
a configuração do dashboard
Importe o dashboard pré-configurado
- Abra o HyperDX e navegue até a seção Dashboards
- Clique em Import Dashboard no canto superior direito, no menu de reticências
- Faça upload do arquivo
systemd-logs-dashboard.jsone clique em Finish Import
Visualize o dashboard
O dashboard inclui visualizações para:- Volume de logs ao longo do tempo
- Principais unidades do systemd por número de logs
- Eventos de autenticação SSH
- Falhas de serviço
- Taxas de erro
Para o demo dataset, defina o intervalo de tempo como 2025-11-15 00:00:00 - 2025-11-16 00:00:00 (UTC) (ajuste com base no seu fuso horário local).
Solução de problemas
Nenhum log aparece no HyperDX
erro de journalctl não encontrado
exec: "journalctl": executable file not found in $PATH:
A imagem otel/opentelemetry-collector-contrib não inclui o journalctl. Você pode:
- Instalar o collector no host:
- Use a abordagem de exportação em texto (como na demonstração) com o receiver
fileloglendo as exportações do journald
Próximos passos
- Configure alertas para eventos críticos do sistema (falhas de serviço, falhas de autenticação, encerramentos por OOM)
- Crie dashboards adicionais para casos de uso específicos (monitoramento de segurança do SSH, saúde do serviço)
- Filtre por unidades específicas do systemd para reduzir o ruído e focar nos serviços mais importantes
Colocando em produção
- Implantar o coletor como um Conjunto de Daemon no Kubernetes
- Executar o coletor como um serviço systemd em cada host
- Usar o OpenTelemetry Operator para automatizar a implantação