Exportación de métricas de Detect - AWS IoT Device Defender

Exportación de métricas de Detect

Con la exportación de métricas, puede exportar métricas de la nube, del dispositivo o personalizadas desde AWS IoT Device Defender y publicarlas un tema de MQTT que configure. Esta característica admite la exportación masiva de métricas de Detect, lo que no solo permite generar informes y análisis de datos más eficientes, sino que también ayuda a controlar los costes. Puede elegir su tema de MQTT como un tema de AWS IoT Rules Basic Ingest o crear su propio tema de MQTT y suscribirse a él. Configure la exportación de métricas mediante la API, la CLI o la consola de AWS IoT Device Defender. Esta característica está disponible en todas las regiones de AWS en las que AWS IoT Device Defender está disponible.

La siguiente imagen muestra cómo puede configurarse AWS IoT Device Defender para exportar métricas. En el primer diagrama, se muestra cómo configurar las métricas de exportación en un tema de Basic Ingest. A continuación, puede enrutar las métricas exportadas a varios destinos compatibles con AWS IoT Rules. El segundo diagrama muestra cómo configurar AWS IoT Device Defender a fin de publicar datos en un tema de MQTT. Luego, el cliente MQTT se suscribe a ese tema. Puede ejecutar un cliente MQTT en un contenedor de Amazon Elastic Container Service, Lambda o una instancia de Amazon EC2 que esté suscrita al mismo tema de MQTT. Siempre que AWS IoT Device Defender publique los datos, el cliente MQTT los recibirá y los procesará. Para obtener más información, consulte Temas de MQTT.

Diagrama con dos opciones para detectar el proceso de exportación de métricas

Cómo funciona la exportación de métricas de Detect

Al configurar un perfil de seguridad, se eligen las métricas que se van a exportar y se especifica el tema de MQTT. También puede configurar un rol de IAM que le conceda a AWS IoT Device Defender Detect los permisos necesarios para publicar mensajes en el tema de MQTT configurado. Puede configurar un tema de MQTT de AWS IoT Rules Basic Ingest y enviar las métricas exportadas a los destinos compatibles con AWS IoT Rules. Si desea obtener instrucciones sobre la configuración de AWS IoT Rules, consulte Rules for AWS IoT, en la Guía para desarrolladores de AWS IoT.

AWS IoT Device Defender Detect agrupa en un lote los valores de las métricas de cada métrica configurada y los publica en el tema de MQTT configurado a intervalos regulares. Con la excepción del tamaño de bytes del mensaje y del tamaño total de bytes, las métricas de la nube se agregan sumando los valores de las métricas de la duración del lote. Las métricas personalizadas y las del dispositivo no se agregan. En cuanto al tamaño de bytes del mensaje, los valores de exportación son el tamaño de byte mínimo, máximo y total durante la duración del lote. Para la duración de la desconexión, el valor de exportación es la duración de la desconexión (en segundos) de todos los dispositivos rastreados. Esto ocurre en cada intervalo de una hora y cuando hay eventos de conexión o desconexión. Para los dispositivos conectados o los eventos de conexión, el valor será cero. Para obtener más información sobre las métricas de la nube, las métricas del dispositivo y las métricas personalizadas, consulte los siguientes temas en la Guía para desarrolladores de AWS IoT Device Defender

Puede exportar métricas por lotes a diferentes destinos con AWS IoT Rules. Para obtener una lista de los destinos compatibles, consulte AWS IoT rule actions. A fin de enviar métricas individuales de un mensaje de exportación por lotes a un destino compatible, puede usar la opción batchMode para las acciones de las reglas de AWS IoT. Si su destino de AWS IoT Rules preferido no es compatible con batchMode, puede enviar métricas individuales dentro de un mensaje por lotes mediante acciones intermedias, como Lambda o Kinesis Data Streams.

Configuración de la exportación de métricas de Detect en la consola de AWS IoT

Cree, vea y edite un nuevo perfil de seguridad que incluya la exportación de métricas en la consola.

Requisitos previos

Antes de configurar la exportación de métricas de Detect, asegúrese de cumplir los siguientes requisitos previos:

  • Un rol de IAM. Para obtener información sobre la creación de un rol de IAM, consulte Creación de roles de IAM en la Guía del usuario de IAM.

  • Una cuenta de AWS en la que puede iniciar sesión como usuario de AWS Identity and Access Management (IAM) con los permisos adecuados. Para obtener más información sobre los permisos de AWS IoT Device Defender Detect, consulte Permisos en la Guía para desarrolladores de AWS IoT Core.

Creación de un nuevo perfil de seguridad con exportación de métricas (consola)

Para poder exportar los datos de comportamiento de las métricas, primero debe configurar un perfil de seguridad que incluya la exportación de métricas. El siguiente procedimiento detalla cómo configurar un perfil de seguridad basado en reglas que incluya la exportación de métricas de Detect.

