A resposta curta: execute a pesquisa, clique em Exportar na barra de ferramentas do trabalho sob a barra de pesquisa e escolha Eventos Brutos, CSV or JSON. Para alguns milhares de eventos, é tudo o que você precisa. Para puxadas maiores, pule o navegador e use o CLI de pesquisa do Splunk ou o ponto de extremidade de exportação REST. Ambos transmitem resultados em vez de fazer o Splunk Web criar um arquivo enorme para você.
Por que exportar do Splunk se os dados já estão indexados? Normalmente porque alguém fora do seu Splunk precisa vê-los: um parceiro de IR, um colega de outra equipe, ou você, em um laptop, sem escrever SPL por uma hora. Prime Core tem 23.674 regras de detecção para Splunk mapeadas para 676 técnicas MITRE ATT&CK. Isso é muita lógica de detecção que você pode executar contra uma pequena fatia dos seus dados uma vez que eles estão fora. Abaixo está como obter essa fatia, sanitizar e investigá-la gratuitamente no LogTotal.
TL;DR
| Rota | Use quando | O que você precisa |
|---|---|---|
| Splunk Web → Exportar | Exportação única, pequena, você já tem a pesquisa aberta | Acesso de pesquisa ao índice |
| CLI de pesquisa do splunk | Você tem um shell em um cabeçalho de pesquisa do Splunk Enterprise | Acesso ao sistema operacional + credenciais do Splunk |
| Exportação de pesquisa REST/jobs | Grandes exportações, scripts ou Splunk Cloud | Acesso à porta de gerenciamento (8089) + um token |
Antes de começar
Três coisas decidem qual rota funciona para você: onde o seu Splunk está executando, o que seu papel pode pesquisar e se você tem permissão para retirar os dados.
- Acesso ao índice. Você só pode exportar o que seu papel pode pesquisar. Se uma pesquisa não retorna nada, mas você sabe que os dados estão lá, verifique os índices permitidos para seu papel antes de reescrever o SPL. Coloque index= na pesquisa explicitamente; não confie nos índices padrão.
- Splunk Cloud vs. Enterprise. Na Splunk Cloud Platform não há shell, então a rota CLI não está disponível. A API REST também não está ativada por padrão: alguém precisa solicitar acesso para o seu stack, e testes gratuitos não podem usá-la. A exportação pelo Splunk Web funciona em todos os lugares.
- Permissão para exportar. Logs brutos carregam nomes de usuários, nomes de host, IPs internos, às vezes tokens em URLs. LogTotal sanitiza uploads antes da análise, mas a política de manuseio de dados da sua empresa ainda se aplica. Obtenha a permissão primeiro. Leva cinco minutos, e você vai querer isso por escrito se isso se transformar em um incidente.
Os comandos abaixo seguem a documentação atual da Splunk para Splunk Enterprise e Splunk Cloud Platform, verificada em outubro de 2026. Links para cada página que usamos estão no final.
Passo 1: Delimite a pesquisa antes de exportar qualquer coisa
O erro mais comum é exportar um índice inteiro “apenas por precaução”. Você acaba com um arquivo que ninguém quer abrir. Decida qual pergunta você está respondendo, depois fixe índice, tipo de origem, host e tempo:
index=linux sourcetype=linux_secure host=web-03 earliest=-24h@h latest=@h
Para eventos de segurança do Windows coletados pelo Splunk Add-on para Windows em modo XML:
index=wineventlog source="XmlWinEventLog:Security" host=dc-01 earliest=-24h@h latest=@h
Duas regras mantêm a exportação útil.
Mantenha _raw. Se a pesquisa termina com stats, table ou chart, você está exportando um resumo, não logs, e o Splunk Web irá desativar o formato de Eventos Brutos. Exporte eventos, não resultados. Se optar por JSON, corte os campos extraídos para o arquivo não triplicar de tamanho:
... | fields _time host source sourcetype _raw
Use tempo absoluto quando for importante. earliest=-24h significa algo diferente a cada minuto. Se o Splunk tiver que refazer sua pesquisa durante a exportação (mais sobre isso abaixo), uma janela relativa pode retornar um conjunto ligeiramente diferente de eventos. Para algo relacionado a incidentes, use timestamps exatos.
Uma coisa a saber sobre dados do Windows: o Splunk não mantém os arquivos .evtx originais. Ele indexa o texto do evento renderizado, XML ou chave=valor clássico. Então o que você exporta é esse texto, não um EVTX binário.
Passo 2a: Exportar do Splunk Web
Ideal para exportações pequenas e únicas quando a pesquisa já está na sua tela.
- Execute a pesquisa e deixe o trabalho terminar. Exportar um trabalho em execução só lhe dá uma imagem parcial.
- Clique em Exportar (a seta de download) na linha de ações de trabalho sob a barra de pesquisa.
- Escolha o formato. Eventos Brutos lhe dão as linhas de log originais exatamente como foram indexadas, que é o que você deseja para fontes no estilo syslog como linux_secure. JSON mantenha host, fonte e tipo de origem ao lado de cada evento. Isso ajuda quando a exportação abrange vários hosts.
- Nomeie o arquivo de forma que você o reconheça na próxima semana, por exemplo web-03_sshd_2026-10-19.log.
- Deixe Número de Resultados em branco para exportar tudo o que a pesquisa retornou. Se você digitar 500, receberá os primeiros 500 e nada lhe dirá que havia mais.
- Clique em Exportar.
Um detalhe que confunde as pessoas: a exportação funciona a partir do artefato do trabalho de pesquisa, não do que você vê no navegador. Se o Splunk não manteve todos os resultados com o trabalho, o diálogo avisa que ele irá refazer a pesquisa primeiro. Isso é normal. Apenas leva mais tempo, razão pela qual o intervalo de tempo absoluto do Passo 1 é importante. Exportações muito longas também podem atingir o tempo limite da sessão do Splunk Web. Se a exportação durar minutos, mude para o CLI ou REST.
Passo 2b: Exportar com o CLI do Splunk (Apenas Enterprise)
Se você tem um shell no cabeçalho de pesquisa, esta é a rota mais rápida e fácil de automatizar. Faça login primeiro, para que sua senha não acabe no histórico do shell da forma que aconteceria com -auth:
$SPLUNK_HOME/bin/splunk login
$SPLUNK_HOME/bin/splunk search
'index=linux sourcetype=linux_secure host=web-03 earliest="10/19/2026:00:00:00" latest="10/20/2026:00:00:00"'
-preview 0 -maxout 0 -output rawdata > web-03_sshd.log
O que cada flag faz:
- -maxout 0 remove o limite. Por padrão, o CLI exporta 100 eventos e para sem uma palavra. Se o seu arquivo tem exatamente 100 linhas, é por isso, não um host silencioso.
- -preview 0 mantém os resultados de visualização fora do arquivo.
- -output rawdata grava as linhas originais. Use -output json se quiser eventos estruturados com metadados.
Você também pode executar o CLI contra um cabeçalho de pesquisa remoto com -uri https://<search-head>:8089, desde que a porta de gerenciamento seja acessível de onde você está.
Dois verificações rápidas de sanidade antes do upload:
wc -l web-03_sshd.log
head -3 web-03_sshd.log
Para fontes de linha única como linux_secure, a contagem de linhas deve corresponder aproximadamente à contagem de eventos que o Splunk Web mostra para a mesma pesquisa. As primeiras linhas devem parecer linhas de log, não mensagens de erro.
Passo 2c: Transmitir resultados através da API REST
Esta é a rota para grandes exportações, puxadas agendadas e Splunk Cloud (uma vez que o acesso REST está habilitado para o seu stack). O ponto final de exportação transmite resultados enquanto a pesquisa é executada, então não há trabalho para pesquisar e sem páginas de resultados para percorrer.
Use um token de autenticação em vez de um nome de usuário e senha. Você cria um em Configurações → Tokens, se o seu administrador tiver ativado a autenticação por token.
export SPLUNK_TOKEN='<seu token>'
curl -sS
-H "Authorization: Bearer $SPLUNK_TOKEN"
https://sh01.example.com:8089/services/search/v2/jobs/export
--data-urlencode search='search index=linux sourcetype=linux_secure host=web-03'
-d earliest_time='2026-10-19T00:00:00.000+00:00'
-d latest_time='2026-10-20T00:00:00.000+00:00'
-d output_mode=raw
-o web-03_sshd.log
Coisas que confundem as pessoas:
- A string de pesquisa deve começar com search (ou um comando gerador, como | tstats). Cole sua consulta sem isso e o Splunk a rejeita.
- output_mode=raw lhe dá as linhas originais, e é o modo mais rápido. output_mode=json transmite um objeto JSON por linha, com o evento sob uma chave de resultado. Se você só quer os eventos em si, elimine o envelope com jq: jq -c ‘select(.result) | .result’ export.json > events.ndjson. Para um upload no LogTotal, fique com raw.
- Instâncias de laboratório frequentemente usam certificados autoassinados, e cada resposta no Stack Overflow irá sugerir adicionar -k. Em produção, aponte o curl para o seu CA com –cacert em vez disso.
- Se você POST para search/v2/jobs e lê de /results, o servidor limita linhas por pedido, e você tem que paginar com offset. export não faz isso, razão pela qual deve ser usado aqui.
Passo 3: Upload, sanitizar e revisar no LogTotal
LogTotal é o serviço gratuito da SOC Prime para executar lógica de detecção contra um arquivo de log sem configurar nada. Ele sanitiza o que você envia e não mantém seus arquivos.
- Upload. Abra logtotal.com e solte no arquivo do Passo 2.
- Sanitizar. Revise antes de continuar. Você conhece seu ambiente melhor do que qualquer regra de mascaramento.
- Revisar.
Quando a exportação dá errado
| Sintoma | Provável causa | Fix |
|---|---|---|
| O arquivo CLI tem exatamente 100 eventos | O padrão do -maxout é 100 | Adicionar -maxout 0 |
| Eventos Brutos está desativado no diálogo de Exportação | A pesquisa termina em um comando de transformação (stats, table, chart) | Exporte os eventos em vez disso, ou escolha JSON |
| A pesquisa não retorna nada, mas os dados estão lá | O índice não está nos índices permitidos ou padrões do seu papel, ou o intervalo de tempo está errado | Adicione index= explicitamente; peça ao seu administrador sobre o papel |
| Diálogo diz que a pesquisa será refeita | O artefato do trabalho não manteve todos os resultados | Comportamento esperado; use um intervalo de tempo absoluto para que a repetição retorne os mesmos eventos |
| A exportação pelo navegador é interrompida ou o arquivo é cortado | Tempo limite da sessão do Splunk Web em uma exportação longa | Mude para o CLI ou REST |
| 401 Não Autorizado do curl | Token expirado, desativado, ou autenticação por token está desativada | Crie um novo token em Configurações → Tokens |
| curl trava ou recebe conexão recusada no 8089 | Porta de gerenciamento bloqueada, ou REST não habilitado no Splunk Cloud | Verifique as regras do firewall; solicite acesso REST para seu stack na Cloud |
| REST retorna um erro de sintaxe de pesquisa | A consulta não começa com search | Prefixe com search |
| O arquivo JSON é muito maior do que o esperado | Cada campo extraído foi exportado | Adicione | fields _time host source sourcetype _raw |
FAQ
Posso exportar logs do Splunk Cloud?
Sim. A exportação do Splunk Web funciona da mesma forma que no Enterprise. O ponto de extremidade de exportação REST funciona uma vez que o acesso da API está habilitado para o seu stack; testes gratuitos não o recebem. O CLI não é uma opção, porque não há shell no Splunk Cloud.
Posso recuperar os arquivos EVTX originais do Splunk?
Não. O Splunk armazena o texto do evento renderizado, não o binário .evtx. Você pode exportar esse texto como eventos brutos ou JSON. Para arquivos EVTX reais, exporte-os do próprio host Windows.
Eventos Brutos ou JSON: qual devo escolher para o LogTotal?
Brutos. Você obtém as mesmas linhas que estão no host, e o LogTotal lê arquivos no formato syslog como estão. JSON envolve cada evento na própria estrutura do Splunk. É útil quando você precisa de host e tipo de origem ao lado de cada evento, mas para um upload no LogTotal, brutos é a escolha mais segura.
É seguro fazer o upload de uma exportação do Splunk para uma ferramenta online?
LogTotal sanitiza uploads antes da análise e não retém arquivos.
Quantos eventos posso exportar?
Do lado do Splunk, quantos você quiser: deixe o Número de Resultados vazio no Splunk Web, ou defina -maxout 0 no CLI. Na prática, o limite é o tamanho do upload na outra extremidade. Portanto, vale a pena delimitar a pesquisa corretamente no Passo 1.