View a markdown version of this page

Processadores de pipeline de métricas - Amazon CloudWatch

Processadores de pipeline de métricas

Os processadores de pipeline de métricas transformam os pontos de dados de métricas do OTel durante a ingestão. Um pipeline de métricas pode ter até 20 processadores aplicados sequencialmente na ordem em que são definidos.

Os processadores utilizam expressões de caminho OTTL para direcionar atributos em diferentes escopos:

Escopos de caminho OTTL
Caminho Escopo Exemplo

resource.attributes["key"]

Nível de recurso

resource.attributes["service.name"]

instrumentation_scope.attributes["key"]

Atributo de escopo

instrumentation_scope.attributes["library"]

datapoint.attributes["key"]

Nível de ponto de dados

datapoint.attributes["status_code"]

attributes["key"]

Forma abreviada para ponto de dados

attributes["environment"]

Processador add_attributes

Adiciona ou substitui atributos em pontos de dados de métricas. Funciona com todos os tipos de temporalidade.

Equivalente OTTL: set(attributes["key"], "value")

Configuração

Configure o processador add_attributes com os seguintes parâmetros:

processor: - add_attributes: attributes: - key: resource.attributes["team"] value: "payments" - key: attributes["environment"] value: "production" - key: instrumentation_scope.attributes["version"] value: "1.0" overwrite_if_key_exists: true
Parâmetros
attributes (obrigatório)

Matriz de objetos de atributos a serem adicionados.

attributes[].key (obrigatório)

Caminho do atributo OTTL especificando onde adicionar o atributo.

attributes[].value (obrigatório)

Valor da string a ser atribuída.

attributes[].overwrite_if_key_exists (opcional)

Booliano. Quando true, sobrescreve os valores existentes. Padronizado como false. Quando definida como true, essa operação é considerada destrutiva e não se aplica a métricas cumulativas ou métricas fornecidas.

Processador delete_attributes

Remove atributos específicos dos pontos de dados de métricas. Não se aplica a métricas cumulativas ou métricas fornecidas.

Equivalente OTTL: delete_key(attributes, "key")

Configuração

Configure o processador delete_attributes com os seguintes parâmetros:

processor: - delete_attributes: with_keys: - resource.attributes["obsolete"] - attributes["temp"] - datapoint.attributes["debug"]
Parâmetros
with_keys (obrigatório)

Matriz de caminhos de atributos OTTL a serem removidos.

Processador rename_attributes

Renomeia as chaves de atributos em pontos de dados métricos. Não se aplica a métricas cumulativas ou métricas fornecidas.

Equivalente OTTL: set() + delete_key()

Configuração

Configure o processador rename_attributes com os seguintes parâmetros:

processor: - rename_attributes: attributes: - from_key: resource.attributes["old_key"] to_key: resource.attributes["new_key"] overwrite_if_to_key_exists: true
Parâmetros
attributes (obrigatório)

Matriz de operações de renomeação.

attributes[].from_key (obrigatório)

Caminho do atributo OTTL da fonte.

attributes[].to_key (obrigatório)

Caminho do atributo OTTL do destino.

attributes[].overwrite_if_to_key_exists (opcional)

Booliano. Quando true, substitui se a chave de destino existir. Padronizado como false.

Processador rename_metrics

Renomeia os nomes das métricas. Não se aplica a métricas cumulativas ou métricas fornecidas.

Equivalente OTTL: set(name, "new.metric.name") where name == "old.metric.name"

Configuração

Configure o processador rename_metrics com os seguintes parâmetros:

processor: - rename_metrics: metrics: - from: "old.metric.name" to: "new.metric.name"
Parâmetros
metrics (obrigatório)

Matriz de operações de renomeação.

metrics[].from (obrigatório)

Nome atual da métrica.

metrics[].to (obrigatório)

Novo nome de métrica.

Processador substitute_attribute_values

Mapeia valores de atributos através de uma tabela de pesquisa. Não se aplica a métricas cumulativas ou métricas fornecidas.

Equivalente OTTL: replace_match()

Configuração

Configure o processador substitute_attribute_values com os seguintes parâmetros:

processor: - substitute_attribute_values: attributes: - key: resource.attributes["region"] from: "us-east-1a" to: "us-east-1"
Parâmetros
attributes (obrigatório)

Matriz de operações de substituição.

attributes[].key (obrigatório)

Caminho do atributo OTTL para fazer correspondência.

attributes[].from (obrigatório)

Valor para corresponder.

attributes[].to (obrigatório)

Valor de substituição.

Exemplo completo

O exemplo mostrado a seguir utiliza todos os cinco processadores em um único pipeline:

pipeline: source: cloudwatch_metrics: format: otlp selection_criteria: - match_all: - 'resource.attributes["service.name"] == "my-service"' - 'metric.name == "CPUUtilization"' processor: - add_attributes: attributes: - key: resource.attributes["env"] value: "prod" overwrite_if_key_exists: true - delete_attributes: with_keys: - resource.attributes["internal.trace"] - rename_attributes: attributes: - from_key: resource.attributes["old_key"] to_key: resource.attributes["new_key"] - rename_metrics: metrics: - from: "CPUUtilization" to: "system.cpu.utilization" - substitute_attribute_values: attributes: - key: resource.attributes["environment"] from: "dev" to: "development" sink: - cloudwatch_metrics: {}

Compatibilidade e restrições de processador

Máximo de processadores

Um pipeline de métricas pode ter no máximo 20 processadores.

Processadores destrutivos e temporalidade

Processadores destrutivos (delete_attributes, rename_attributes, rename_metrics, substitute_attribute_values e add_attributes com overwrite_if_key_exists: true) não se aplicam a métricas cumulativas ou métricas fornecidas. Essas métricas são transmitidas de maneira inalterada.

Proteção de métricas fornecidas

Processadores destrutivos não podem modificar as métricas em que instrumentation_scope.name começa com cloudwatch.aws/. Essas métricas são transmitidas de maneira inalterada.