View a markdown version of this page

Casos de uso comuns de processador - Amazon CloudWatch

Casos de uso comuns de processador

Aqui estão cenários comuns e exemplos de configurações para combinar processadores.

Exemplos de pipeline de logs

exemplo Padronizar os formatos de log e adicionar metadados

Analisar logs JSON, padronizar nomes de campos e adicionar informações do ambiente:

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"
exemplo Limpar e normalizar valores de campo

Padronizar os códigos de status e remover dados sensíveis:

processor: - uppercase_string: with_keys: ["status", "method"] - delete_entries: with_keys: ["credit_card", "password"] - substitute_string: entries: - source: "status" from: "SUCCESS" to: "OK"
exemplo Extrair e transformar campos específicos

Extrair informações do usuário e formatar para análise:

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"
exemplo Processamento condicional com condições no nível de entrada

Adicione metadados diferentes com base na gravidade dos logs usando condições when no nível 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'"
exemplo Descartar entradas de logs indesejadas

Filtre as entradas de logs de depuração e rastreamento de uma fonte terceira para reduzir o ruído e os custos de armazenamento:

processor: - drop_events: when: "log.level in {'DEBUG', 'TRACE'}" handle_expression_failure: "skip"
exemplo Condicional no nível de processador com delete_entries

Remova campos sensíveis somente quando o ambiente for de produção:

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

Exemplo de pipeline de métricas

Os exemplos mostrados a seguir mostram as configurações do processador para pipelines de métricas. Os processadores de métricas utilizam expressões de caminho OTTL para direcionar atributos em escopos diferentes.

exemplo Adicione contexto de negócios às métricas

Adicione tags de propriedade da equipe e de ambiente aos pontos de dados de métricas:

processor: - add_attributes: attributes: - key: resource.attributes["team"] value: "platform-engineering" - key: resource.attributes["cost_center"] value: "CC-1234"
exemplo Remover atributos de alta cardinalidade

Elimine os atributos que aumentam os custos de armazenamento. Não se aplica a métricas cumulativas ou métricas fornecidas — se alguma métrica nos critérios de seleção tiver temporalidade não suportada, o pipeline emitirá uma métrica de aviso UnsupportedTemporality que pode ser monitorado no namespace AWS/Observability Admin:

processor: - delete_attributes: with_keys: - resource.attributes["host.id"] - datapoint.attributes["http.request.id"]
exemplo Padronizar convenções de nomenclatura

Renomeie métricas e atributos para alinhá-los às convenções semânticas do OpenTelemetry. Não se aplica a métricas cumulativas ou métricas fornecidas:

processor: - rename_metrics: metrics: - from: "cpu_usage_percent" to: "system.cpu.utilization" - rename_attributes: attributes: - from_key: resource.attributes["hostname"] to_key: resource.attributes["host.name"]