Você está na página 1de 42

SPLUNK – INTERMEDIÁRIO(SPL)

! disclaimer

Toda informação presente neste documento só deve ser acessada por seus
responsáveis e/ou por seus destinatários. Neste documento estão presentes
informações relacionadas as operações e necessidades da empresa
REQUISITANTE, por este motivo, esse material não deverá ser compartilhado
no caso de não haver anuência de seus responsáveis e/ou por parte do
REQUISITANTE. O uso indevido das informações contidas nesse material
poderá implicar em ações legais.
Francisco Mota
Profissional de Ti com 15 anos de experiência,
formado em Análise e Desenvolvimento de
Sistemas pela UNEB e pós-graduado em Banco
de Dados e Bussiness Intelligence pela Faculdade

Instrutores
SENAC. Trabalhou com Infraestrutura de TI e
Telecomunicações pelo Exército Brasileiro e pelo
Ministério dos Transportes, com Gestão de
Serviços de TI pela RNP e hoje atua como
Consultor Splunk pela Econocom, tendo em seu
currículo as certificações Splunk Core Certified
User, Splunk Core Certified Power User e Splunk
Accredited Sales Engineer I. Na Econocom, já
atuou na Sky, Santander, AUTOPASS, Banco
Carrefour, Hub Fintech e REDE, estando alocado
no Itau desde Set/2019, atuando junto à GAM, sob
supervisão de Leonardo Gatti e Jairo Moraes.
francisco.mota@econocom.com
https://www.linkedin.com/in/francisco-mota-20358074/
A Econocom

MUNDO
+ de
19 40de experiência
ANOS 3Breceita
€ FY17 10.700
países colaboradores
A Econocom
BRASIL
+ de
DF 400
profissionais

RJ + de
SP
15 ANOS
de experiência
RS
+ de
150%
de crescimento
em 5 anos
A. Câmera ligada
B. Para duvidas ligar o microfone e interromper durante
a explicação
C. Treinamento tera 8h, iniciando as 9h e finalizando as
18h

Orientações D. O horario sera dividido entre pequenas pausas para


descanso e 1h de almoço
E. Obrigatório ter feito a avaliação de maturidade caso
nao tenha realizado deve preencher antes de
começar o treinamento
F. O treinamento balanceará a teoria e a prática, sendo
necessário acessar o ambiente do Itau
G. No final do treinamento será aplicado um teste de
conhecimento adquirido para enviarmos o
certificado de conclusão. O teste será válido como
registro de presença.
A. Introdução
B. Searchs e Job’s
C. Comandos SPL
D. Regex

Módulo 1 E. Alertas
F. Reports
G. Loadjob
Introdução

1. Infraestrutura Splunk
2. Search Head
3. Search Head cluster
Infraestrutura Splunk
Search Head

1. Buscas
2. Alertas
3. Reports
4. Dashboards
5. Apps
6. Autenticação
Search e Job

1. Gerenciamento de Jobs
2. Identificação dos dados disponíveis
3. Filtrando dados
4. Utilizando operadores
5. Utilização de time modifiers
6. Comandos SPL
Gerenciamento de Jobs

1. Toda consulta é um job no Splunk;


2. Cada job consome um núcleo de processamento;
3. Os Jobs podem ser gerenciados pelo menu Activity ou através da própria
tela de execução da query;
Identificando dados disponíveis
Identificando dados disponíveis
Filtrando Dados

index=web get AccessorieS sourcetype=access_combined_wcookie "KHTML, like Gecko"


Utilizando operadores

1. Operadores de comparação:
A. Igual: =
B. Maior que: >
C. Menor que: <
D. Diferente: =!
2. Operadores booleanos
A. NOT
B. AND
C. OR
Obs: a execução dos operadores booleanos considera esta ordem de precedência.
3. Adicionalmente, é possível agrupar consultas entre parêntes
Ex: (index=web AND action=purchase) OR (index=secure)
Utilização de time modifiers

1. Earliest: especifica o timestamp mais antigo


2. Latest: especifica o timestamp mais novo
3. Sintaxe: [+|-]<time_integer><time_unit>@<time_unit>
4. Formato para timestamp: %m/%d/%Y:%H:%M:%S
5. Arredondamento: @ Abreviações para a unidade

second s, sec, secs, second, seconds

minute m, min, minute, minutes

hour h, hr, hrs, hour, hours

day d, day, days

week w, week, weeks

month mon, month, months

quarter q, qtr, qtrs, quarter, quarters

year y, yr, yrs, year, years


Utilização de time modifiers

Pontos de atenção:

• Eventos com timestamp extraído nativamente possuem alguns campos


relacionados ao tempo do evento, os quais são indicados na lista de
campos por date_[unidade_de tempo]
• Como exemplo, para capturar um range específico de tempo 5 dias atrás,
podemos utilizar o filtro da query para captura:
index=web date_hour>8 date_hour<18 earliest=-5d@d latest=-4d@d
• Table • Stats • Dedup
• Fields • Eventstats • Transpose
• Fillnull • Streamstats • Inputcsv
• Addcoltotals • Chart • Inputlookup
• Addtotals • Timechart • Lookup
• Top • Eval • Outputlookup
• Rare • Where • Transaction
• Head • Search
• Sort • Rename
• Join • Mvcount • Rangemap
• Append • Mvfind • Tail
• Appendcols • Mvsort • Timewrap
• Appendpipe • Mvzip
• Makemv • Split
• Mvexpand • Outlier
• Nomv • Predict
• Mvindex • Trendline
Regex

