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.

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free

👋 Kindness is contagious

Explore a sea of insights with this enlightening post, highly esteemed within the nurturing DEV Community. Coders of all stripes are invited to participate and contribute to our shared knowledge.

Expressing gratitude with a simple "thank you" can make a big impact. Leave your thanks in the comments!

On DEV, exchanging ideas smooths our way and strengthens our community bonds. Found this useful? A quick note of thanks to the author can mean a lot.

Okay