Processadores de manipulação de strings
Os processadores de strings modificam valores de texto em eventos de log por meio de operações como conversão entre maiúsculas e minúsculas, corte e correspondência de padrões.
Processador lowercase_string
Converte os campos especificados em minúsculas.
Configuração
Configure o processador lowercase_string com os seguintes parâmetros:
processor: - lowercase_string: with_keys: ["status", "method"]
Parâmetros
with_keys(obrigatório)-
Matriz de nomes de campo a serem convertidos em minúsculas. Processa apenas valores de string.
Processador uppercase_string
Converte campos especificados em maiúsculas.
Configuração
Configure o processador uppercase_string com os seguintes parâmetros:
processor: - uppercase_string: with_keys: ["status_code", "method"]
Parâmetros
with_keys(obrigatório)-
Matriz de nomes de campo a serem convertidos em maiúsculas. Processa apenas valores de string.
Processador trim_string
Remove todos os espaços em branco iniciais e finais de campos especificados.
Configuração
Configure o processador trim_string com os seguintes parâmetros:
processor: - trim_string: with_keys: ["message", "user_input"]
Parâmetros
with_keys(obrigatório)-
Matriz de nomes de campo dos quais espaços em branco serão cortados. Processa apenas valores de string.
Processador substitute_string
Realiza a substituição de strings usando expressões regulares.
Configuração
Configure o processador substitute_string com os seguintes parâmetros:
processor: - substitute_string: entries: - source: "message" from: "ERROR" to: "WARN"
Parâmetros
entries(obrigatório)-
Matriz de operações de substituição a serem executadas em cada evento de log.
entries[].source(obrigatório)-
O campo no qual realizar a substituição de string.
entries[].from(obrigatório)-
O padrão de expressão regular a ser correspondido e substituído.
entries[].to(obrigatório)-
A string de substituição para padrões correspondentes.
Processador truncate
Trunca valores de campo para o tamanho especificado.
Configuração
Configure o processador truncate com os seguintes parâmetros:
processor: - truncate: source_keys: ["message", "description"] length: 100 start_at: 0
Parâmetros
source_keys(obrigatório)-
Matriz de nomes de campo a serem truncados. Cada nome de campo tem no máximo 128 caracteres.
length(opcional)-
Comprimento máximo após o truncamento. Intervalo: 1 a 8192.
start_at(opcional)-
Posição inicial para truncamento. Intervalo: 0 a 8192. O padrão é 0.
Processador extract_value
Extrai valores usando expressões regulares.
Configuração
Configure o processador extract_value com os seguintes parâmetros:
processor: - extract_value: entries: - source: "message" target: "extracted_data" from: "user=(?<user>\\w+)" to: "${user}" target_type: "string"
Parâmetros
entries(obrigatório)-
Matriz de operações de extração. Máximo de 20 entradas.
entries[].source(obrigatório)-
Campo do qual extrair. Máximo de 128 caracteres.
entries[].target(obrigatório)-
Campo de destino para o valor extraído. Máximo de 128 caracteres.
entries[].from(obrigatório)-
Expressão regular pattern. Máximo de 128 caracteres.
entries[].to(obrigatório)-
Padrão de substituição por grupos de captura. Máximo de 128 caracteres.
entries[].target_type(opcional)-
Tipo de dados de destino (“integer”, “double”, “string”, “boolean”).
Processador convert_entry_type
Converte valores de campo entre tipos de dados diferentes.
Configuração
Configure o processador convert_entry_type com os seguintes parâmetros:
processor: - convert_entry_type: key: "count" type: "integer"
Parâmetros
key(obrigatório)-
Nome de campo único a ser convertido.
type(obrigatório)-
Tipo de dados de destino. Opções: “integer”, “double”, “string”, “boolean”.
Processador date
Converte e formata campos de data/hora.
Configuração
Configure o processador date com os seguintes parâmetros:
processor: - date: match: - key: "timestamp" patterns: ["yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'"] destination: "@timestamp" source_timezone: "UTC" destination_timezone: "America/New_York"
Parâmetros
match(obrigatório)-
Matriz de configurações de correspondência de datas. Máximo de 10 entradas.
match[].key(obrigatório)-
Campo contendo a string de data. Máximo de 128 caracteres.
match[].patterns(obrigatório)-
Matriz de padrões de formato de data a serem experimentados. Máximo de 5 padrões, cada um com até 256 caracteres.
destination(opcional)-
Campo de destino único para todas as datas analisadas. Máximo de 128 caracteres.
source_timezone(opcional)-
Fuso horário da origem para análise.
destination_timezone(opcional)-
Fuso horário do destino para saída.
output_format(opcional)-
Formato de data da saída. Máximo de 64 caracteres.
destination_type(opcional)-
Tipo de saída: “timestampz”, “long” ou “string”.
Processador dissect
Extrai dados estruturados usando correspondência de padrões.
Configuração
Configure o processador dissect com os seguintes parâmetros:
processor: - dissect: map: message: "%{timestamp} %{level}"
Parâmetros
map(obrigatório)-
Mapeamento de campos com padrões de dissecação.
Processador list_to_map
Converte campos de matriz em estruturas de mapa.
Configuração
Configure o processador list-to-map com os seguintes parâmetros:
processor: - list_to_map: source: "tags" key: "name" value_key: "value" target: "tag_map"
Parâmetros
source(obrigatório)-
Campo contendo dados de matriz. Máximo de 128 caracteres.
key(obrigatório)-
Nome do campo a ser usado como chave do mapa. Máximo de 128 caracteres.
value_key(opcional)-
Nome do campo a ser usado como valor do mapa. Máximo de 128 caracteres.
target(opcional)-
Campo de destino para a estrutura do mapa. Máximo de 128 caracteres.
flatten(opcional)-
Se o mapa resultante deve ou não ser nivelado.
flattened_element(opcional)-
Qual elemento usar ao nivelar (“first” ou “last”).
Processador rename_keys
Renomeia campos em eventos de log.
Configuração
Configure o processador rename_keys com os seguintes parâmetros:
processor: - rename_keys: entries: - from_key: "old_name" to_key: "new_name" overwrite_if_to_key_exists: true
Parâmetros
entries(obrigatório)-
Matriz de operações de renomeação. Máximo de 5 entradas.
entries[].from_key(obrigatório)-
Nome de campo atual. Máximo de 128 caracteres.
entries[].to_key(obrigatório)-
Nome do novo campo. Máximo de 128 caracteres.
entries[].overwrite_if_to_key_exists(opcional)-
Se o campo de destino existente deve ou não ser substituído.
Processador select_entries
Seleciona apenas campos especificados dos eventos.
Configuração
Configure o processador select_entries com os seguintes parâmetros:
processor: - select_entries: include_keys: ["timestamp", "level", "message"]
Parâmetros
include_keys(obrigatório)-
Matriz de nomes de campo a serem mantidos. Máximo de 50 chaves, cada uma com até 128 caracteres.
Processador translate
Traduz valores de campo usando tabelas de pesquisa.
Configuração
Configure o processador translate com os seguintes parâmetros:
processor: - translate: mappings: - source: "status_code" targets: - target: "status_text" map: "200": "OK" "404": "Not Found"
Parâmetros
mappings(obrigatório)-
Conjunto de configurações de tradução. Máximo de 10 mapeamentos.
mappings[].source(obrigatório)-
Campo a traduzir. Máximo de 128 caracteres.
mappings[].targets(obrigatório)-
Conjunto de configurações de destino. Máximo de 10 alvos.
mappings[].targets[].target(obrigatório)-
Nome de campo de destino. Máximo de 128 caracteres.
mappings[].targets[].map(obrigatório)-
Mapeamento de tradução. Máximo de 100 entradas, cada valor com até 512 caracteres.