View a markdown version of this page

Procesadores de transformación - Amazon CloudWatch

Procesadores de transformación

Los procesadores de transformación modifican la estructura de los eventos del registro mediante la adición, la copia, el desplazamiento o la eliminación de campos.

Procesador add_entries

Agrega pares clave-valor estáticos a eventos de registro. Se puede agregar un máximo de 1 procesador add_entries a una canalización.

Configuración

Configure el procesador add_entries con los siguientes parámetros:

processor: - add_entries: entries: - key: "environment" value: "production" overwrite_if_key_exists: false
Parameters
entries (obligatorio)

Matriz de pares clave-valor que se agregarán a cada evento de registro.

entries[].key (obligatorio)

Nombre del campo que se agregará al evento de registro. Admite campos anidados mediante notación de puntos.

entries[].value (obligatorio)

Valor estático que se asignará a la clave.

entries[].overwrite_if_key_exists (opcional)

Indicador booleano que determina el comportamiento cuando la clave ya existe. El valor predeterminado es falso.

when (opcional)

Expresión condicional de procesador. Si se especifica, se omite todo el procesador si la expresión se evalúa como falsa. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.

entries[].when (opcional)

Expresión condicional de entrada. Si se especifica, solo se omite esta entrada si la expresión se evalúa como falsa. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.

entries[].when_else (opcional)

Entrada alternativa que se pone en marcha solo cuando ninguna de las otras condiciones when del mismo procesador se cumplió. El valor de la expresión identifica qué condiciones when se deben tener en cuenta. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.

Procesador copy_values

Copia valores de un campo a otro. Se puede agregar un máximo de 1 procesador copy_values a una canalización.

Configuración

Configure el procesador copy_values con los siguientes parámetros:

processor: - copy_values: entries: - from_key: "user_id" to_key: "backup_user" overwrite_if_to_key_exists: false
Parameters
entries (obligatorio)

Matriz de operaciones de copia que se llevarán a cabo en cada evento de registro.

entries[].from_key (obligatorio)

Nombre del campo desde el que se copiará el valor. Utiliza la notación de puntos para campos anidados.

entries[].to_key (obligatorio)

Nombre del campo al que se copiará el valor. Creará estructuras anidadas si se utiliza la notación de puntos.

entries[].overwrite_if_to_key_exists (opcional)

Indicador booleano que controla el comportamiento cuando el campo de destino ya existe. El valor predeterminado es falso.

when (opcional)

Expresión condicional de procesador. Si se especifica, se omite todo el procesador si la expresión se evalúa como falsa. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.

entries[].when (opcional)

Expresión condicional de entrada. Si se especifica, solo se omite esta entrada si la expresión se evalúa como falsa. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.

entries[].when_else (opcional)

Entrada alternativa que se pone en marcha solo cuando ninguna de las otras condiciones when del mismo procesador se cumplió. El valor de la expresión identifica qué condiciones when se deben tener en cuenta. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.

Procesador delete_entries

Elimina los campos especificados de los eventos de registro.

Configuración

Configure el procesador delete_entries con los siguientes parámetros:

processor: - delete_entries: with_keys: ["temp_field", "debug_info"]
Parameters
with_keys (obligatorio)

Matriz de nombres de campos que se eliminarán de cada evento de registro. Admite la eliminación de campos anidados mediante la notación de puntos.

when (opcional)

Expresión condicional que determina si este procesador se pone en marcha. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.

Procesador move_keys

Desplaza campos de una ubicación a otra.

Configuración

Configure el procesador move_keys con los siguientes parámetros:

processor: - move_keys: entries: - from_key: "old_field" to_key: "new_field" overwrite_if_to_key_exists: true
Parameters
entries (obligatorio)

Matriz de operaciones de desplazamiento. Número máximo de entradas: 5.

entries[].from_key (obligatorio)

Nombre del campo de origen. 128 caracteres como máximo.

entries[].to_key (obligatorio)

Nombre del campo de destino. 128 caracteres como máximo.

entries[].overwrite_if_to_key_exists (opcional)

Si se debe sobrescribir el campo de destino existente.

when (opcional)

Expresión condicional de procesador. Si se especifica, se omite todo el procesador si la expresión se evalúa como falsa. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.

entries[].when (opcional)

Expresión condicional de entrada. Si se especifica, solo se omite esta entrada si la expresión se evalúa como falsa. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.

entries[].when_else (opcional)

Entrada alternativa que se pone en marcha solo cuando ninguna de las otras condiciones when del mismo procesador se cumplió. El valor de la expresión identifica qué condiciones when se deben tener en cuenta. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.

Procesador flatten

Aplana estructuras de objetos anidados.

Configuración

Configure el procesador flatten con los siguientes parámetros:

processor: - flatten: source: "metadata" target: "flattened" remove_processed_fields: true exclude_keys: ["sensitive_data"]
Parameters
source (obligatorio)