1. Introdução a regex
2. Utilização de regex em consultas
3. Utilização de regex em extração de campos
Regex - Introdução

1. Expressões regulares podem ser utilizadas para reconhecimento de


caracteres e padrões, assim como atribuir identificadores aos grupos
reconhecidos

A. A RegEx a reconhece o padrão a


B. A RegEx aeiou reconhece o padrão aeiou
C. A RegEx t não reconhece o padrão b
Regex - Introdução

1. Alguns caracteres especiais exigem precedência do caracter \ para


reconhecimento
A. $, ^, *, (, ), +, {, }, [, ], \, |, ?, -, .

2. Caracteres não visíveis também possuem padrões de identificação


A. O tab é representado por -Tab-, mas na RegEx você deve usar \t
B. A quebra de linha é representada por \n
C. A quebra de página é representada por \f
D. O retorno é representada por \r
E. O tab vertical é representada por \x0B
Regex - Introdução

1. Para reconhecimentos de padrões extensos, podemos utilizar uma classe


de caracteres
A. A RegEx [A-Z] reconhece todas as letras maiúsculas.
B. A RegEx [A-Z0-9] reconhece todas as letras maiúsculas e números.
C. A RegEx [f-h] reconhece as letras f, g e h.

2. Classes de caracteres muito comuns possuem classes pré-definidas


A. A classe \d é equivalente à classe [0-9]
B. A classe \s é equivalente à classe [ \t\n\x0B\f\r]
C. A classe \w é equivalente à classe [a-zA-Z_0-9]
D. A classe . reconhece todos os tipos de caracteres, exceto o \n.
Regex - Introdução

1. É possível atribuir o reconhecimento do oposto de uma classe de


caracteres, aplicando o caracter ^
A. A RegEx [^a] reconhece qualquer caractere, exceto a.
B. A RegEx [^b-d] reconhece qualquer caractere, exceto b, c e d.
C. A RegEx [^\d] reconhece qualquer caractere, exceto 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9.

2. Também existem classes de caracteres opostas pré-definidas:


A. A classe \D é o oposto de \d, ou seja, equivalente à [^0-9]
B. A class \S é o oposto de \s, ou seja, equivalente à [^ \t\n\x0B\f\r]
C. A classe \W é o oposto de \w, ou seja, equivalente à [^a-zA-Z_0-9]
Regex - Introdução

1. Para especificar múltiplos padrões que uma RegEx deve reconhecer é


utilizado o caractere |

A. A RegEx a|b reconhece o padrão a e o b


B. A RegEx abc|a reconhece o padrão abc e o a
C. A RegEx a|ab|abc reconhece o padrão a, o ab e o abc
Regex - Introdução

1. É possível utilizar quantificadores, permitindo a definição de um padrão


específico que se espera que ocorra um determinado número de vezes.
A. ? determina que o que vier imediatamente antes dele deve aparecer 0 ou 1 vez na
expressão.
B. * determina que o que vier imediatamente antes dele deve aparecer 0 ou mais vezes na
expressão.
C. + determina que o que vier imediatamente antes dele deve aparecer 1 ou mais vezes na
expressão.
D. {n} determina que o que vier imediatamente antes dele deve aparecer exatamente n vezes na
expressão.
E. {n,} determina que o que vier imediatamente antes dele deve aparecer 0 ou n vezes na
expressão.
F. {n, m} determina que o que vier imediatamente antes dele deve aparecer no mínimo n e no
máximo m vezes na expressão.

Obs: o que vem antes de um operador de repetição não precisa ser apenas 1 caractere. Pode ser uma classe ou
qualquer outra forma de agrupamento.
Regex - Introdução

1. É possível definir grupos de captura utilizandos os caracteres ( e )


envolvendo o padrão de RegEx que você que capturar no seu texto.

A. A RegEx Tipo: (\w+) reconhece o padrão Tipo: padrão e captura padrão no grupo 1

B. A RegEx (Tipo=(\w+)) reconhece o padrão Tipo=Padrão e captura Tipo=padrão no grupo 1 e


padrão no grupo 2
Utilização de regex em consultas

1. rex: extrai campos utilizando grupos em expressões regulares ou substitui


caracteres em um campo utilizando expressões sed;
| rex field=clientip "(?<rede>(\d+\.){2}\d+)“

2. regex: remove resultados que não batem com uma expressão regular
específica;
index=secure| regex _raw= "((\d+\.){3}\d+)"
Utilização de regex em extração de campos
Alertas

1. Criação de alertas
2. Permissões do alerta
3. Agendamento de execução
4. Definição de triggers
5. Adicionar ações ao alerta
6. Gerenciamento de alertas
Criação de alertas

1. Toda consulta pode ser salva como um alerta;


2. Um alerta pode ser agendado ou real-time;
Permissões do alerta
Agendamento de execução
Reports

1. Criação de reports
2. Gerenciamento do report
a) Permissões
b) Agendamento
c) Aceleração
Criação de um report

1. Toda consulta pode ser salva como um report;


Criação de um report
Gerenciamento do Report
Loadjob

1. Criação de job’s
2. Utilização de loadjob
Criação de job’s
Utilização de loadjob

A sintaxe para o comando loadjob deve englobar os seguintes argumentos:


| comando argumento=“criador:app:nome_job”

Exemplo:
| loadjob savedsearch="admin:search:MySavedSearch“
Obrigado!

Você também pode gostar