Este é o comando grok que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
grok - analisa logs, trata de eventos e torna seu texto não estruturado estruturado.
SINOPSE
grok [-d] -f arquivo de configuração
DESCRIÇÃO
Grok é um software que permite analisar facilmente logs e outros arquivos. Com grok, você pode
transforme dados não estruturados de log e eventos em dados estruturados.
O programa grok é uma ótima ferramenta para analisar dados de registro e saída do programa. Você pode combinar
qualquer número de padrões complexos em qualquer número de entradas (processos e arquivos) e têm
reações personalizadas.
OPÇÕES
-d or --daemon
Daemonize após analisar o arquivo de configuração. Implementado com demônio(3). O padrão é
fique em primeiro plano.
-f arquivo de configuração
Especifique um arquivo de configuração do grok para usar.
CONFIGURAÇÃO
Você pode chamar o arquivo de configuração da maneira que quiser. Um exemplo completo de configuração segue abaixo, com
documentação sobre opções e padrões.
# --- Começar a configuração do grok de amostra
# Este é um comentário. :)
#
# ativar ou desativar a depuração. A depuração é definida como falsa por padrão.
# a configuração de 'depuração' é válida em todos os níveis.
# valores de depuração são copiados no escopo inferior, a menos que sejam substituídos.
depurar: verdadeiro
# você pode definir vários blocos de programa em um arquivo de configuração.
# um programa é apenas uma coleção de entradas (arquivos, execs) e
# correspondências (padrões e reações),
programa {
depurar: falso
# arquivo sem bloco. o bloqueio de configurações é opcional
arquivo "/ var / log / messages"
# arquivo com um bloco
arquivo "/ var / log / secure" {
# seguir significa seguir um arquivo como 'tail -F' mas começa
# lendo no início do arquivo. Um arquivo é seguido
# por meio de truncamento, rotação de log e acréscimo.
seguir: verdadeiro
}
# executa um comando, o bloco de configurações é opcional
exec "netstat -rn"
# exec com um bloco
exec "ping -c 1 www.google.com" {
# reexecuta automaticamente o exec se ele sair, assim que sair.
# padrão é falso
reiniciar na saída: falso
# quantidade mínima de tempo de uma partida para a próxima partida, se nós
# estão reiniciando. O padrão não é mínimo
intervalo mínimo de reinicialização: 5
# execute a cada N segundos, mas apenas se o processo tiver sido encerrado.
# padrão não é executado novamente.
intervalo de execução: 60
# padrão é ler a saída do processo apenas de stdout.
# defina como true para ler também de stderr.
read-stderr: falso
}
# Você pode ter vários blocos correspondentes {} em sua configuração.
# Eles são aplicados, em ordem, contra cada linha de entrada que
# vem de suas instâncias de exec e arquivo neste bloco de programa.
partida {
# corresponde a um padrão. Isso pode ser qualquer regexp e pode incluir% {foo}
# padrões de grok
padrão: "algum padrão para combinar"
# Você pode ter vários padrões aqui, qualquer um é válido para correspondência.
padrão: "outro padrão para combinar"
# a reação padrão é "% {@ LINE}" que é a linha completa
# coincide. a reação pode ser um valor especial de 'nenhum' que
# significa que nenhuma reação ocorre ou pode ser qualquer string. o
# reação é emitida para o shell se não for nenhum.
reação: "% {@ LINE}"
# o shell padrão é 'stdout', o que significa que as reações são
# impresso diretamente na saída padrão. Configurando o shell para um
# string de comando irá executar esse comando e os dados de reação do tubo para
# isto.
#shell: stdout
Concha: "/ Bin / sh"
# flush após cada gravação no shell.
# O padrão é não liberar.
rubor: verdadeiro
# break-if-match significa não tentar mais combinações em
# está linha. O padrão é falso.
break-if-match: verdadeiro
}
}
# - Terminar configuração
PADRONIZAR ARQUIVOS
Os arquivos de padrões contêm listas de nomes e padrões para carregar no grok.
Os padrões são delimitados por nova linha e têm esta sintaxe:
nome do padrão expressão
Qualquer espaço em branco entre o nome do padrão e a expressão são ignorados.
nome do padrão
Este é o nome do seu padrão que, quando carregado, pode ser referenciado em padrões como
% {patternname}
expressão
A expressão aqui está literalmente disponível como uma expressão regular. Você não precisa
se preocupar em como escapar das coisas.
PADRONIZAR EXEMPLOS
DÍGITOS \ d +
HELLOWORLD \ bhello world \ b
REGULAR EXPRESSÕES
O mecanismo de expressão por trás do grok é PCRE. Qualquer sintaxe em PCRE é válida em grok.
REAÇÕES
As reações podem fazer referência a padrões nomeados da correspondência. Você também pode acessar alguns outros
valores especiais, incluindo:
%{@LINHA}
A linha combinou.
%{@PARTIDA}
A substring correspondeu
%{@COMEÇAR}
A posição inicial da correspondência desde o início da string.
%{@FIM}
A posição final da partida.
%{@COMPRIMENTO}
A duração da partida
% {@ JSON}
O conjunto completo de padrões capturados, codificados como um dicionário json como uma estrutura de {
padrão: [matriz de capturas]}. Usamos uma matriz porque você pode usar o mesmo nome
padrão várias vezes em uma correspondência.
% {@ JSON_COMPLEX}
Semelhante ao anterior, mas inclui a posição inicial e final para cada padrão nomeado.
Essa estrutura é:
{"grok": [
{"@LINE": {"start": ..., "end": ..., "value": ...}},
{"@MATCH": {"start": ..., "end": ..., "value": ...}},
{"patternname": {"start": startpos, "end": endpos, "value": "string"}},
{"patternname2": {"start": startpos, "end": endpos, "value": "string"}},
...
]}
REAÇÃO FILTROS
Os filtros de reação permitem que você modifique os dados capturados. Os seguintes filtros são
disponível:
Um exemplo de uso de um filtro em uma reação é assim:
reação: "echo Correspondeu:% {@ MATCH | shellescape}"
concha
Escapa todos os caracteres necessários para tornar a string segura em um shell sem aspas
argumento
shelldqescape
Escapa caracteres necessários para estar seguro entre aspas duplas em um shell.
jsonencode
Torna a string segura para representar em uma string json (escapa de acordo com json.org
recomendações)
Use grok online usando serviços onworks.net