Campo que contiene el objeto anidado que aplanará.

target (obligatorio)

Prefijo del campo de destino para claves aplanadas.

remove_processed_fields (opcional)

Si se debe eliminar el campo anidado original después del aplanamiento.

exclude_keys (opcional)

Matriz de claves que se excluirán del aplanamiento. Máximo de 20 claves, cada una de hasta 128 caracteres.

when (opcional)

Expresión condicional que determina si este procesador se pone en marcha. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.

procesador de búsqueda

Enriquece los eventos de registro con datos de una tabla de consulta de Registros de CloudWatch. El procesador compara los campos de los eventos de registro con los campos de la tabla de consulta y agrega los campos especificados a los eventos de registro. Utilice este procesador para situaciones de enriquecimiento de datos, como asignar los ID de usuario a los detalles del usuario, los códigos de producto a la información del producto o los códigos de error a las descripciones de errores. Se puede agregar un máximo de 1 procesador lookup a una canalización.

nota

Si se utiliza una tabla de consulta en una canalización, debe proporcionar un rol de ejecución con los permisos logs:GetLookupTable sobre la tabla. Para obtener más información, consulte Permisos y políticas de IAM para canalizaciones de CloudWatch.

Configuración

Configure el procesador de consulta con los siguientes parámetros:

processor: - lookup: lookup_table: "arn:aws:logs:us-east-1:123456789012:lookup-table:my_lookup_table" match_keys: - log_key: "src_ip" lookup_key: "ip_address" entries: - source: "hostname" target: "src_hostname" overwrite_if_exists: true
Parameters
lookup_table (obligatorio)

El ARN de la tabla de búsqueda de Registros de CloudWatch que se usa para el enriquecimiento. La longitud máxima es de 2 048 caracteres.

match_keys (obligatorio)

Matriz de pares de claves que definen cómo relacionar los campos de eventos de registro con los campos de la tabla de búsqueda. Mínimo 1, máximo 5 claves coincidentes. Cuando se especifican varias claves de coincidencia, una fila de la tabla de consulta debe coincidir con todas las claves para obtener un resultado (lógica AND).

match_keys[].log_key (obligatorio)

El nombre del campo del evento de registro con el que se va a buscar la coincidencia. 128 caracteres como máximo.

match_keys[].lookup_key (obligatorio)

El nombre de la columna de la tabla de consulta con el que se va a buscar la coincidencia. 128 caracteres como máximo.

entries (obligatorio)

Matriz de campos que se agregarán al evento de registro de la fila de la tabla de búsqueda de coincidencias. Mínimo 1, máximo 10 entradas.

entries[].source (obligatorio)

El nombre de la columna de la tabla de consulta de la que se va a recuperar el valor. 128 caracteres como máximo.

entries[].target (opcional)

Nombre del campo que se agregará al evento de registro. Si no se especifica, el nombre de la columna source se utiliza como nombre del campo. 128 caracteres como máximo.

entries[].overwrite_if_exists (opcional)

Indicador booleano que determina el comportamiento cuando el campo de destino ya existe en el evento de registro. El valor predeterminado es falso.

when (opcional)

Expresión condicional que determina si este procesador se pone en marcha. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.

Ejemplo

Considere una tabla de consulta denominada network_assets con las siguientes filas:

tabla de consulta network_assets
ip_address hostname owner ubicación
10.0.1.12 web-server-01 team-alpha us-east-1
10.0.2.45 db-server-03 team-beta us-west-2
10.0.3.78 cache-node-07 team-alpha eu-west-1

Dado el siguiente evento de registro:

{ "timestamp": "2026-05-04T12:00:00Z", "src_ip": "10.0.2.45", "action": "connection_opened", "bytes": 2048 }

Y la siguiente configuración de procesador:

processor: - lookup: lookup_table: "arn:aws:logs:us-east-1:123456789012:lookup-table:network_assets" match_keys: - log_key: "src_ip" lookup_key: "ip_address" entries: - source: "hostname" target: "src_hostname" - source: "owner" - source: "location" target: "src_region" overwrite_if_exists: false

El procesador produce el siguiente evento de registro enriquecido:

{ "timestamp": "2026-05-04T12:00:00Z", "src_ip": "10.0.2.45", "action": "connection_opened", "bytes": 2048, "src_hostname": "db-server-03", "owner": "team-beta", "src_region": "us-west-2" }
Permisos de IAM

Cuando una canalización utiliza el procesador de consulta, el rol de ejecución de la canalización debe incluir el permiso logs:GetLookupTable para la tabla a la que se hace referencia. La instrucción de la siguiente política de ejemplo concede este permiso:

{ "Effect": "Allow", "Action": "logs:GetLookupTable", "Resource": "arn:aws:logs:<region>:<account-id>:lookup-table:<table-name>" }