Para crear un nuevo perfil de seguridad con exportación de métricas
  1. Abra la consola de AWS IoT. En la barra de navegación, amplíe Seguridad, Detect y Perfiles de seguridad.

  2. En Crear perfil de seguridad, seleccione Crear perfil de detección de anomalías basado en reglas.

  3. Para especificar las propiedades de su perfil de seguridad, introduzca el nombre de su perfil de seguridad y, en Destino, elija un grupo de dispositivos a los que dirigir las anomalías. (Opcional) Incluya una descripción y etiquetas para etiquetar los recursos de AWS. Seleccione Siguiente.

  4. En Métrica, elija las métricas para definir el comportamiento del dispositivo. Puede definir el umbral de comportamiento para recibir alertas cuando su dispositivo no cumpla las expectativas de comportamiento.

  5. Para recibir alertas sobre anomalías de comportamiento, elija Enviar una alerta (definir el comportamiento de la métrica) y especifique el Nombre del comportamiento y las condiciones. Para retener las métricas sin alertas, seleccione No enviar una alerta (retener la métrica). Elija Siguiente.

  6. Para configurar las exportaciones de métricas, elija Activar las métricas de exportación.

  7. Introduzca el nombre de un tema de MQTT para publicar los datos de las métricas en AWS IoT Core. Elija un rol de IAM para conceder a AWS IoT el permiso “AWS IoT:Publish” para publicar mensajes en el tema configurado. Seleccione la métrica que desea exportar y, a continuación, Siguiente.

    nota

    Utilice la barra diagonal para representar información jerárquica al introducir el nombre del tema de MQTT. Por ejemplo, $AWS/rules/rule-name/.

  8. A fin de enviar alertas a su consola de AWS cuando un dispositivo infrinja un comportamiento establecido, elija o cree un tema de Amazon SNS y un rol de IAM. Seleccione Siguiente.

  9. Revise sus configuraciones y elija Siguiente.

Visualización y edición de los detalles del perfil de seguridad (consola)

Para ver y editar los detalles del perfil de seguridad
  1. Abra la consola de AWS IoT. En la barra de navegación, amplíe Seguridad, Detect y Perfiles de seguridad.

  2. Seleccione el perfil de seguridad que creó para incluir la exportación de métricas y elija Editar en Acciones.

  3. En Destino, seleccione los grupos de dispositivos de destino que desee editar y seleccione Siguiente.

  4. Para editar las configuraciones del comportamiento de las métricas, elija Recibir alertas (definir el comportamiento de la métrica) y defina las condiciones en las que se cumplen los comportamientos de las métricas. Seleccione Siguiente.

  5. Para desactivar las configuraciones de exportación de métricas, elija Desactivar las métricas de exportación. Seleccione Siguiente.

  6. A fin de configurar Amazon SNS de modo que envíe alertas a su consola de AWS IoT cuando un dispositivo infrinja un comportamiento establecido, elija o cree un tema de Amazon SNS y un rol de IAM. Seleccione Siguiente.

  7. Revise sus configuraciones y elija Siguiente.

Crear un perfil de seguridad y habilitar la exportación de métricas

Utilice el comando create-security-profile para crear su perfil de seguridad y habilitar la exportación de métricas.

Para crear un perfil de seguridad con exportación de métricas

  1. Para habilitar la exportación de métricas e indicar si Detect necesita exportar las métricas correspondientes, defina el valor exportMetric como verdadero en Behavior y AdditionalMetricsToRetainV2.

  2. Incluya el valor para MetricsExportConfig. Esto especifica el tema de MQTT y el Nombre de recurso de Amazon (ARN) de rol necesarios para la exportación de métricas.

    nota

    Incluya mqttTopic para que AWS IoT Device Defender Detect pueda publicar mensajes. El ARN de rol tiene permiso para publicar mensajes de MQTT, tras lo cual, AWS IoT Device Defender Detect puede asumir el rol y publicar mensajes en su nombre.

aws iot create-security-profile \ --security-profile-name CreateSecurityProfileWithMetricsExport \ --security-profile-description "create security profile with metrics export enabled" \ --behaviors "[{\"name\":\"BehaviorNumAuthz\",\"metric\":\"aws:num-authorization-failures\",\"criteria\":{\"comparisonOperator\":\"less-than\",\"value\":{\"count\":5}, \"consecutiveDatapointsToAlarm\":1,\"consecutiveDatapointsToClear\":1,\"durationSeconds\":300},\"exportMetric\":true}]" \ --metrics-export-config "{\"mqttTopic\":\"\$aws/rules/metricsExportRule\",\"roleArn\":\"arn:aws:iam::123456789012:role/iot-test-role\"}" \ --region us-east-1

Salida:

