Integração com hosts existentes
Esta seção explica como configurar seus hosts existentes para enviar logs do sistema ao ClickStack, modificando a configuração do OTel collector do ClickStack para ler todos os arquivos de log do sistema (syslog, auth, kernel, daemon e logs de aplicação).
Se você quiser testar a integração de log do host antes de configurar seu próprio ambiente existente, pode usar nossa configuração pré-configurada e os dados de exemplo na seção "Dataset de demonstração".
Pré-requisitos
- Instância do ClickStack em execução
- Sistema com arquivos de syslog
- Acesso para modificar os arquivos de configuração do ClickStack
Verifique se existem arquivos de syslog
Primeiro, verifique se o seu sistema está gravando arquivos de syslog:
# Check if syslog files exist (Linux)
ls -la /var/log/syslog /var/log/messages
# Or on macOS
ls -la /var/log/system.log
# View recent entries
tail -20 /var/log/syslogLocais comuns do syslog:
- Ubuntu/Debian:
/var/log/syslog - RHEL/CentOS/Fedora:
/var/log/messages - macOS:
/var/log/system.log
Criar configuração personalizada do OTel collector
O ClickStack permite estender a configuração base do OpenTelemetry Collector montando um arquivo de configuração personalizado e definindo uma variável de ambiente.
Crie um arquivo chamado host-logs-monitoring.yaml com a configuração do seu sistema:
receivers:
filelog/syslog:
include:
- /var/log/syslog
- /var/log/**/*.log
start_at: end
operators:
- type: regex_parser
regex: '^(?P<timestamp>\S+) (?P<hostname>\S+) (?P<unit>\S+?)(?:\[(?P<pid>\d+)\])?: (?P<message>.*)$'
parse_from: body
parse_to: attributes
- type: time_parser
parse_from: attributes.timestamp
layout_type: gotime
layout: '2006-01-02T15:04:05.999999-07:00'
- type: add
field: attributes.source
value: "host-logs"
- type: add
field: resource["service.name"]
value: "host-production"
service:
pipelines:
logs/host:
receivers: [filelog/syslog]
processors:
- memory_limiter
- transform
- batch
exporters:
- clickhousereceivers:
filelog/syslog:
include:
- /var/log/syslog
- /var/log/messages
- /var/log/**/*.log
start_at: end
operators:
- type: regex_parser
regex: '^(?P<timestamp>\w+ \d+ \d{2}:\d{2}:\d{2}) (?P<hostname>\S+) (?P<unit>\S+?)(?:\[(?P<pid>\d+)\])?: (?P<message>.*)$'
parse_from: body
parse_to: attributes
- type: time_parser
parse_from: attributes.timestamp
layout: '%b %d %H:%M:%S'
- type: add
field: attributes.source
value: "host-logs"
- type: add
field: resource["service.name"]
value: "host-production"
service:
pipelines:
logs/host:
receivers: [filelog/syslog]
processors:
- memory_limiter
- transform
- batch
exporters:
- clickhousereceivers:
filelog/syslog:
include:
- /var/log/system.log
- /host/private/var/log/*.log
start_at: end
operators:
- type: regex_parser
regex: '^(?P<timestamp>\w+ \d+ \d{2}:\d{2}:\d{2}) (?P<hostname>\S+) (?P<unit>\S+?)(?:\[(?P<pid>\d+)\])?: (?P<message>.*)$'
parse_from: body
parse_to: attributes
- type: time_parser
parse_from: attributes.timestamp
layout: '%b %d %H:%M:%S'
- type: add
field: attributes.source
value: "host-logs"
- type: add
field: resource["service.name"]
value: "host-production"
service:
pipelines:
logs/host:
receivers: [filelog/syslog]
processors:
- memory_limiter
- transform
- batch
exporters:
- clickhouseTodas as configurações:
- Leia os arquivos de syslog em seus locais padrão
- Analise o formato de syslog para extrair campos estruturados (timestamp, hostname, unidade/serviço, PID, mensagem)
- Preservar os timestamps originais dos logs
- Adicione o atributo
source: host-logspara filtrar no HyperDX - Encaminhe os logs ao exportador do ClickHouse por meio de um pipeline dedicado
Configure o ClickStack para carregar uma configuração personalizada
Para habilitar uma configuração personalizada do collector na implantação existente do ClickStack, você deve:
- Montar o arquivo de configuração personalizado em
/etc/otelcol-contrib/custom.config.yaml - Definir a variável de ambiente
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - Montar o diretório de syslog para que o collector possa lê-lo
Opção 1: Docker Compose
Atualize a configuração da implantação do ClickStack:
services:
clickstack:
# ... existing configuration ...
environment:
- CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml
# ... other environment variables ...
volumes:
- ./host-logs-monitoring.yaml:/etc/otelcol-contrib/custom.config.yaml:ro
- /var/log:/var/log:ro
# ... other volumes ...Opção 2: Docker Run (imagem all-in-one)
Se estiver usando a imagem all-in-one com docker run:
docker run --name clickstack \
-p 8080:8080 -p 4317:4317 -p 4318:4318 \
-e CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml \
-v "$(pwd)/host-logs-monitoring.yaml:/etc/otelcol-contrib/custom.config.yaml:ro" \
-v /var/log:/var/log:ro \
clickhouse/clickstack-all-in-one:latestVerificando logs no HyperDX
Depois de configurar, faça login no HyperDX e verifique se os logs estão chegando:
- Acesse a Search view
- Defina a source como Logs
- Filtre por
source:host-logspara ver logs específicos do host - Você deverá ver entradas de log estruturadas com campos como
unit,hostname,pid,messageetc.


Dataset de demonstração
Para usuários que desejam testar a integração de logs do host antes de configurar seus sistemas de produção, fornecemos um conjunto de dados de exemplo com logs de sistema pré-gerados e padrões realistas.
Baixe o conjunto de dados de exemplo
Baixe o arquivo de log de exemplo:
curl -O https://datasets-documentation.s3.eu-west-3.amazonaws.com/clickstack-integrations/host-logs/journal.logO conjunto de dados inclui:
- Sequência de inicialização do sistema
- Atividade de login via SSH (tentativas bem-sucedidas e com falha)
- Incidente de segurança (ataque de força bruta com resposta do fail2ban)
- Manutenção agendada (jobs do cron, anacron)
- Reinicializações de serviço (rsyslog)
- Mensagens do kernel e atividade do firewall
- Combinação de operações normais e eventos relevantes
Crie a configuração de teste do collector
Crie um arquivo chamado host-logs-demo.yaml com a seguinte configuração:
cat > host-logs-demo.yaml << 'EOF'
receivers:
filelog/journal:
include:
- /tmp/host-demo/journal.log
start_at: beginning
operators:
- type: regex_parser
regex: '^(?P<timestamp>\S+) (?P<hostname>\S+) (?P<unit>\S+?)(?:\[(?P<pid>\d+)\])?: (?P<message>.*)$'
parse_from: body
parse_to: attributes
- type: time_parser
parse_from: attributes.timestamp
layout: '%Y-%m-%dT%H:%M:%S%z'
- type: add
field: attributes.source
value: "host-demo"
- type: add
field: resource["service.name"]
value: "host-demo"
service:
pipelines:
logs/host-demo:
receivers: [filelog/journal]
processors:
- memory_limiter
- transform
- batch
exporters:
- clickhouse
EOFExecute o ClickStack com a configuração de demonstração
Execute o ClickStack com os logs de demonstração e a configuração correspondente:
docker run --name clickstack-demo \
-p 8080:8080 -p 4317:4317 -p 4318:4318 \
-e CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml \
-v "$(pwd)/host-logs-demo.yaml:/etc/otelcol-contrib/custom.config.yaml:ro" \
-v "$(pwd)/journal.log:/tmp/host-demo/journal.log:ro" \
clickhouse/clickstack-all-in-one:latestVerifique os logs no HyperDX
Quando o ClickStack estiver em execução:
- Abra o HyperDX e faça login na sua conta (talvez seja necessário criar uma conta primeiro)
- Vá para 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


Dashboards e visualização
Para ajudar você a começar a monitorar logs do host com o ClickStack, fornecemos visualizações essenciais para logs do sistema.
Baixe 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
host-logs-dashboard.jsone clique em Finish Import

Visualize o dashboard
O dashboard será criado com todas as visualizações pré-configuradas:

As principais visualizações incluem:
- Volume de logs ao longo do tempo por severidade
- Principais unidades do systemd que geram logs
- Atividade de login via SSH (bem-sucedidos vs. falhos)
- Atividade do firewall (bloqueado vs. permitido)
- Eventos de segurança (logins com falha, banimentos e bloqueios)
- Atividade de reinicialização de serviços
Solução de problemas
Configuração personalizada não está sendo carregada
Verifique se a variável de ambiente está definida:
docker exec <container-name> printenv CUSTOM_OTELCOL_CONFIG_FILEVerifique se o arquivo de configuração personalizado está montado e pode ser lido:
docker exec <container-name> cat /etc/otelcol-contrib/custom.config.yaml | head -10Nenhum log aparece no HyperDX
Verifique se os arquivos de syslog existem e estão sendo gravados:
# Verificar se o syslog existe
ls -la /var/log/syslog /var/log/messages
# Verificar se os logs estão sendo gravados
tail -f /var/log/syslogVerifique se o collector consegue ler os logs:
docker exec <container> cat /var/log/syslog | head -20Verifique se a configuração efetiva inclui o receiver filelog:
docker exec <container> cat /etc/otel/supervisor-data/effective.yaml | grep -A 10 filelogVerifique se há erros nos logs do collector:
docker exec <container> cat /etc/otel/supervisor-data/agent.log | grep -i "filelog\|syslog"Se estiver usando o dataset de demonstração, verifique se o arquivo de log está acessível:
docker exec <container> cat /tmp/host-demo/journal.log | wc -lLogs não estão sendo analisados corretamente
Verifique se o formato do seu syslog corresponde à configuração escolhida:
Para Linux moderno (Ubuntu 24.04+):
# Deve exibir o formato ISO8601: 2025-11-17T20:55:44.826796+00:00
tail -5 /var/log/syslogPara versões legadas do Linux ou macOS:
# Deve exibir o formato tradicional: Nov 17 14:16:16
tail -5 /var/log/syslog
# ou
tail -5 /var/log/system.logSe o formato não corresponder, selecione a guia de configuração adequada na seção Criar uma configuração personalizada do OTel collector.
Próximos passos
- Configure alertas para eventos críticos do sistema (falhas de serviço, falhas de autenticação, avisos de disco)
- Filtre por unidades específicas para monitorar determinados serviços
- Correlacione logs do host com logs de aplicações para uma solução de problemas mais abrangente
- Crie dashboards personalizados para monitoramento de segurança (tentativas de SSH, uso de sudo, bloqueios de firewall)
Preparando para produção
Este guia utiliza o OpenTelemetry Collector integrado do ClickStack para uma configuração rápida. Para implantações em produção, recomendamos executar seu próprio OTel Collector e enviar os dados para o endpoint OTLP do ClickStack. Consulte Enviando dados do OpenTelemetry para a configuração de produção.