A Splunk Inc. é uma empresa americana de tecnologia com sede em San Francisco, Califórnia
A Splunk Inc. é uma empresa americana de tecnologia com sede em San Francisco, Califórnia

Splunk: o que é, como funciona e instalação

Lucas Ruiz Dirani
Fora de assunto
Published in
6 min readJun 2, 2021

--

Há quase dois anos trabalho com o desenvolvimento de automações console na plataforma .NET, e uma das ferramentas utilizadas para registrar logs e outros eventos importantes destes robôs é o Splunk.

A partir de hoje iniciarei uma série de publicações direcionadas ao entendimento da plataforma, tendo como base, sobretudo, o curso gratuito Splunk Fundamentals Part I. Inclusive, para quem se interessar, sugiro que faça essa e outras formações disponíveis no website educacional da empresa.

Finalizada a leitura do artigo, você estará apto a:

  • Explicar quais são os principais recursos do Splunk;
  • Visualizar o funcionamento geral do Splunk;
  • Instalar o Splunk Enterprise no sistema operacional do Windows.

O que é o Splunk?

O Splunk pode ser definido como um conjunto de serviços que permite a agregar, analisar, transformar, visualizar, compartilhar e realizar diversas outras operações em dados de quaisquer origens: computadores, dispositivos de rede, máquinas virtuais, arquivos, mensagens e muito mais.

A implantação da plataforma ocorre de três maneiras. A primeira delas, Splunk Enterprise, será vista adiante na postagem e tem seu processo de instalação feito localmente. Já a segunda forma é um serviço escalável disponibilizado na nuvem, chamado de Splunk Cloud. Por fim, recomendado à setores de menor infraestrutura, temos o Splunk Light.

Uma vez que o ambiente Splunk encontra-se configurado, os usuários são presenteados com os Splunk Apps. Sucintamente, eles oferecem inúmeras funcionalidades, como por exemplo, a consulta de dados armazenados e geração de relatórios. Alguns desses aplicativos estão instalados por padrão, e outros podem ser baixados através do Splunk Base. Existe também a possibilidade dos administradores criarem o seu próprio aplicativo se necessário.

Com relação ao gerenciamento de acessos, o ecossistema do Splunk adota o modelo de roles (papéis) aos usuários cadastrados na ferramenta. Desse jeito, os administradores conseguem definir quais recursos estarão acessíveis a cada pessoa logada. Cabe ressaltar que três papéis de destaque são providenciados no momento da criação de um usuário: Admin (acesso total), Power (acesso restringido à certos aplicativos) e User (acesso limitado a maioria das ações). Na eventualidade desses roles não satisfazerem os requisitos da empresa, o Splunk oportuniza a inclusão de papéis customizados.

Como o Splunk funciona?

De modo resumido, o Splunk está estruturado em componentes. Eles interagem para que todo o processo de obtenção, armazenamento, filtro e consulta dos dados seja veloz. Confira a seguir os três elementos indispensáveis na engrenagem do software:

  • Indexer;
  • Search Head;
  • Forwarder.

Começando pelo Indexer, este componente processa os dados enviados ao Splunk. Uma vez que as informações foram recebidas, ele armazena o resultado do processamento dos dados — eventos, em índices. Isso faz com que, posteriormente, os dados sejam localizados de maneira ágil. Enquanto os dados são indexados, o Indexer cria arquivos organizados em diretórios identificados por data e hora. Cada diretório detém os dados brutos compactados e índices que apontam para estes dados, viabilizando assim pesquisas rápidas.

Sob outra perspectiva, o Search Head atua primordialmente nas consultas feitas pelos usuários. Portanto, o componente se responsabiliza por habilitar a Splunk Search Language para a construção de queries. Dado que uma pesquisa foi elaborada e executada, o Search Head encaminha esta instrução aos Indexers. Em seguida, os resultados são retornados Indexer por Indexer, sendo que o Search Head encarrega-se de consolidar e extrair as chaves e valores dos campos presentes nos eventos obtidos. Complementarmente, os Search Heads oferecem ferramentas de transformação dos dados em reports, dashboards e visualizations.

