Procedimiento de migración de AWS IoT SiteWise alarmas en AWS IoT Events - AWS IoT Events

Aviso de fin de soporte: el 20 de mayo de 2026, AWS finalizará el soporte para AWS IoT Events. Después del 20 de mayo de 2026, ya no podrás acceder a la AWS IoT Events consola ni a AWS IoT Events los recursos. Para obtener más información, consulta AWS IoT Events el fin del soporte.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Procedimiento de migración de AWS IoT SiteWise alarmas en AWS IoT Events

En esta sección, se describen soluciones alternativas que ofrecen una funcionalidad de alarma similar a la que se migra AWS IoT Events.

En el AWS IoT SiteWise caso de las propiedades que utilizan AWS IoT Events alarmas, puede migrar a una solución que utilice CloudWatch alarmas. Este enfoque proporciona capacidades de monitoreo sólidas con funciones establecidas SLAs y adicionales, como la detección de anomalías y las alarmas agrupadas.

Comparación de arquitecturas

La configuración de AWS IoT Events alarmas actual para AWS IoT SiteWise las propiedades debe crearse AssetModelCompositeModels en el modelo de activos, tal y como se describe en la sección Definir alarmas externas de la Guía del AWS IoT SiteWise usuario. AWS IoT SiteWise Por lo general, las modificaciones de la nueva solución se gestionan a través de la AWS IoT Events consola.

La nueva solución proporciona administración de alarmas mediante el aprovechamiento de CloudWatch las alarmas. Este enfoque utiliza AWS IoT SiteWise notificaciones para publicar puntos de datos de propiedades en temas de AWS IoT Core MQTT, que luego son procesados por una función Lambda. La función transforma estas notificaciones en CloudWatch métricas, lo que permite monitorizar las alarmas a través CloudWatch del marco de alarmas que incorpora.

Finalidad Solución Diferencias

Fuente de datos: datos de propiedades de AWS IoT SiteWise

AWS IoT SiteWise Notificaciones MQTT

Sustituye la integración directa de IoT Events con notificaciones MQTT de las propiedades AWS IoT SiteWise

Procesamiento de datos: transforma los datos de las propiedades

Función de Lambda

Procesa las notificaciones de AWS IoT SiteWise propiedades y las convierte en CloudWatch métricas

Evaluación de alarmas: monitorea las métricas y activa las alarmas

CloudWatch Alarmas Amazon

Sustituye las AWS IoT Events CloudWatch alarmas por alarmas y ofrece funciones adicionales, como la detección de anomalías

Integración: conexión con AWS IoT SiteWise

AWS IoT SiteWise alarmas externas

Capacidad opcional para volver a importar CloudWatch las alarmas AWS IoT SiteWise como alarmas externas

Paso 1: Habilite las notificaciones MQTT en la propiedad del activo

Si utiliza AWS IoT Events integraciones para las AWS IoT SiteWise alarmas, puede activar las notificaciones MQTT para cada propiedad que desee supervisar.

  1. Siga el AWS IoT SiteWise procedimiento de configuración de las alarmas de los activos hasta llegar a editar las propiedades del modelo de activos.

  2. Para cada propiedad que vaya a migrar, cambie el estado de la notificación MQTT a ACTIVO.

    Captura de pantalla que muestra la ubicación del menú desplegable de estado de las notificaciones de MQTT en la consola. AWS IoT SiteWise
  3. Anote la ruta temática en la que se publica la alarma para cada atributo de alarma modificado.

Para obtener más información, consulte los siguientes recursos de documentación:

Paso 2: Crear una función de AWS Lambda

