DEV Community

Cover image for Meu primeiro Lab com splunk
Lanusse
Lanusse

Posted on • Edited on

Meu primeiro Lab com splunk

Recentemente (não tão recente assim hehehehehe), comecei a trabalhar com logs, sendo mais específica, com uma ferramenta enterprise chamada Splunk. Particularmente, nunca tinha escutado falar dessa ferramenta até começar a trabalhar com ela. Então, gostaria de compartilhar um pouco do que aprendi até agora e minhas percepções

No futuro, devo explorar outras arquiteturas e ferramentas, mas não vou criar muitas expectativas, padawan.


Legal, mas o que é Splunk?

Splunk é uma ferramenta criada por uma empresa de mesmo nome (acho esquisito, não posso negar) em 2003 que permite coletar, indexar, pesquisar e visualizar logs para ajudar na investigação de um problema ou até mesmo auxiliar na tomada de decisão de alguma forma.
Atualmente, o Splunk é oferecido em duas versões, Enterprise e Cloud. Na primeira, você fica responsável por manter a infra da coisa toda e na segunda, a ferramenta é oferecida como SAAS.

Neste post, utilizaremos a versão Enterprise, e por ser uma ferramenta paga, existem algumas limitações para realizar testes, começando pelo download do produto. Oficialmente, você só consegue uma versão para download criando uma conta nesse link aqui.
Na licença de teste, você pode usar o produto por 60 dias, indexando no máximo 500MB por dia. Outra opção interessante é solicitar a licença de desenvolvedor seguindo os passos desse guia, pois ela tem limites maiores.

Como esse négocio funciona?

Splunk pode ser entendido de alguma forma como um monolito modular, pois consiste em um único processo chamado splunkd, que pode assumir diferentes funções, dependendo de como é configurado/iniciado.

Por ser um contéudo introdutório eu vou focar nos três principais componentes do splunk, sendo eles:

Indexer

Responsável pelo recebimento e indexação dos logs. Nele, é possível definir políticas de retenção para que os logs antigos possam ser armazenados ou excluídos de acordo com as necessidades do negócio, definir o número de cópias que irei armazenar daquele dado, entre outros

Search Head

Responsável pela visualização dos logs armazenados na indexer. Através da sua interface web, é possível realizar queries utilizando o SPL (linguagem de consulta proprietária da Splunk) e transformar os resultados em reports e dashboards. Além disso, a search head também gerencia as credenciais de usuário.

Fowarder

Responsável por coletar os logs e enviar para a indexer. Geralmente, é instalado nos servidores para realizar a coleta dos logs de arquivos e eventos do sistema operacional. Além disso, o forwarder permite filtrar os dados coletados antes do envio para a indexer, diminuindo o custo de processamento das indexers.

Arquitetura

Aqui eu vou focar nas duas principais maneiras de deployar o splunk na prática sem muita firula...

É possível realizar a instalação de duas formas, stadandalone e distribuída, na primeira delas uma única máquina reliza as funções de indexer e search head, na segunda temos um desenho um pouco mais denso onde criamos cluster's para separar as funções.

Nesse post vamos abordar a instalação standalone, só para fins educativos mesmo.

Image description

Eu criei um vagrantfile e disponibilizei em um repo para relizar esses testes e vou utilizar ele nesse post para faciliar o deploy, portanto você precisa ter o virtualbox e o vagrant instalados.

Aviso: Você vai precisar da url de download do splunk enterprise e splunk fowarder para seguir. Você pode conseguir as url's se cadastrando nesse link

1 - Clone o repo

git clone https://github.com/LanusseMorais/splunk.git
Enter fullscreen mode Exit fullscreen mode

2 - Adicione asURL's de download do pacotes RPM do splunk enterprise e splunk fowarder no arquivo standalone/Vagranfile

cd splunk/standalone
vim Vagranfile
Enter fullscreen mode Exit fullscreen mode

3 - Agora vamos ver a mágica acontecer

vagrant up
Enter fullscreen mode Exit fullscreen mode

4 - Agora acesse o seu splunk atráves da url http://192.168.165.30:8000/ usando as credencias abaixo:
username: admin
password: splunk@123

Image description

Esse repo também sobe uma aplicação simples que pode ser acessada através da url http://192.168.165.40

Image description

Você já deve ser capaz de ver os logs da aplicação no splunk.

usando a pesquisa abaixo:
index="main"

Image description

Agora seja feliz com seu primeiro splunk em uma outra postagem eu posso abordar mais informações, ou quem sabe outras ferramentas.

Top comments (0)