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:
| Ruta | Ámbito | Ejemplo |
|---|---|---|
|
Nivel de recurso |
|
|
Atributo de ámbito |
|
|
Nivel de punto de datos |
|
|
Forma abreviada para el punto de datos |
|
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 esfalse. Cuando se establece entrue, 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 esfalse.
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_valuesyadd_attributesconoverwrite_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.namecomienza concloudwatch.aws/. Estas métricas se transmiten sin cambios.