Cree una función Lambda para leer la matriz TQV publicada en el tema MQTT y publique valores individuales en ella. CloudWatch Usaremos esta función Lambda como acción de destino para activarla en AWS IoT Core Message Rules.

  1. Abra la AWS Lambda console.

  2. Elija Crear función.

  3. Introduzca un nombre para el nombre de la función.

  4. Seleccione Nodejs 22.x como motor de ejecución.

  5. En el menú desplegable Cambiar la función de ejecución predeterminada, elija Usar la función existente y, a continuación, seleccione la función de IAM que creó en los pasos anteriores.

    nota

    Este procedimiento supone que ya ha migrado su modelo de detector. Si no tiene una función de IAM, consulte.

  6. Elija Crear función.

  7. Pegue el siguiente fragmento de código después de reemplazar las constantes codificadas de forma rígida.

    import json import boto3 from datetime import datetime # Initialize CloudWatch client cloudwatch = boto3.client('cloudwatch') def lambda_handler(message, context): try: # Parse the incoming IoT message # Extract relevant information asset_id = message['payload']['assetId'] property_id = message['payload']['propertyId'] # Process each value in the values array for value in message['payload']['values']: # Extract timestamp and value timestamp = datetime.fromtimestamp(value['timestamp']['timeInSeconds']) metric_value = value['value']['doubleValue'] quality = value.get('quality', 'UNKNOWN') # Publish to CloudWatch response = cloudwatch.put_metric_data( Namespace='IoTSiteWise/AssetMetrics', MetricData=[ { 'MetricName': f'Property_your-property-id', 'Value': metric_value, 'Timestamp': timestamp, 'Dimensions': [ { 'Name': 'AssetId', 'Value': 'your-asset-id' }, { 'Name': 'Quality', 'Value': quality } ] } ] ) return { 'statusCode': 200, 'body': json.dumps('Successfully published metrics to CloudWatch') } except Exception as e: print(f'Error processing message: {str(e)}') return { 'statusCode': 500, 'body': json.dumps(f'Error: {str(e)}') }

Paso 3: Crea AWS IoT Core una regla de enrutamiento de mensajes

  • Siga el tutorial: Procedimiento para volver a publicar un mensaje MQTT introduciendo la siguiente información cuando se le solicite:

    1. Nombre la regla de enrutamiento de mensajes. SiteWiseToCloudwatchAlarms

    2. Para la consulta, puede usar lo siguiente:

      SELECT * FROM '$aws/sitewise/asset-models/your-asset-model-id/assets/your-asset-id/properties/your-property-id'
    3. En Acciones de regla, seleccione la acción Lambda desde AWS IoT SiteWise la que enviar los datos generados a. CloudWatch Por ejemplo:

      Captura de pantalla que muestra la acción de la regla para la función Lambda.

Paso 4: Ver CloudWatch las métricas

A medida que ingiere datos a AWS IoT SiteWise la propiedad seleccionada anteriormentePaso 1: Habilite las notificaciones MQTT en la propiedad del activo, los dirige a la función Lambda que creamos en. Paso 2: Crear una función de AWS Lambda En este paso, puedes comprobar a qué Lambda envía tus métricas. CloudWatch

  1. Abra la CloudWatch de AWS Management Console.

  2. En el menú de navegación de la izquierda, selecciona Métricas y, a continuación, Todas las métricas.

  3. Elige la URL de una alarma para abrirla.

  4. En la pestaña Fuente, el CloudWatch resultado tiene un aspecto similar al de este ejemplo. La información de esta fuente confirma que se están introduciendo los datos de las métricas CloudWatch.

    { "view": "timeSeries", "stacked": false, "metrics": [ [ "IoTSiteWise/AssetMetrics", "Property_your-property-id-hash", "Quality", "GOOD", "AssetId", "your-asset-id-hash", { "id": "m1" } ] ], "region": "your-region" }

Paso 5: Crear CloudWatch alarmas

Sigue el procedimiento Crear una CloudWatch alarma basada en un umbral estático de la Guía del CloudWatch usuario de Amazon para crear alarmas para cada métrica relevante.

nota

Existen muchas opciones de configuración de alarmas en Amazon. CloudWatch Para obtener más información sobre CloudWatch las alarmas, consulta Uso de CloudWatch alarmas de Amazon en la Guía del CloudWatch usuario de Amazon.

Paso 6: (opcional) importe la CloudWatch alarma a AWS IoT SiteWise

Puede configurar CloudWatch las alarmas para devolver los datos AWS IoT SiteWise mediante acciones de CloudWatch alarma y Lambda. Esta integración le permite ver los estados y las propiedades de las alarmas en el portal SiteWise Monitor.

  1. Configure la alarma externa como una propiedad en un modelo de activos. Para obtener más información, consulte Definir alarmas externas AWS IoT SiteWise en la Guía del AWS IoT SiteWise usuario.

  2. Cree una función Lambda que utilice la BatchPutAssetPropertyValueAPI que se encuentra en la Guía del AWS IoT SiteWise usuario para enviar datos de alarma a. AWS IoT SiteWise

  3. Configure acciones de CloudWatch alarma para invocar la función Lambda cuando cambien los estados de alarma. Para obtener más información, consulta la sección Acciones de alarma en la Guía del CloudWatch usuario de Amazon.