{ "securityProfileName": "CreateSecurityProfileWithMetricsExport", "securityProfileArn": "arn:aws:iot:us-east-1:123456789012:securityprofile/CreateSecurityProfileWithMetricsExport" }

Actualización de un perfil de seguridad para habilitar la exportación de métricas (CLI)

Utilice el comando de update-security-profile para actualizar un perfil de seguridad existente y activar la exportación de métricas.

Para actualizar un perfil de seguridad a fin de activar la exportación de métricas
  1. Para habilitar la exportación de métricas e indicar si Detect necesita exportar las métricas correspondientes, defina el valor exportMetric como verdadero en Behavior y AdditionalMetricsToRetainV2.

  2. Incluya el valor para MetricsExportConfig. Esto especifica el tema de MQTT y el Nombre de recurso de Amazon (ARN) de rol necesarios para la exportación de métricas.

    nota

    Incluya mqttTopic para que AWS IoT Device Defender Detect pueda publicar mensajes. El ARN de rol tiene permiso para publicar mensajes de MQTT, tras lo cual, AWS IoT Device Defender Detect puede asumir el rol y publicar mensajes en su nombre.

aws iot update-security-profile \ --security-profile-name UpdateSecurityProfileWithMetricsExport \ --security-profile-description "update an existing security profile to enable metrics export" \ --behaviors "[{\"name\":\"BehaviorNumAuthz\",\"metric\":\"aws:num-authorization-failures\",\"criteria\":{\"comparisonOperator\":\"less-than\",\"value\":{\"count\":5}, \"consecutiveDatapointsToAlarm\":1,\"consecutiveDatapointsToClear\":1,\"durationSeconds\":300},\"exportMetric\":true}]" \ --metrics-export-config "{\"mqttTopic\":\"\$aws/rules/metricsExportRule\",\"roleArn\":\"arn:aws:iam::123456789012:role/iot-test-role\"}" \ --region us-east-1

Salida:

{ "securityProfileName": "UpdateSecurityProfileWithMetricsExport", "securityProfileArn": "arn:aws:iot:us-east-1:123456789012:securityprofile/UpdateSecurityProfileWithMetricsExport", "securityProfileDescription": "update an existing security profile to enable metrics export", "behaviors": [ { "name": "BehaviorNumAuthz", "metric": "aws:num-authorization-failures", "criteria": { "comparisonOperator": "less-than", "value": { "count": 5 }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 }, "exportMetric": true } ], "version": 2, "creationDate": "2023-11-09T16:18:37.183000-08:00", "lastModifiedDate": "2023-11-09T16:20:15.486000-08:00", "metricsExportConfig": { "mqttTopic": "$aws/rules/metricsExportRule", "roleArn": "arn:aws:iam::123456789012:role/iot-test-role" } }

Actualización de un perfil de seguridad para deshabilitar la exportación de métricas (CLI)

Utilice el comando de update-security-profile para actualizar un perfil de seguridad existente y desactivar la exportación de métricas.

Para actualizar un perfil de seguridad a fin de desactivar la exportación de métricas
  • Para actualizar su perfil de seguridad y eliminar la configuración de exportación de métricas, utilice el comando --delete-metrics-export-config.

aws iot update-security-profile \ --security-profile-name UpdateSecurityProfileToDisableMetricsExport \ --security-profile-description "update an existing security profile to disable metrics export" \ --behaviors "[{\"name\":\"BehaviorNumAuthz\",\"metric\":\"aws:num-authorization-failures\",\"criteria\":{\"comparisonOperator\":\"less-than\",\"value\":{\"count\":5}, \"consecutiveDatapointsToAlarm\":1,\"consecutiveDatapointsToClear\":1,\"durationSeconds\":300}}]" \ --delete-metrics-export-config \ --region us-east-1

Salida:

{ "securityProfileName": "UpdateSecurityProfileToDisableMetricsExport", "securityProfileArn": "arn:aws:iot:us-east-1:123456789012:securityprofile/UpdateSecurityProfileWithMetricsExport", "securityProfileDescription": "update an existing security profile to disable metrics export", "behaviors": [ { "name": "BehaviorNumAuthz", "metric": "aws:num-authorization-failures", "criteria": { "comparisonOperator": "less-than", "value": { "count": 5 }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 } } ], "version": 2, "creationDate": "2023-11-09T16:18:37.183000-08:00", "lastModifiedDate": "2023-11-09T16:31:16.265000-08:00" }

Para obtener más información, consulte comandos Detect en la Guía para desarrolladores de AWS IoT.

Comandos de la CLI para exportación de métricas

Puede utilizar los siguientes comandos de la CLI para crear y administrar la exportación de métricas de Detect.

Operaciones de la API de exportación de métricas

Puede utilizar las siguientes operaciones de API para crear y administrar la exportación de métricas de Detect.