View a markdown version of this page

Casos de uso de procesadores comunes - Amazon CloudWatch

Casos de uso de procesadores comunes

A continuación, se muestran escenarios comunes y ejemplos de configuraciones para combinar procesadores:

ejemplo Estandarización de formatos de registro y adición de metadatos

Analice registros JSON, estandarice los nombres de los campos y agregue información del entorno:

processor: - parse_json: {} - rename_keys: entries: - from_key: "timestamp" to_key: "@timestamp" - from_key: "log_level" to_key: "level" - add_entries: entries: - key: "environment" value: "production" - key: "application" value: "payment-service"
ejemplo Limpieza y normalización de valores de campos

Estandarice los códigos de estado y elimine información confidencial:

processor: - uppercase_string: with_keys: ["status", "method"] - delete_entries: with_keys: ["credit_card", "password"] - substitute_string: entries: - source: "status" from: "SUCCESS" to: "OK"
ejemplo Extracción y transformación de campos específicos

Extraiga el formato y la información del usuario para su análisis:

processor: - extract_value: entries: - source: "user_agent" target: "browser" from: "(?<browser>Chrome|Firefox|Safari)" to: "${browser}" - lowercase_string: with_keys: ["browser"] - move_keys: entries: - from_key: "browser" to_key: "user_data.browser"
ejemplo Procesamiento condicional con condiciones de entrada

Agregue diferentes metadatos en función de la gravedad del registro mediante condiciones when de entrada:

processor: - add_entries: entries: - key: "alert_level" value: "critical" when: "log.level == 'ERROR'" - key: "alert_level" value: "info" when_else: "log.level == 'ERROR'"
ejemplo Eliminación de entradas de registro no deseadas

Filtre las entradas del registro de depuración y rastreo de orígenes externos para reducir el ruido y los costos de almacenamiento:

processor: - drop_events: when: "log.level in {'DEBUG', 'TRACE'}" handle_expression_failure: "skip"
ejemplo Condicional a nivel de procesador con delete_entries

Elimine los campos confidenciales solo cuando el entorno sea de producción:

processor: - delete_entries: with_keys: ["password", "api_key", "ssn"] when: "environment in {'prod', 'staging'}"