Dando um desfecho aos componentes, os Forwarders são instâncias do Splunk Enterprise que consomem os dados submetidos ao servidor e encaminham-lhes logo depois para o Indexer processa-los. Tipicamente, cada Forwarder é instalado na máquina de onde os dados se originam: web servers, databases, etc.

Vale salientar que os componentes supracitados, mesmo despontando na categoria dos mais importantes, não são os únicos existentes na plataforma. A propósito, aproveitando a oportunidade, considero válido especificar as opções de deploy do Splunk junto desses seus mecanismos.

Quais são as alternativas de deploy do Splunk?

Conforme mencionado brevemente na seção “O que é o Splunk?”, o software possui várias maneiras de ser configurado pelos administradores. Agora entraremos em particularidades de cada uma dessas formas de realizar o deploy:

  • Standalone;
  • Basic;
  • Multi-Instance.

Na instalação Standalone, todas as funções do Splunk — indexamento, pesquisa, conversão e entrada de dados, ficam disponíveis em uma única instância da ferramenta. Esse tipo de configuração é o padrão do programa, e costuma ser indicado para ambientes de teste, prova de conceito e uso pessoal.

Por outro lado, a instalação Basic inclui as funções de indexamento, pesquisa e conversão de dados, bem como o gerenciamento de Forwarders. O input das informações fica a cargo justamente dos Forwarders, que coletam e encaminham os dados de origem para o servidor Splunk. Esta configuração é plausível para áreas reduzidas das empresas, e oferece o indexamento diário de 20GB de eventos, o cadastro de até vinte usuários e uma quantidade baixa de Forwarders para se comunicarem com o server.

Enfim, a instalação Multi-Instance assume o posto de deploy mais poderoso. Nela, o armazenamento e consulta de dados aumentam em performance, e as funções do Splunk espalham-se por inúmeras máquinas. Os serviços de indexamento e conversão são instalados em alguns computadores — Search Peers. Contudo, o componente Search Head é configurado em um dispositivo dedicado para lidar com as requisições dos usuários. Por último, colocam-se os Forwarders nos servidores de produção com o intuito de enviar os dados pretendidos. Destinada à empresas de maior porte, a implantação Multi-Instance indexa mais de 100GB de eventos por dia, suporta até cem usuários e oferece centenas de forwarders.

Instalando o Splunk Enterprise

Aprendemos sobre o que é o Splunk, seu funcionamento através dos componentes e os pormenores das opções de deploy. Suspeito que você esteja na expectativa para sair dessa parte teórica e explorar o software junto de suas funcionalidades. Se eu estiver correto, relaxe. Veremos imediatamente como implantar o Splunk Enterprise, que corresponde à instalação Standalone da plataforma.

O primeiro passo é criar uma conta no site oficial do Splunk. Após isso, acessar a página de downloads e selecionar o Splunk Enterprise de acordo com o seu sistema operacional. Caso você utilize o Windows assim como eu, basta baixar o instalador .msi e seguir as etapas descritas pelo programa. Para dúvidas e problemas com a implantação, sugiro que leia estas instruções.

Quando o Splunk for configurado, o serviço já estará em execução no Windows. A partir do endereço localhost de sua máquina, você poderá logar no sistema usando as credenciais definidas no passo a passo da instalação:

Tela de login do Splunk Enterprise
Tela de login do Splunk Enterprise

O deploy do Splunk trás consigo ainda uma coleção de comandos que ajudam o usuário a gerenciar e acompanhar o serviço. Eles funcionam apenas no diretório bin da instalação:

  • splunk help: exibe os principais comandos;
  • splunk start | stop | restart: inicia, encerra ou reinicia a plataforma;
  • splunk status: mostra o status do serviço;
  • splunk enable boot-start -user: roda o serviço na inicialização do sistema.

E agora?

Nos próximos artigos do blog discutirei a respeito da Splunk Search Language, expondo exemplos de consultas que podem ser construídas e executadas na sua instância do Splunk Enterprise. Portanto, botaremos a mão na massa. Você descobrirá com base na prática o poder oferecido pelo Splunk aos usuários que desejam gerar relatórios, dashboards e visualizações de dados vindos de muitas fontes!

--

--

Lucas Ruiz Dirani
Fora de assunto

Sou desenvolvedor .NET há mais de três anos. Atualmente trabalho como Analista de Engenharia de TI no Itaú Unibanco.