Splunk: o que é, como funciona e instalação
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:
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!