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:
| Caminho | Escopo | Exemplo |
|---|---|---|
|
Nível de recurso |
|
|
Atributo de escopo |
|
|
Nível de ponto de dados |
|
|
Forma abreviada para ponto de dados |
|
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 comofalse. Quando definida comotrue, 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 comofalse.
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_valueseadd_attributescomoverwrite_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.namecomeça comcloudwatch.aws/. Essas métricas são transmitidas de maneira inalterada.