View a markdown version of this page

Procesadores de canalizaciones de métricas - Amazon CloudWatch

Procesadores de canalizaciones de métricas

Los procesadores de canalizaciones de métricas transforman los puntos de datos de las métricas de OTel durante la ingesta. Una canalización de métricas puede tener hasta 20 procesadores, que se aplican de forma secuencial en el orden en que se definen.

Los procesadores utilizan expresiones de ruta de OTTL para dirigirse a atributos de distintos ámbitos:

Ámbitos de las rutas de OTTL
Ruta Ámbito Ejemplo

resource.attributes["key"]

Nivel de recurso

resource.attributes["service.name"]

instrumentation_scope.attributes["key"]

Atributo de ámbito

instrumentation_scope.attributes["library"]

datapoint.attributes["key"]

Nivel de punto de datos

datapoint.attributes["status_code"]

attributes["key"]

Forma abreviada para el punto de datos

attributes["environment"]

Procesador add_attributes

Agrega o sobrescribe atributos en los puntos de datos de las métricas. Funciona con todos los tipos de temporalidad.

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

Configuración

Configure el procesador add_attributes con los siguientes 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
Parameters
attributes (obligatorio)

Matriz de objetos de atributo que se agregarán.

attributes[].key (obligatorio)

Ruta de atributo de OTTL que especifica dónde se agregará el atributo.

attributes[].value (obligatorio)

Valor de cadena que se asignará.

attributes[].overwrite_if_key_exists (opcional)

Booleano. Cuando el valor es true, sobrescribe los valores existentes. El valor predeterminado es false. Cuando se establece en true, esta operación se considera destructiva y no se aplica a las métricas acumulativas ni a las métricas suministradas.

Procesador delete_attributes

Elimina atributos específicos de los puntos de datos de las métricas. No se aplica a las métricas acumulativas ni a las métricas suministradas.

Equivalente de OTTL: delete_key(attributes, "key")

Configuración

Configure el procesador delete_attributes con los siguientes parámetros:

processor: - delete_attributes: with_keys: - resource.attributes["obsolete"] - attributes["temp"] - datapoint.attributes["debug"]
Parameters
with_keys (obligatorio)

Matriz de rutas de atributos de OTTL que se eliminarán.

Procesador rename_attributes

Cambia el nombre de las claves de atributos en los puntos de datos de las métricas. No se aplica a las métricas acumulativas ni a las métricas suministradas.

Equivalente de OTTL: set() + delete_key()

Configuración

Configure el procesador rename_attributes con los siguientes parámetros:

processor: - rename_attributes: attributes: - from_key: resource.attributes["old_key"] to_key: resource.attributes["new_key"] overwrite_if_to_key_exists: true
Parameters
attributes (obligatorio)

Matriz de operaciones de cambio de nombre.

attributes[].from_key (obligatorio)

Ruta de origen del atributo de OTTL.

attributes[].to_key (obligatorio)

Ruta de destino del atributo de OTTL.

attributes[].overwrite_if_to_key_exists (opcional)

Booleano. Cuando el valor es true, sobrescribe el valor si existe la clave de destino. El valor predeterminado es false.

Procesador rename_metrics

Cambia el nombre de las métricas. No se aplica a las métricas acumulativas ni a las métricas suministradas.

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

Configuración

Configure el procesador rename_metrics con los siguientes parámetros:

processor: - rename_metrics: metrics: - from: "old.metric.name" to: "new.metric.name"
Parameters
metrics (obligatorio)

Matriz de operaciones de cambio de nombre.

metrics[].from (obligatorio)

Nombre actual de la métrica.

metrics[].to (obligatorio)

Nuevo nombre de la métrica.

Procesador substitute_attribute_values

Asigna valores de atributos mediante una tabla de búsqueda. No se aplica a las métricas acumulativas ni a las métricas suministradas.

Equivalente de OTTL: replace_match()

Configuración

Configure el procesador substitute_attribute_values con los siguientes parámetros:

processor: - substitute_attribute_values: attributes: - key: resource.attributes["region"] from: "us-east-1a" to: "us-east-1"
Parameters
attributes (obligatorio)

Matriz de operaciones de sustitución.

attributes[].key (obligatorio)

Ruta de atributo de OTTL con la que se realizará la comparación.

attributes[].from (obligatorio)

Valor que debe coincidir.

attributes[].to (obligatorio)

Valor de sustitución.

Ejemplo completo

En el siguiente ejemplo se utilizan los cinco procesadores en una única canalización:

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: {}

Compatibilidad y restricciones de procesadores

Número máximo de procesadores

Una canalización de métricas puede tener un máximo de 20 procesadores.

Procesadores destructivos y temporalidad

Los procesadores destructivos (delete_attributes, rename_attributes, rename_metrics, substitute_attribute_values y add_attributes con overwrite_if_key_exists: true) no se aplican a las métricas acumulativas ni a las métricas suministradas. Estas métricas se transmiten sin cambios.

Protección de las métricas suministradas

Los procesadores destructivos no pueden modificar las métricas en las que instrumentation_scope.name comienza con cloudwatch.aws/. Estas métricas se transmiten sin cambios.