

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.

# Registro y monitorización en AWS IoT Greengrass
<a name="logging-and-monitoring"></a>

La supervisión es un aspecto importante del mantenimiento de la fiabilidad, la disponibilidad y el rendimiento de AWS IoT Greengrass y sus soluciones de AWS. Debe recopilar datos de monitorización de todas las partes de su solución de AWS para que le resulte más sencillo depurar cualquier error que se produzca en distintas partes del código, en caso de que ocurra. Antes de empezar a monitorear AWS IoT Greengrass, debe crear un plan de monitoreo que incluya respuestas a las siguientes preguntas:
+ ¿Cuáles son los objetivos de la monitorización?
+ ¿Qué recursos va a monitorizar?
+ ¿Con qué frecuencia va a monitorizar estos recursos?
+ ¿Qué herramientas de monitorización va a utilizar?
+ ¿Quién se encargará de realizar las tareas de supervisión?
+ ¿Quién debería recibir una notificación cuando surjan problemas?

**Topics**
+ [Herramientas de supervisión](#monitoring-tools)
+ [Supervisión de los registros de AWS IoT Greengrass](monitor-logs.md)
+ [Registra las llamadas a la AWS IoT Greengrass V2 API con AWS CloudTrail](logging-using-cloudtrail.md)
+ [Recopile datos de telemetría del estado del sistema de los dispositivos principales AWS IoT Greengrass](telemetry.md)
+ [Reciba notificaciones sobre el estado de la implementación y de los componentes](deployment-health-notifications.md)
+ [Comprobación del estado del dispositivo principal de Greengrass](device-status.md)

## Herramientas de supervisión
<a name="monitoring-tools"></a>

AWS proporciona herramientas que puede utilizar para monitorizar AWS IoT Greengrass. Puede configurar algunas de estas herramientas para que realicen la monitorización por usted. Algunas de las herramientas requieren intervención manual. Le recomendamos que automatice las tareas de supervisión en la medida de lo posible.

Puede utilizar las siguientes herramientas de monitorización automatizada para monitorizar AWS IoT Greengrass e informar de los problemas:
+ **Registros de Amazon CloudWatch**: monitoree, almacene y obtenga acceso a los archivos de registro de AWS CloudTrail u otras fuentes. Para obtener más información, consulte [Monitoreo de archivos de registro](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html) en la *Guía del usuario de Amazon CloudWatch*.
+ **Monitoreo de registros de AWS CloudTrail**: comparta archivos de registro entre cuentas, monitoree los archivos de registro de CloudTrail en tiempo real enviándolos a CloudWatch Logs, escriba aplicaciones de procesamiento de registros en Java y compruebe que los archivos de registro no hayan cambiado después de que CloudTrail los entregara. Para obtener más información, consulte [Uso de archivos de registro de CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-working-with-log-files.html) en la *Guía del usuario de AWS CloudTrail*.
+ **Telemetría de salud del sistema Greengrass**: suscríbase para recibir los datos de telemetría enviados desde el núcleo de Greengrass. Para obtener más información, consulte [Recopile datos de telemetría del estado del sistema de los dispositivos principales AWS IoT Greengrass](telemetry.md).
+ **Notificaciones de estado del dispositivo** Cree eventos con Amazon EventBridge para recibir actualizaciones de estado relacionadas con las implementaciones y los componentes. Para obtener más información, consulte [Reciba notificaciones sobre el estado de la implementación y de los componentes](deployment-health-notifications.md).
+ **Servicio de estado de la flota**: utilice las operaciones de la API de estado de la flota para comprobar el estado de los dispositivos principales y sus componentes de Greengrass. También puede ver la información del estado de la flota en la consola de AWS IoT Greengrass. Para obtener más información, consulte [Comprobación del estado del dispositivo principal de Greengrass](device-status.md).

# Supervisión de los registros de AWS IoT Greengrass
<a name="monitor-logs"></a>

AWS IoT Greengrass consta del servicio de nube y el software de AWS IoT Greengrass Core. El software AWS IoT Greengrass Core puede escribir Registros de Amazon CloudWatch y en el sistema de archivos local del dispositivo principal. Los componentes de Greengrass que se ejecutan en el dispositivo principal también pueden escribir registros en los Registros de CloudWatch y en el sistema de archivos local. Puede utilizar registros para monitorizar eventos y solucionar problemas. Todas las entradas de registro de AWS IoT Greengrass incluyen una marca temporal, un nivel de registro e información sobre el evento.

De forma predeterminada, el software AWS IoT Greengrass Core escribe los registros únicamente en el sistema de archivos local. Puede ver los registros del sistema de archivos en tiempo real para poder depurar los componentes de Greengrass que desarrolle e implemente. También puede configurar un dispositivo principal para escribir registros en los Registros de CloudWatch, de modo que pueda solucionar los problemas del dispositivo principal sin acceso al sistema de archivos local. Para obtener más información, consulte [Habilitación del registro en los Registros de CloudWatch](#enable-cloudwatch-logs).

**Topics**
+ [Acceso a los registros del sistema de archivos](#access-local-logs)
+ [Acceso a los Registros de CloudWatch](#access-cloudwatch-logs)
+ [Acceso a los registros de servicios del sistema](#access-system-service-logs)
+ [Habilitación del registro en los Registros de CloudWatch](#enable-cloudwatch-logs)
+ [Configuración de registro en AWS IoT Greengrass](#configure-logging)
+ [AWS CloudTrailRegistros de](#cloudtrail-integration)

## Acceso a los registros del sistema de archivos
<a name="access-local-logs"></a>

El software AWS IoT Greengrass Core almacena los registros en la carpeta `/greengrass/v2/logs` de un dispositivo principal, donde `/greengrass/v2` es la ruta a la carpeta raíz de AWS IoT Greengrass. La carpeta de registros tiene la estructura siguiente.

```
/greengrass/v2
└── logs
    ├── greengrass.log
    ├── greengrass_2021_09_14_15_0.log
    ├── ComponentName.log
    ├── ComponentName_2021_09_14_15_0.log
    └── main.log
```
+ `greengrass.log`: el archivo de registro del software AWS IoT Greengrass Core. Utilice este archivo de registro para ver información en tiempo real sobre los componentes y las implementaciones. Este archivo de registro incluye registros del núcleo de Greengrass, que es el núcleo del software AWS IoT Greengrass Core, y componentes del complemento, como el [administrador de registros](log-manager-component.md) y el[ administrador de secretos](secret-manager-component.md).
+ `ComponentName.log`: archivos de registro de componentes de Greengrass. Utilice los archivos de registro de componentes para ver información en tiempo real sobre un componente de Greengrass que se ejecuta en el dispositivo principal. Los componentes genéricos y los componentes de Lambda escriben la salida estándar (stdout) y el error estándar (stderr) en estos archivos de registro.
+ `main.log`: el archivo de registro del servicio `main` que gestiona los ciclos de vida de los componentes. Este archivo de registro siempre estará vacío.

Para obtener más información acerca de las diferencias entre los componentes de complemento, genéricos y Lambda, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

Las siguientes consideraciones se aplican cuando se utilizan los registros del sistema de archivos:
+ **Permisos de usuario raíz**

  Debe tener permisos de raíz para leer registros de AWS IoT Greengrass en el sistema de archivos.
+ **Rotación de archivos de registro**

  El software AWS IoT Greengrass Core rota los archivos de registro cada hora o cuando superan un límite de tamaño de archivo. Los archivos de registro rotados contienen una marca temporal en el nombre del archivo. Por ejemplo, un archivo de registro del software AWS IoT Greengrass Core rotado podría tener un nombre `greengrass_2021_09_14_15_0.log`. El límite de tamaño de archivo predeterminado es de 1024 KB (1 MB). Puede configurar el límite de tamaño de archivo en el [componente núcleo de Greengrass](greengrass-nucleus-component.md).
+ **Eliminación del archivo de registro**

  El software AWS IoT Greengrass Core borra los archivos de registro anteriores cuando el tamaño de los archivos de registro del software AWS IoT Greengrass Core o los archivos de registro de los componentes de Greengrass, incluidos los archivos de registro rotados, excede un límite de espacio en disco. El límite de espacio en disco predeterminado para el registro del software AWS IoT Greengrass Core y para cada registro de componentes es de 10 240 KB (10 MB). Puede configurar el límite de espacio en disco de registro del software AWS IoT Greengrass Core en el [componente núcleo de Greengrass](greengrass-nucleus-component.md) o en el [componente administrador de registros](log-manager-component.md). Puede configurar el límite de espacio en disco de registro de cada componente en el [componente administrador de registros](log-manager-component.md).

**Cómo ver el archivo de registro del software AWS IoT Greengrass Core**
+ Ejecute el siguiente comando para ver el archivo de registro en tiempo real. Sustituya `/greengrass/v2` por la ruta a la carpeta raíz de AWS IoT Greengrass.

------
#### [ Linux or Unix ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows Command Prompt (CMD) ]

  ```
  type C:\greengrass\v2\logs\com.example.HelloWorld.log
  ```

  <a name="windows-cmd-type-observe-logs"></a>El comando `type` escribe el contenido del archivo en la terminal. Ejecute este comando varias veces para observar los cambios en el archivo.

------
#### [ PowerShell ]

  ```
  gc C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

**Cómo ver el archivo de registro de un componente**
+ Ejecute el siguiente comando para ver el archivo de registro en tiempo real. Sustituya `/greengrass/v2` o *C:\$1greengrass\$1v2* por la ruta a la carpeta raíz de AWS IoT Greengrass y sustituya *com.example.HelloWorld* por el nombre del componente.

------
#### [ Linux or Unix ]

  ```
  sudo tail -f /greengrass/v2/logs/com.example.HelloWorld.log
  ```

------
#### [ PowerShell ]

  ```
  gc C:\greengrass\v2\logs\com.example.HelloWorld.log -Tail 10 -Wait
  ```

------

También puede usar el comando `logs` de la [CLI de Greengrass](greengrass-cli-component.md) para analizar los registros de Greengrass en un dispositivo principal. Para usar el comando `logs`, debe configurar el [núcleo de Greengrass](greengrass-nucleus-component.md) para que genere archivos de registro en formato JSON. Para obtener más información, consulte [Interfaz de la línea de comandos de Greengrass](gg-cli.md) y [registros](gg-cli-logs.md).

## Acceso a los Registros de CloudWatch
<a name="access-cloudwatch-logs"></a>

Puede implementar el [componente administrador de registros](log-manager-component.md) para configurar el dispositivo principal para que escriba en los Registros de CloudWatch. Para obtener más información, consulte [Habilitación del registro en los Registros de CloudWatch](#enable-cloudwatch-logs). Luego, puede ver los registros en la página** Registros** de la consola de Amazon CloudWatch o mediante la API de Registros de CloudWatch.<a name="log-manager-log-group-stream-format"></a>

**Nombre del grupo de registro**  

```
/aws/greengrass/componentType/region/componentName
```
El nombre del grupo de registro utiliza las siguientes variables:  
+ `componentType`: el tipo del componente, que puede ser uno de los siguientes:
  + `GreengrassSystemComponent`: este grupo de registro incluye los registros de los componentes del núcleo y del complemento, que se ejecutan en la misma JVM que el núcleo de Greengrass. El componente forma parte del [núcleo de Greengrass](greengrass-nucleus-component.md).
  + `UserComponent`: este grupo de registro incluye registros de componentes genéricos, componentes de Lambda y otras aplicaciones del dispositivo. El componente no forma parte del núcleo de Greengrass.

  Para obtener más información, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).
+ `region`: la región de AWS que utiliza el dispositivo principal.
+ `componentName`: el nombre del componente. En el caso de los registros del sistema, este valor es `System`.

**Nombre del flujo de registro**  

```
/date/thing/thingName
```
El nombre del flujo de registro utiliza las siguientes variables:  
+ `date`: la fecha del registro, por ejemplo, `2020/12/15`. El componente administrador de registros usa el formato `yyyy/MM/dd`.
+ `thingName`: el nombre del dispositivo principal.
Si el nombre de un objeto contiene dos puntos (`:`), el administrador de registros los sustituye por un signo más (`+`).

<a name="log-manager-considerations-intro"></a>Las siguientes consideraciones se aplican cuando utilice el administrador de registros para escribir en Registros de CloudWatch:<a name="log-manager-considerations"></a>
+ **Demoras de registro**
**nota**  
Le recomendamos que actualice a la versión 2.3.0 del administrador de registros, ya que reduce las demoras en el registro de los archivos de registro activos y rotados. Cuando actualice al administrador de registros 2.3.0, le recomendamos que también actualice al núcleo de Greengrass 2.9.1.

  La versión 2.2.8 (y anteriores) del componente administrador de registros procesa y carga los registros únicamente a partir de archivos de registro rotados. De forma predeterminada, el software AWS IoT Greengrass Core rota los archivos de registro cada hora o después de que ocupen 1024 KB. Como resultado, el componente del administrador de registros carga los registros solo después de que el software AWS IoT Greengrass Core o un componente de Greengrass hayan escrito registros con un valor superior a 1024 KB. Puede configurar un límite de tamaño de archivo de registro inferior para que los archivos de registro roten con mayor frecuencia. Esto hace que el componente del administrador de registros cargue registros en los Registros de CloudWatch con mayor frecuencia.

  La versión 2.3.0 (y posteriores) del componente administrador de registros procesa y carga todos los registros. Cuando escribe un registro nuevo, la versión 2.3.0 (y posteriores) del administrador de registros procesa y carga directamente el archivo de registro activo en lugar de esperar a que se rote. Esto significa que puede ver el nuevo registro en 5 minutos o menos.

  El componente administrador de registros carga nuevos registros periódicamente. De forma predeterminada, el componente del administrador de registros carga nuevos registros cada 5 minutos. Puede configurar un intervalo de carga inferior para que el componente administrador de registros cargue los registros en los Registros de CloudWatch con mayor frecuencia si configura `periodicUploadIntervalSec`. Para obtener más información acerca de cómo configurar este intervalo periódico, consulte [Configuración](https://docs.aws.amazon.com/greengrass/v2/developerguide/log-manager-component.html#log-manager-component-configuration).

  Los registros se pueden cargar prácticamente en tiempo real desde el mismo sistema de archivos de Greengrass. Si necesita observar los registros en tiempo real, considere usar los [registros del sistema de archivos](#access-local-logs).
**nota**  
Si utiliza distintos sistemas de archivos para escribir los registros, el administrador de registros vuelve al comportamiento de las versiones 2.2.8 y anteriores del componente administrador de registros. Para obtener información sobre cómo acceder a los registros del sistema de archivos, consulte [Acceder a los registros del sistema de archivos](https://docs.aws.amazon.com/greengrass/v2/developerguide/monitor-logs.html#access-local-logs).
+ **Desfase del reloj**

  El componente administrador de registros utiliza el proceso de firma estándar de la versión 4 de Signature para crear solicitudes de API a los Registros de CloudWatch. Si la hora del sistema del dispositivo principal no está sincronizada en más de 15 minutos, los Registros de CloudWatch rechaza las solicitudes. Para obtener más información, consulte [Proceso de firma Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) en la *Referencia general de AWS*.

## Acceso a los registros de servicios del sistema
<a name="access-system-service-logs"></a>

Si [configura el software AWS IoT Greengrass Core como un servicio del sistema](configure-greengrass-core-v2.md#configure-system-service), puede ver los registros de servicio del sistema para solucionar problemas, como el hecho de que el software no se inicie.

**Cómo ver los registros de servicio del sistema (CLI)**

1. Ejecute el siguiente comando para ver registros de servicio del sistema de software AWS IoT Greengrass Core.

------
#### [ Linux or Unix (systemd) ]

   ```
   sudo journalctl -u greengrass.service
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   type C:\greengrass\v2\logs\greengrass.wrapper.log
   ```

------
#### [ PowerShell ]

   ```
   gc C:\greengrass\v2\logs\greengrass.wrapper.log
   ```

------

1. En los dispositivos Windows, el software AWS IoT Greengrass Core crea un archivo de registro independiente para los errores del servicio del sistema. Ejecute el siguiente comando para ver los registros de errores del servicio del sistema.

------
#### [ Windows Command Prompt (CMD) ]

   ```
   type C:\greengrass\v2\logs\greengrass.err.log
   ```

------
#### [ PowerShell ]

   ```
   gc C:\greengrass\v2\logs\greengrass.err.log
   ```

------

En los dispositivos Windows, también puede utilizar la aplicación **Event Viewer** para ver los registros de servicio del sistema.

**Cómo ver los registros de servicio de Windows (Event Viewer)**

1. Abra la aplicación **Event Viewer**.

1. Seleccione **Registros de Windows** para expandirlo.

1. Elija **Aplicación** para ver los registros de servicio de la aplicación.

1. Busque y abra los registros de eventos cuyo **Origen** sea **greengrass**.

## Habilitación del registro en los Registros de CloudWatch
<a name="enable-cloudwatch-logs"></a>

Puede implementar el [componente administrador de registros](log-manager-component.md) para configurar el dispositivo principal para que escriba registros en los Registros de CloudWatch. Puede habilitar los Registros de CloudWatch para los registros del software AWS IoT Greengrass Core y puede habilitar los Registros de CloudWatch para componentes específicos de Greengrass.

**nota**  
El rol de intercambio de token del dispositivo principal de Greengrass debe permitir que el dispositivo principal escriba en los Registros de CloudWatch, como se muestra en el siguiente ejemplo de política de IAM. Si [instaló el software AWS IoT Greengrass Core con el aprovisionamiento automático de recursos](quick-installation.md), su dispositivo principal tiene estos permisos.  

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogStreams"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:logs:*:*:*"
    }
  ]
}
```

Para configurar un dispositivo principal para escribir registros del software AWS IoT Greengrass Core en los Registros de CloudWatch, [cree una implementación](create-deployments.md) que especifique una actualización de configuración que establezca `uploadToCloudWatch` en `true` para el componente `aws.greengrass.LogManager`. AWS IoT Greengrass Los registros del software Core incluyen los registros del [núcleo de Greengrass](greengrass-nucleus-component.md) y los [componentes del complemento](develop-greengrass-components.md#component-types).

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true"
    }
  }
}
```

Para configurar un dispositivo principal para escribir los registros de un componente de Greengrass en los Registros de CloudWatch, [cree una implementación](create-deployments.md) que especifique una actualización de configuración que agregue el componente a la lista de configuraciones de registro de componentes. Al agregar un componente a esta lista, el componente administrador de registros escribe registros en los Registros de CloudWatch. Los registros de componentes incluyen registros de [componentes genéricos y componentes de Lambda](develop-greengrass-components.md#component-types).

```
{
  "logsUploaderConfiguration": {
    "componentLogsConfigurationMap": {
      "com.example.HelloWorld": {
      
      }
    }
  }
}
```

Al implementar el componente administrador de registros, también puede configurar los límites de espacio en disco y si el dispositivo principal eliminará los archivos de registro después de escribirlos en los Registros de CloudWatch. Para obtener más información, consulte [Configuración de registro en AWS IoT Greengrass](#configure-logging).

## Configuración de registro en AWS IoT Greengrass
<a name="configure-logging"></a>

Puede configurar las siguientes opciones para personalizar el registro de los dispositivos principales de Greengrass. Para configurar estas opciones, [cree una implementación](create-deployments.md) que especifique una actualización de configuración para los componentes del núcleo de Greengrass o del administrador de registros.
+ **Escritura de registros en los Registros de CloudWatch**

  Para solucionar problemas de dispositivos principales de forma remota, puede configurarlos para que escriban registros de componentes y del software AWS IoT Greengrass Core en los Registros de CloudWatch. Para ello, implemente y configure el [componente administrador de registros](log-manager-component.md). Para obtener más información, consulte [Habilitación del registro en los Registros de CloudWatch](#enable-cloudwatch-logs).
+ **Eliminación de los archivos de registro cargados**

  Para reducir el uso del espacio en disco, puede configurar los dispositivos principales para que eliminen los archivos de registro después de escribirlos en los Registros de CloudWatch. Para obtener más información, consulte el parámetro `deleteLogFileAfterCloudUpload` del componente administrador de registros, que puede especificar para los [registros del software AWS IoT Greengrass Core](log-manager-component.md#log-manager-component-configuration-system-logs-configuration) y los [registros de los componentes](log-manager-component.md#log-manager-component-configuration-component-logs-configuration).
+ **Límites de espacio en disco de registro**

  Para limitar el uso del espacio en disco, puede configurar el espacio máximo en disco para cada registro, incluidos sus archivos de registro rotados, en un dispositivo principal. Por ejemplo, puede configurar el espacio máximo combinado en disco para `greengrass.log` y los archivos rotados `greengrass.log`. Para obtener más información, consulte el parámetro `logging.totalLogsSizeKB` del componente núcleo de Greengrass y el parámetro `diskSpaceLimit` del componente administrador de registros, que puede especificar para los [registros del software AWS IoT Greengrass Core](log-manager-component.md#log-manager-component-configuration-system-logs-configuration) y [registros de componente](log-manager-component.md#log-manager-component-configuration-component-logs-configuration).
+ **Límite de tamaño de los archivos de registro**

  Puede configurar el tamaño máximo de archivo para cada archivo de registro. Cuando un archivo de registro supera este límite de tamaño de archivo, el software AWS IoT Greengrass Core crea un nuevo archivo de registro. El [componente administrador de registros](log-manager-component.md) versión 2.28 (y anteriores) solo escribe archivos de registro rotados en los Registros de CloudWatch, por lo que puede especificar un límite de tamaño de archivo inferior para escribir registros en los Registros de CloudWatch con mayor frecuencia. La versión 2.3.0 (y posteriores) del componente administrador de registros procesa y carga todos los registros en lugar de esperar a que se roten. Para obtener más información, consulte el [parámetro de límite de tamaño de archivo de registro](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-log-file-size) del componente de núcleo de Greengrass (`logging.fileSizeKB`).
+ **Niveles mínimos de registro**

  Puede configurar el nivel de registro mínimo que el componente núcleo de Greengrass escribe en los registros del sistema de archivos. Por ejemplo, puede especificar los registros de `DEBUG` para facilitar la solución de problemas, o puede especificar los registros de `ERROR` para reducir la cantidad de registros que crea un dispositivo principal. Para obtener más información, consulte el [parámetro de límite de registro](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-log-level) del componente núcleo de Greengrass (`logging.level`).

  También puede configurar el nivel de registro mínimo que el componente del administrador de registros escribe en los Registros de CloudWatch. Por ejemplo, puede especificar un nivel de registro superior para reducir [los costos de registro](https://aws.amazon.com/cloudwatch/pricing/). Para obtener más información, consulte el parámetro `minimumLogLevel` del componente administrador de registros, que puede especificar para los [registros del software AWS IoT Greengrass Core](log-manager-component.md#log-manager-component-configuration-system-logs-configuration) y los [registros de los componentes](log-manager-component.md#log-manager-component-configuration-component-logs-configuration).
+ **Intervalo para comprobar los registros que se van a escribir en los Registros de CloudWatch**

  Para aumentar o reducir la frecuencia con la que el componente administrador de registros escribe registros en los Registros de CloudWatch, puede configurar el intervalo en el que comprueba si hay nuevos archivos de registro que escribir. Por ejemplo, puede especificar un intervalo inferior para ver los registros en los Registros de CloudWatch antes de lo que lo haría con el intervalo predeterminado de 5 minutos. Puede especificar un intervalo mayor para reducir los costos, ya que el componente administrador de registros agrupa los archivos de registro en menos solicitudes. Para obtener más información, consulte el [parámetro de intervalo de carga](log-manager-component.md#log-manager-component-configuration-periodic-upload-interval-sec) (`periodicUploadIntervalSec`) del componente administrador de registros.
+ **Formato de registro**

  Puede elegir si el software AWS IoT Greengrass Core escribe registros en formato de texto o JSON. Elija el formato de texto si lee los registros o el formato JSON si utiliza una aplicación para leer o analizar los registros. Para obtener más información, consulte el [parámetro de formato de registro](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format) (`logging.format`) del componente núcleo de Greengrass.
+ **Carpeta de registros del sistema de archivos local**

  Puede cambiar la carpeta de registros `/greengrass/v2/logs` por otra carpeta del dispositivo principal. Para obtener más información, consulte el [parámetro del directorio de salida](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-log-level) (`logging.outputDirectory`) del componente núcleo de Greengrass.

## AWS CloudTrailRegistros de
<a name="cloudtrail-integration"></a>

AWS IoT Greengrass se integra con AWS CloudTrail, un servicio que proporciona un registro de las acciones realizadas por un usuario, un rol o Servicio de AWS en AWS IoT Greengrass. Para obtener más información, consulte [Registra las llamadas a la AWS IoT Greengrass V2 API con AWS CloudTrail](logging-using-cloudtrail.md).

# Registra las llamadas a la AWS IoT Greengrass V2 API con AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

AWS IoT Greengrass V2 está integrado con AWS CloudTrail un servicio que proporciona un registro de las acciones realizadas por un usuario, un rol o un AWS servicio en él AWS IoT Greengrass Version 2. CloudTrail captura todas las llamadas a la API AWS IoT Greengrass como eventos. Las llamadas que se capturan incluyen las llamadas desde la AWS IoT Greengrass consola y las llamadas en código a las operaciones de la AWS IoT Greengrass API.

Si crea un registro, puede habilitar la entrega continua de CloudTrail eventos a un bucket de S3, incluidos los eventos correspondientes AWS IoT Greengrass. Si no configuras una ruta, podrás ver los eventos más recientes en la CloudTrail consola, en el **historial de eventos**. Con la información recopilada por usted CloudTrail, puede determinar el destinatario de la solicitud AWS IoT Greengrass, la dirección IP desde la que se realizó la solicitud, quién la realizó, cuándo se realizó y detalles adicionales.

Para obtener más información al respecto CloudTrail, consulte la [Guía AWS CloudTrail del usuario](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html).

**Topics**
+ [AWS IoT Greengrass V2 información en CloudTrail](#service-name-info-in-cloudtrail)
+ [AWS IoT Greengrass eventos de datos en CloudTrail](#greengrass-data-events-cloudtrail)
+ [AWS IoT Greengrass eventos de gestión en CloudTrail](#greengrass-management-events-cloudtrail)
+ [Descripción de las entradas de los archivos de AWS IoT Greengrass V2 registro](#understanding-service-name-entries)

## AWS IoT Greengrass V2 información en CloudTrail
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail está habilitada en tu cuenta Cuenta de AWS al crear la cuenta. Cuando se produce una actividad en AWS IoT Greengrass, esa actividad se registra en un CloudTrail evento junto con otros eventos de AWS servicio en el **historial de eventos**. Puede ver, buscar y descargar eventos recientes en su Cuenta de AWS. Para obtener más información, consulte [Visualización de eventos con el historial de CloudTrail eventos](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html).

Para tener un registro continuo de tus eventos Cuenta de AWS, incluidos los eventos para AWS IoT Greengrass ti, crea una ruta. Un *rastro* permite CloudTrail enviar archivos de registro a un bucket de S3. De forma predeterminada, al crear una ruta en la consola, la ruta se aplica a todos los Región de AWS s. La ruta registra los eventos de todas las regiones de la AWS partición y envía los archivos de registro al depósito de S3 que especifique. Además, puede configurar otros AWS servicios para analizar más a fondo los datos de eventos recopilados en los CloudTrail registros y actuar en función de ellos. Para más información, consulte los siguientes temas:
+ [Introducción a la creación de registros de seguimiento](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail servicios e integraciones compatibles](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [Configuración de las notificaciones de Amazon SNS para CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [Recibir archivos de CloudTrail registro de varias regiones](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) y [recibir archivos de CloudTrail registro de varias cuentas](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Todas AWS IoT Greengrass V2 las acciones se registran CloudTrail y se documentan en la [referencia de la AWS IoT Greengrass V2 API](https://docs.aws.amazon.com/greengrass/v2/APIReference/Welcome.html). Por ejemplo, las llamadas a `CreateDeployment` y `CancelDeployment` las acciones generan entradas en los archivos de CloudTrail registro. `CreateComponentVersion`

Cada entrada de registro o evento contiene información sobre quién generó la solicitud. La información de identidad del usuario le ayuda a determinar lo siguiente:
+ Si la solicitud se realizó con credenciales de usuario root o AWS Identity and Access Management (IAM).
+ Si la solicitud se realizó con credenciales de seguridad temporales de un rol o fue un usuario federado.
+ Si la solicitud la realizó otro AWS servicio.

Para obtener más información, consulte el [elemento userIdentity de CloudTrail ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## AWS IoT Greengrass eventos de datos en CloudTrail
<a name="greengrass-data-events-cloudtrail"></a>

[Los eventos de datos](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) proporcionan información sobre las operaciones de recursos realizadas en un recurso o dentro de un recurso (por ejemplo, obtener la versión de un componente o configurar una implementación). Se denominan también operaciones del plano de datos. Los eventos de datos suelen ser actividades de gran volumen. De forma predeterminada, CloudTrail no registra los eventos de datos. El **historial de CloudTrail eventos** no registra los eventos de datos.

Se aplican cargos adicionales a los eventos de datos. Para obtener más información sobre CloudTrail los precios, consulta [AWS CloudTrail Precios](https://aws.amazon.com/cloudtrail/pricing/).

Puede registrar eventos de datos para los tipos de AWS IoT Greengrass recursos mediante la CloudTrail consola o las operaciones de la CloudTrail API. AWS CLI La [tabla](#data-events-table) de esta sección muestra los tipos de recursos disponibles para AWS IoT Greengrass.
+ Para registrar eventos de datos mediante la CloudTrail consola, cree un [almacén de datos de [rutas](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html#creating-a-trail-in-the-console) o eventos](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store-cloudtrail.html) para registrar eventos de datos, o [actualice un banco de datos de seguimiento o evento existente](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-console) para registrar eventos de datos.

  1. Para registrar eventos de datos, elija **Eventos de datos**.

  1. En la lista **Tipo de evento de datos**, elija el tipo de recurso en el que desea registrar los eventos de datos.

  1. Elija la plantilla de selector de registro que desea usar. Puede registrar todos los eventos de datos del tipo de recurso, registre todos los eventos `readOnly`, registre todos los eventos `writeOnly` o cree una plantilla de selector de registro personalizada para filtrar por los campos `readOnly`, `eventName` y `resources.ARN`.
+ Para registrar eventos de datos mediante el AWS CLI, configure el `--advanced-event-selectors` parámetro para que el `eventCategory` campo sea igual al valor del tipo de recurso `Data` y el `resources.type` campo igual al valor del tipo de recurso (consulte [la tabla](#data-events-table)). Puede agregar condiciones para filtrar los valores de los campos `readOnly`, `eventName` y `resources.ARN`.
  + Para configurar el registro de seguimiento para eventos de datos de registro, ejecute el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/put-event-selectors.html](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/put-event-selectors.html). Para obtener más información, consulte [Registro de eventos de datos para registros de seguimiento en la AWS CLI](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-CLI-trail-examples).
  + Para configurar un almacén de datos de eventos para registrar eventos de datos, ejecute el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/create-event-data-store.html](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/create-event-data-store.html) para crear un almacén de datos de eventos nuevo o ejecute el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/update-event-data-store.html](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/update-event-data-store.html) para actualizar uno existente. Para obtener más información, consulte [Registro de eventos de datos para almacenes de datos de eventos con la AWS CLI](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-CLI-eds-examples).

En la siguiente tabla se enumeran los tipos de AWS IoT Greengrass recursos. La columna **Tipo de evento de datos (consola)** muestra el valor que se puede elegir en la lista de **tipos de eventos de datos** de la CloudTrail consola. La columna de **valores resources.type** muestra el `resources.type` valor, que se especificaría al configurar los selectores de eventos avanzados mediante o. AWS CLI CloudTrail APIs La CloudTrail columna **Datos APIs registrados muestra las llamadas a** la API registradas CloudTrail para el tipo de recurso.


| Tipo de evento de datos (consola) | resources.type value | Datos APIs registrados en CloudTrail | 
| --- | --- | --- | 
| Certificado IoT | AWS::IoT::Certificate |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/greengrass/v2/developerguide/logging-using-cloudtrail.html)  | 
| Versión del componente IoT Greengrass |  AWS::GreengrassV2::ComponentVersion  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/greengrass/v2/developerguide/logging-using-cloudtrail.html)  | 
| Implementación de IoT Greengrass |  AWS::GreengrassV2::Deployment  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/greengrass/v2/developerguide/logging-using-cloudtrail.html)  | 
| Objeto de IoT | AWS::IoT::Thing |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/greengrass/v2/developerguide/logging-using-cloudtrail.html)  | 

Puede configurar selectores de eventos avanzados para filtrar según los campos `eventName`, `readOnly` y `resources.ARN` y así registrar solo los eventos que son importantes para usted.

Añada un filtro `eventName` para incluir o excluir datos específicos APIs.

Para obtener más información acerca de estos campos, consulte [https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html).

En los siguientes ejemplos, se muestra cómo configurar selectores avanzados con la AWS CLI. Sustituya *TrailName* y *region* con su propia información.

**Example — Registro de eventos de datos para objetos de IoT**  

```
aws cloudtrail put-event-selectors --trail-name TrailName --region region \
--advanced-event-selectors \
‘[
    {
            “Name”: “Log all thing data events”,
            “FieldSelectors”: [
                { “Field”: “eventCategory”, “Equals”: [“Data”] },
                { “Field”: “resources.type”, “Equals”: [“AWS::IoT::Thing”] }
            ]
        }
]’
```

**Example — Filtro de una API de un objeto de IoT específica**  

```
aws cloudtrail put-event-selectors --trail-name TrailName --region region \
--advanced-event-selectors \
‘[
    {
            “Name”: “Log IoT Greengrass PutCertificateAuthorities API calls”,
            “FieldSelectors”: [
                { “Field”: “eventCategory”, “Equals”: [“Data”] },
                { “Field”: “resources.type”, “Equals”: [“AWS::IoT::Thing”] },
                { “Field”: “eventName”, “Equals”: [“PutCertificateAuthorities”] }
            ]
    }
]’
```

**Example — Registro de todos los eventos de datos de Greengrass**  

```
aws cloudtrail put-event-selectors --trail-name TrailName --region region \
--advanced-event-selectors \
‘[
    {
        “Name”: “Log all certificate data events”,
        “FieldSelectors”: [
            {
                “Field”: “eventCategory”,
                “Equals”: [
                    “Data”
                ]
            },
            {
                “Field”: “resources.type”,
                “Equals”: [
                    “AWS::IoT::Certificate”
                ]
            }
        ]
    },
    {
        “Name”: “Log all component version data events”,
        “FieldSelectors”: [
            {
                “Field”: “eventCategory”,
                “Equals”: [
                    “Data”
                ]
            },
            {
                “Field”: “resources.type”,
                “Equals”: [
                    “AWS::GreengrassV2::ComponentVersion”
                ]
            }
        ]
    },
    {
        “Name”: “Log all deployment version”,
        “FieldSelectors”: [
            {
                “Field”: “eventCategory”,
                “Equals”: [
                    “Data”
                ]
            },
            {
                “Field”: “resources.type”,
                “Equals”: [
                    “AWS::GreengrassV2::Deployment”
                ]
            }
        ]
    },
    {
        “Name”: “Log all thing data events”,
        “FieldSelectors”: [
            {
                “Field”: “eventCategory”,
                “Equals”: [
                    “Data”
                ]
            },
            {
                “Field”: “resources.type”,
                “Equals”: [
                    “AWS::IoT::Thing”
                ]
            }
        ]
    }
]’
```

## AWS IoT Greengrass eventos de gestión en CloudTrail
<a name="greengrass-management-events-cloudtrail"></a>

[Los eventos de administración](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events) proporcionan información sobre las operaciones de administración que se realizan en los recursos de su AWS cuenta. Se denominan también operaciones del plano de control. De forma predeterminada, CloudTrail registra los eventos de administración.

AWS IoT Greengrass registra todas las operaciones del plano de AWS IoT Greengrass control como eventos de administración. Para obtener una lista de las operaciones del plano de AWS IoT Greengrass control en las que se AWS IoT Greengrass registra CloudTrail, consulte la [referencia de la AWS IoT Greengrass API, versión 2](https://docs.aws.amazon.com/greengrass/v2/APIReference/Welcome.html).

## Descripción de las entradas de los archivos de AWS IoT Greengrass V2 registro
<a name="understanding-service-name-entries"></a>

Un registro es una configuración que permite la entrega de eventos como archivos de registro a un bucket de S3 que usted especifique. CloudTrail Los archivos de registro contienen una o más entradas de registro. Un evento representa una única solicitud desde cualquier origen. Incluye información sobre la acción solicitada, la fecha y la hora de la acción, los parámetros de la solicitud, etc. CloudTrail Los archivos de registro no son un registro ordenado de las llamadas a las API públicas, por lo que no aparecen en ningún orden específico. 

En el siguiente ejemplo, se muestra una entrada de CloudTrail registro que demuestra la `CreateDeployment` acción.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "AIDACKCEVSQ6C2EXAMPLE",
        "arn": "arn:aws:iam::123456789012:user/Administrator",
        "accountId": "123456789012",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "userName": "Administrator"
    },
    "eventTime": "2021-01-06T02:38:05Z",
    "eventSource": "greengrass.amazonaws.com",
    "eventName": "CreateDeployment",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "203.0.113.0",
    "userAgent": "aws-cli/2.1.9 Python/3.7.9 Windows/10 exe/AMD64 prompt/off command/greengrassv2.create-deployment",
    "requestParameters": {
        "deploymentPolicies": {
            "failureHandlingPolicy": "DO_NOTHING",
            "componentUpdatePolicy": {
                "timeoutInSeconds": 60,
                "action": "NOTIFY_COMPONENTS"
            },
            "configurationValidationPolicy": {
                "timeoutInSeconds": 60
            }
        },
        "deploymentName": "Deployment for MyGreengrassCoreGroup",
        "components": {
            "aws.greengrass.Cli": {
                "componentVersion": "2.0.3"
            }
        },
        "iotJobConfiguration": {},
        "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup"
    },
    "responseElements": {
        "iotJobArn": "arn:aws:iot:us-west-2:123456789012:job/fdfeba1d-ac6d-44ef-ab28-54f684ea578d",
        "iotJobId": "fdfeba1d-ac6d-44ef-ab28-54f684ea578d",
        "deploymentId": "4196dddc-0a21-4c54-a985-66a525f6946e"
    },
    "requestID": "311b9529-4aad-42ac-8408-c06c6fec79a9",
    "eventID": "c0f3aa2c-af22-48c1-8161-bad4a2ab1841",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "eventCategory": "Management",
    "recipientAccountId": "123456789012"
}
```

# Recopile datos de telemetría del estado del sistema de los dispositivos principales AWS IoT Greengrass
<a name="telemetry"></a>

Los datos de telemetría del estado del sistema son datos de diagnóstico que pueden ayudarlo a monitorear el rendimiento de las operaciones críticas en sus dispositivos principales de Greengrass. Puede crear proyectos y aplicaciones para recuperar, analizar, transformar y generar informes sobre los datos de telemetría de sus dispositivos periféricos. Los expertos de dominio, como los ingenieros de procesos, pueden utilizar estas aplicaciones para obtener información sobre el estado de la flota.

Puede utilizar los siguientes métodos para recopilar datos de telemetría de sus dispositivos principales de Greengrass:
+ **Componente emisor de telemetría de núcleo:** el [componente emisor de telemetría de núcleo](nucleus-emitter-component.md) (`aws.greengrass.telemetry.NucleusEmitter`) de un dispositivo principal de Greengrass publica los datos de telemetría en el tema `$local/greengrass/telemetry` de forma predeterminada. Puede utilizar los datos publicados en este tema para actuar de forma local en su dispositivo principal, incluso si su conectividad a la nube es limitada. Si lo desea, también puede configurar el componente para que publique los datos de telemetría en el tema de MQTT que prefiera. AWS IoT Core 

  Debe implementar el componente emisor de núcleo en un dispositivo principal para publicar los datos de telemetría. La publicación de los datos de telemetría en el tema local no conlleva ningún costo. [Sin embargo, el uso de un tema de MQTT para publicar datos en el Nube de AWS está sujeto a un precio.AWS IoT Core](https://aws.amazon.com/iot-core/pricing/)

  <a name="greengrass-software-catalog-influxdb-telemetry-publisher"></a>AWS IoT Greengrass proporciona varios [componentes comunitarios](greengrass-software-catalog.md) para ayudarlo a analizar y visualizar los datos de telemetría localmente en su dispositivo principal mediante InfluxDB y Grafana. Estos componentes utilizan datos de telemetría del componente emisor de núcleo. Para obtener más información, consulte el archivo README para el [componente publicador de InfluxDB](https://github.com/awslabs/aws-greengrass-labs-telemetry-influxdbpublisher).
+ Agente de **telemetría: el agente** de telemetría de los dispositivos principales de Greengrass recopila datos de telemetría locales y los publica en Amazon sin necesidad de interacción con el cliente. EventBridge Los dispositivos principales publican los datos de telemetría haciendo el mejor esfuerzo. EventBridge Por ejemplo, es posible que los dispositivos principales no entreguen los datos de telemetría cuando están fuera de línea. 

  La característica del agente de telemetría está habilitada de forma predeterminada en todos los dispositivos principales de Greengrass. Empezará a recibir datos automáticamente tan pronto como configure un dispositivo principal de Greengrass. Además de los costos de enlace de datos, la transferencia de datos desde el dispositivo principal AWS IoT Core es gratuita. Esto se debe a que el agente publica en un tema AWS reservado. Sin embargo, en función de su caso de uso, es posible que incurra en costos cuando reciba o procese los datos.
**nota**  
Amazon EventBridge es un servicio de bus de eventos que puede utilizar para conectar sus aplicaciones con datos de diversas fuentes, como los dispositivos principales de Greengrass. Para obtener más información, consulta [¿Qué es Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) en la *Guía del EventBridge usuario de Amazon*.

Para garantizar que el software AWS IoT Greengrass Core funcione correctamente, AWS IoT Greengrass utiliza los datos con fines de desarrollo y mejora de la calidad. Esta función también ayuda a informar sobre las capacidades perimetrales nuevas y mejoradas. AWS IoT Greengrass conserva los datos de telemetría durante un máximo de siete días.

En esta sección, se describe cómo configurar y utilizar el agente de telemetría. Para obtener información sobre la configuración del componente emisor de telemetría del núcleo, consulte [Emisor de telemetría del núcleo](nucleus-emitter-component.md).

**Topics**
+ [Métricas de telemetría](#telemetry-metrics)
+ [Configuración de los ajustes del agente de telemetría](#configure-telemetry-agent-settings)
+ [Suscríbase a los datos de telemetría en EventBridge](#subscribe-for-telemetry-data)

## Métricas de telemetría
<a name="telemetry-metrics"></a>

En la siguiente tabla, se describen las métricas publicadas por el agente de telemetría.


| Name | Description (Descripción) | 
| --- | --- | 
|  **System (Sistema)**  | 
|  `SystemMemUsage`  |  La cantidad de memoria que utilizan actualmente todas las aplicaciones del dispositivo principal de Greengrass, incluido el sistema operativo.  | 
|  `CpuUsage`  |  La cantidad de CPU que utilizan actualmente todas las aplicaciones del dispositivo principal de Greengrass, incluido el sistema operativo.  | 
|  `TotalNumberOfFDs`  |  El número de descriptores de archivos almacenados por el sistema operativo del dispositivo principal de Greengrass. Un descriptor de archivo identifica exclusivamente un archivo abierto.  | 
|  **Núcleo de Greengrass**  | 
|  `NumberOfComponentsRunning`  |  El número de componentes que se ejecutan en el dispositivo principal de Greengrass.  | 
|  `NumberOfComponentsErrored`  |  El número de componentes que están en estado de error en el dispositivo principal de Greengrass.  | 
|  `NumberOfComponentsInstalled`  |  El número de componentes instalados en el dispositivo principal de Greengrass.  | 
|  `NumberOfComponentsStarting`  |  El número de componentes que se inician en el dispositivo principal de Greengrass.  | 
|  `NumberOfComponentsNew`  |  El número de componentes nuevos en el dispositivo principal de Greengrass.  | 
|  `NumberOfComponentsStopping`  |  El número de componentes que se detienen en el dispositivo principal de Greengrass.  | 
|  `NumberOfComponentsFinished`  |  El número de componentes terminados en el dispositivo principal de Greengrass.  | 
|  `NumberOfComponentsBroken`  |  El número de componentes dañados en el dispositivo principal de Greengrass.  | 
|  `NumberOfComponentsStateless`  |  El número de componentes sin estado en el dispositivo principal de Greengrass.  | 
|  **Autenticación del dispositivo de cliente**: esta característica requiere la versión 2.4.0 o posterior del componente de autenticación del dispositivo de cliente.  | 
|  `VerifyClientDeviceIdentity.Success`  |  El número de veces que se ha comprobado que la identidad del dispositivo de cliente se ha realizado correctamente.  | 
|  `VerifyClientDeviceIdentity.Failure`  |  El número de veces que se verificó que se produjo un error en la identidad del dispositivo de cliente.  | 
|  `AuthorizeClientDeviceActions.Success`  |  El número de veces que el dispositivo de cliente está autorizado a completar las acciones solicitadas.  | 
|  `AuthorizeClientDeviceActions.Failure`  |  El número de veces que el dispositivo de cliente no está autorizado a completar las acciones solicitadas.  | 
|  `GetClientDeviceAuthToken.Success`  |  El número de veces que el dispositivo de cliente se autentica correctamente.  | 
|  `GetClientDeviceAuthToken.Failure`  |  El número de veces que el dispositivo de cliente no se puede autenticar.  | 
|  `SubscribeToCertificateUpdates.Success`  |  El número de suscripciones correctas a actualizaciones de certificados.  | 
|  `SubscribeToCertificateUpdates.Failure`  |  El número de intentos fallidos de suscribirse a las actualizaciones de certificados.  | 
|  `ServiceError`  |  El número de errores internos no controlados en la autenticación del dispositivo de cliente.  | 
|  **Administrador de flujos**: esta característica requiere la versión 2.7.0 o posterior del componente núcleo de Greengrass.  | 
|  `BytesAppended`  |  El número de bytes de datos anexos al administrador de flujos.  | 
|  `BytesUploadedToIoTAnalytics`  |  El número de bytes de datos que Stream Manager exporta a los canales. AWS IoT Analytics  | 
|  `BytesUploadedToKinesis`  |  El número de bytes de datos que el administrador de flujos exporta a los flujos de Amazon Kinesis Data Streams.  | 
|  `BytesUploadedToIoTSiteWise`  |  El número de bytes de datos que Stream Manager exporta a las propiedades de los activos AWS IoT SiteWise.  | 
|  `BytesUploadedToS3`  |  El número de bytes de datos que el administrador de flujos exporta a objetos de Amazon S3.  | 
|  **Métricas de sistema**: esta característica requiere la versión 2.15.0 o posterior del componente núcleo de Greengrass.  | 
|  `CPUArchitecture`  |  Arquitectura de la unidad central de procesamiento del dispositivo.  | 
|  `Family`  |  Familia de sistemas operativos de dispositivos (solo Windows).  | 
|  `KernelVersion`  |  Versión kernel del dispositivo (solo Unix).  | 
|  `KnowledgeBaseArticles`  |  Artículos de la base de conocimientos instalados en un dispositivo (solo para Windows).  | 
|  `OSBuildMajor`  |  Número de compilación mayor de la versión del sistema operativo (solo Windows).  | 
|  `OSBuildMinor`  |  Número de compilación menor de la versión del sistema operativo (solo Windows).  | 
|  `OSName`  |  Nombre del sistema operativo del dispositivo.  | 
|  `OSVersion`  |  Versión de marketing del sistema operativo del dispositivo.  | 

## Configuración de los ajustes del agente de telemetría
<a name="configure-telemetry-agent-settings"></a>

El agente de telemetría usa la configuración predeterminada:
+ El agente de telemetría agrega los datos de telemetría cada hora.
+ El agente de telemetría publica un mensaje de telemetría cada 24 horas.

El agente de telemetría publica los datos mediante el protocolo MQTT con un nivel de calidad de servicio (QoS) de 0, lo que significa que no confirma la entrega ni vuelve a intentar publicar los intentos de publicación. Los mensajes de telemetría comparten una conexión MQTT con otros mensajes para las suscripciones destinadas para AWS IoT Core.

Además de los costes de enlace de datos, la transferencia de datos desde el núcleo AWS IoT Core es gratuita. Esto se debe a que el agente publica en un tema AWS reservado. Sin embargo, en función de su caso de uso, es posible que incurra en costos cuando reciba o procese los datos.

Puede habilitar o deshabilitar la característica de agente de telemetría para cada dispositivo principal de Greengrass. También puede configurar los intervalos durante los cuales el dispositivo principal agrega y publica datos. Para configurar la telemetría, personalice el [parámetro de configuración de telemetría](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-telemetry) al implementar el [componente de núcleo de Greengrass](greengrass-nucleus-component.md).

## Suscríbase a los datos de telemetría en EventBridge
<a name="subscribe-for-telemetry-data"></a>

Puede crear reglas en Amazon EventBridge que definan cómo procesar los datos de telemetría publicados desde el agente de telemetría del dispositivo principal de Greengrass. Cuando EventBridge recibe los datos, invoca las acciones objetivo definidas en sus reglas. Por ejemplo, puede crear reglas de eventos que envíen notificaciones, almacenen información sobre eventos, adopten medidas correctivas o invoquen otros eventos.

### Eventos de telemetría
<a name="events-message-format"></a>

Los eventos de telemetría utilizan el siguiente formato.

```
{
  "version": "0",
  "id": "a09d303e-2f6e-3d3c-a693-8e33f4fe3955",
  "detail-type": "Greengrass Telemetry Data",
  "source": "aws.greengrass",
  "account": "123456789012",
  "time": "2020-11-30T20:45:53Z",
  "region": "us-east-1",
  "resources": [],
  "detail": {
    "ThingName": "MyGreengrassCore",
    "Schema": "2020-07-30",
    "ADP": [
      {
        "TS": 1602186483234,
        "NS": "SystemMetrics",
        "M": [
          {
            "N": "TotalNumberOfFDs",
            "Sum": 6447.0,
            "U": "Count"
          },
          {
            "N": "CpuUsage",
            "Sum": 15.458333333333332,
            "U": "Percent"
          },
          {
            "N": "SystemMemUsage",
            "Sum": 10201.0,
            "U": "Megabytes"
          }
        ]
      },
      {
        "TS": 1602186483234,
        "NS": "GreengrassComponents",
        "M": [
          {
            "N": "NumberOfComponentsStopping",
            "Sum": 0.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsStarting",
            "Sum": 0.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsBroken",
            "Sum": 0.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsFinished",
            "Sum": 1.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsInstalled",
            "Sum": 0.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsRunning",
            "Sum": 7.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsNew",
            "Sum": 0.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsErrored",
            "Sum": 0.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsStateless",
            "Sum": 0.0,
            "U": "Count"
          }
        ]
      },
      {
        "TS": 1602186483234,
        "NS": "aws.greengrass.ClientDeviceAuth",
        "M": [
          {
            "N": "VerifyClientDeviceIdentity.Success",
            "Sum": 3.0,
            "U": "Count"
          },
          {
            "N": "VerifyClientDeviceIdentity.Failure",
            "Sum": 1.0,
            "U": "Count"
          },
          {
            "N": "AuthorizeClientDeviceActions.Success",
            "Sum": 20.0,
            "U": "Count"
          },
          {
            "N": "AuthorizeClientDeviceActions.Failure",
            "Sum": 5.0,
            "U": "Count"
          },
          {
            "N": "GetClientDeviceAuthToken.Success",
            "Sum": 5.0,
            "U": "Count"
          },
          {
            "N": "GetClientDeviceAuthToken.Failure",
            "Sum": 2.0,
            "U": "Count"
          },
          {
            "N": "SubscribeToCertificateUpdates.Success",
            "Sum": 10.0,
            "U": "Count"
          },
          {
            "N": "SubscribeToCertificateUpdates.Failure",
            "Sum": 1.0,
            "U": "Count"
          },
          {
            "N": "ServiceError",
            "Sum": 3.0,
            "U": "Count"
          }
        ]
      },
      {
        "TS": 1602186483234,
        "NS": "aws.greengrass.StreamManager",
        "M": [
          {
            "N": "BytesAppended",
            "Sum": 157745524.0,
            "U": "Bytes"
          },
          {
            "N": "BytesUploadedToIoTAnalytics",
            "Sum": 149012.0,
            "U": "Bytes"
          },
          {
            "N": "BytesUploadedToKinesis",
            "Sum": 12192.0,
            "U": "Bytes"
          },
          {
            "N": "BytesUploadedToIoTSiteWise",
            "Sum": 13321.0,
            "U": "Bytes"
          },
          {
            "N": "BytesUploadedToS3",
            "Sum": 12213.0,
            "U": "Bytes"
          }
        ]
      }
      {
        "TS": 1750104449426,
        "NS": "SystemMetrics",
        "M": [
          {
            "N": "KernelVersion",
            "Sum": 1,
            "U": "6.1.140-154.222.amzn2023.x86_64"
          },
          {
            "N": "OSVersion",
            "Sum": 1,
            "U": "2023.7.20250609"
          },
          {
            "N": "OSName",
            "Sum": 1,
            "U": "Amazon Linux"
          },
          {
            "N": "CPUArchitecture",
            "Sum": 1,
            "U": "Broadwell (Server)"
          },
        ]
      }
    ]
  }
}
```<a name="telemetry-agent-adp-array-config"></a>

La matriz `ADP` contiene una lista de puntos de datos agregados que tienen las siguientes propiedades:

`TS`  
Marca temporal del momento en que se recopilaron los datos.

`NS`  
Espacio de nombres de la métrica.

`M`  
Lista de métricas Una métrica contiene las siguientes propiedades:    
`N`  
El nombre de la métrica.  
`Sum`  
La suma de los valores de la métrica en este evento de telemetría.  
`U`  
La unidad del valor métrico.

Para obtener más información acerca de cada métrica, consulte [Métricas de telemetría](#telemetry-metrics).

### Requisitos previos para crear reglas EventBridge
<a name="create-events-rule-prerequisites-telemetry"></a>

Antes de crear una EventBridge regla para AWS IoT Greengrass, debe hacer lo siguiente:
+ Familiarícese con los eventos, las reglas y los objetivos en EventBridge.
+ Cree y configure los [objetivos](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-targets.html) invocados por sus EventBridge reglas. Las reglas pueden invocar muchos tipos de objetivos, como transmisiones de Amazon Kinesis AWS Lambda , funciones, temas de Amazon SNS y colas de Amazon SQS.

  Tu EventBridge regla y los objetivos asociados deben estar en el Región de AWS lugar donde creaste tus recursos de Greengrass. Para obtener más información, consulte [Puntos de enlace y cuotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) en la *Referencia general de AWS*.

Para obtener más información, consulta [¿Qué es Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) y [Primeros pasos con Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-getting-set-up.html) en la *Guía del EventBridge usuario de Amazon*.

### Cree una regla de eventos para obtener datos de telemetría (consola)
<a name="create-telemetry-event-rule-console"></a>

Siga los siguientes pasos Consola de administración de AWS para crear una EventBridge regla que reciba los datos de telemetría publicados por el dispositivo principal de Greengrass. De este modo, los servidores web, las direcciones de correo electrónico y otros suscriptores del tema podrán responder al evento. Para obtener más información, consulta [Crear una EventBridge regla que se active en un evento desde un AWS recurso](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) en la *Guía del EventBridge usuario de Amazon*.

1. Abre la [ EventBridgeconsola de Amazon](https://console.aws.amazon.com/events/) y selecciona **Crear regla**.

1. En **Name and description (Nombre y descripción)**, escriba un nombre y descripción para la regla.

1. En **Define pattern (Definir patrón)**, configure el patrón de regla.

   1. Seleccione **Event pattern**.

   1. Elija **Pre-defined pattern by service (Patrón predefinido por servicio)**.

   1. En **Service provider (Proveedor de servicios)**, elija **AWS**.

   1. En **Service name (Nombre del servicio)**, elija **Greengrass**.

   1. En **Tipo de evento**, seleccione **Datos de telemetría de Greengrass**.

1. En **Select event bus (Seleccionar bus de evento)**, mantenga las opciones de bus de eventos predeterminadas.

1. En **Select targets (Seleccionar destinos)**, configure su destino. El siguiente ejemplo usa una cola de Amazon SQS, pero puede configurar otros tipos de destinos.

   1. En **Destino**, elija la **Cola SQS**.

   1. En **Cola\$1**, seleccione la cola de destino.

1. En **Tags - optional (Etiquetas - opcional)**, defina etiquetas para la regla o deje los campos vacíos.

1. Seleccione **Crear**.

### Cree una regla de eventos para obtener datos de telemetría (CLI)
<a name="create-telemetry-event-rule-cli"></a>

Siga los siguientes pasos AWS CLI para crear una EventBridge regla que reciba los datos de telemetría publicados por los dispositivos principales de Greengrass. De este modo, los servidores web, las direcciones de correo electrónico y otros suscriptores del tema podrán responder al evento.

1. Crear la regla.
   + *thing-name*Sustitúyala por el nombre del dispositivo principal.

------
#### [ Linux or Unix ]

   ```
   aws events put-rule \
     --name MyGreengrassTelemetryEventRule \
     --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"ThingName\": [\"thing-name\"]}}"
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   aws events put-rule ^
     --name MyGreengrassTelemetryEventRule ^
     --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"ThingName\": [\"thing-name\"]}}"
   ```

------
#### [ PowerShell ]

   ```
   aws events put-rule `
     --name MyGreengrassTelemetryEventRule `
     --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"ThingName\": [\"thing-name\"]}}"
   ```

------

   Las propiedades que se omiten en el patrón no se tienen en cuenta.

1. Agregue el tema como destino de la regla. El siguiente ejemplo usa Amazon SQS, pero puede configurar otros tipos de objetivos.
   + *queue-arn*Sustitúyalo por el ARN de la cola de Amazon SQS.

------
#### [ Linux or Unix ]

   ```
   aws events put-targets \
     --rule MyGreengrassTelemetryEventRule \
     --targets "Id"="1","Arn"="queue-arn"
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   aws events put-targets ^
     --rule MyGreengrassTelemetryEventRule ^
     --targets "Id"="1","Arn"="queue-arn"
   ```

------
#### [ PowerShell ]

   ```
   aws events put-targets `
     --rule MyGreengrassTelemetryEventRule `
     --targets "Id"="1","Arn"="queue-arn"
   ```

------
**nota**  
Para permitir que Amazon EventBridge invoque tu cola de destino, debes añadir a tu tema una política basada en recursos. Para obtener más información, consulte los [permisos de Amazon SQS](https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sqs-permissions) en la Guía * EventBridge del usuario de Amazon*.

Para obtener más información, consulta [Eventos y patrones de eventos EventBridge en](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) la *Guía del EventBridge usuario de Amazon*.

# Reciba notificaciones sobre el estado de la implementación y de los componentes
<a name="deployment-health-notifications"></a>

Las reglas de EventBridge eventos de Amazon le proporcionan notificaciones sobre los cambios de estado de las implementaciones de Greengrass que reciben sus dispositivos y de los componentes instalados en sus dispositivos. EventBridge ofrece un flujo casi en tiempo real de los eventos del sistema que describe los cambios en AWS los recursos. AWS IoT Greengrass envía estos eventos haciendo EventBridge el *mejor esfuerzo posible*. Esto significa que AWS IoT Greengrass intenta enviar todos los eventos EventBridge pero, en algunos casos excepcionales, es posible que no se entregue un evento. Además, AWS IoT Greengrass puede enviar varias copias de un evento determinado, lo que significa que es posible que los oyentes del evento no reciban los eventos en el orden en que se produjeron. 

**nota**  
Amazon EventBridge es un servicio de bus de eventos que puede utilizar para conectar sus aplicaciones con datos de diversas fuentes, como los [dispositivos principales de Greengrass](telemetry.md) y las notificaciones de despliegue y componentes. Para obtener más información, consulta [¿Qué es Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) en la *Guía del EventBridge usuario de Amazon*.

**Topics**
+ [Evento de cambio de estado de una implementación](#deployment.events-message-format)
+ [Evento de cambio de estado del componente](#component.events-message-format)
+ [Requisitos previos para crear reglas EventBridge](#create-events-rule-prereqs)
+ [Configuración de las notificaciones de estado del dispositivo (consola)](#create-events-rule-console)
+ [Configuración de las notificaciones de estado del dispositivo (CLI)](#create-events-rule-cli)
+ [Configuración de las notificaciones de estado del dispositivo (CloudFormation)](#create-events-rule-cloudformation)
+ [Véase también](#deployment-notifications-see-also)

## Evento de cambio de estado de una implementación
<a name="deployment.events-message-format"></a>

AWS IoT Greengrass emite un evento cuando una implementación entra en los siguientes estados:`FAILED`,`SUCCEEDED`, `COMPLETED``REJECTED`, y`CANCELED`. Puede crear una EventBridge regla que se aplique a todas las transiciones de estado o a los estados que especifique. Cuando una implementación entra en un estado que inicia una regla, EventBridge invoca las acciones objetivo definidas en la regla. Esto le permite enviar notificaciones, capturar información sobre el evento, tomar medidas correctivas o iniciar otros eventos en respuesta a un cambio de estado. Por ejemplo, puede crear reglas para los siguientes casos de uso:
+ Iniciar operaciones posteriores a la implementación, como descargar recursos y enviar notificaciones al personal.
+ Envíe notificaciones en caso de una implementación correcta o con error.
+ Publicar métricas personalizadas sobre los eventos de implementación.

El [evento](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html) de un cambio de estado de la implementación tiene el siguiente formato:

```
{
    "version":"0",
    "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8",
    "detail-type":"Greengrass V2 Effective Deployment Status Change",
    "source":"aws.greengrass",
    "account":"123456789012",
    "region":"us-west-2",
    "time":"2018-03-22T00:38:11Z",
    "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"],
    "detail":{    
        "deploymentId": "4f38f1a7-3dd0-42a1-af48-EXAMPLE09681",
        "coreDeviceExecutionStatus": "FAILED|SUCCEEDED|COMPLETED|REJECTED|CANCELED",
        "statusDetails": {
          "errorStack": ["DEPLOYMENT_FAILURE", "ARTIFACT_DOWNLOAD_ERROR", "S3_ERROR", "S3_ACCESS_DENIED", "S3_HEAD_OBJECT_ACCESS_DENIED"],
          "errorTypes": ["DEPENDENCY_ERROR", "PERMISSION_ERROR"],
        },
        "reason": "S3_HEAD_OBJECT_ACCESS_DENIED: FAILED_NO_STATE_CHANGE: Failed to download artifact name: 's3://pentest27/nucleus/281/aws.greengrass.nucleus.zip' for component aws.greengrass.Nucleus-2.8.1, reason: S3 HeadObject returns 403 Access Denied. Ensure the IAM role associated with the core device has a policy granting s3:GetObject. null (Service: S3, Status Code: 403, Request ID: HR94ZNT2161DAR58, Extended Request ID: wTX4DDI+qigQt3uzwl9rlnQiYlBgwvPm/KJFWeFAn9t1mnGXTms/luLCYANgq08RIH+x2H+hEKc=)"
     }
}
```

Puede crear reglas y eventos que informen sobre el estado de una implementación. Un evento se inicia cuando una implementación se completa como `FAILED`, `SUCCEEDED`, `COMPLETED`, `REJECTED` o `CANCELED`. Si la implementación falló en el dispositivo principal, recibirá una respuesta detallada que explica por qué la implementación falló. Para obtener más información sobre los códigos de error de la implementación, consulte [Códigos de error de implementación detallados](troubleshooting-deployment.md).

**Estados de implementación**  
+ `FAILED`. La implementación no se ha realizado correctamente
+ `SUCCEEDED`: la implementación dirigida a un grupo de objetos se completó correctamente.
+ `COMPLETED`: la implementación dirigida a un objeto se completó con éxito.
+ `REJECTED`: la implementación se rechazó. Para obtener más información, consulte el campo `statusDetails`.
+ `CANCELED`: la implementación se canceló por el usuario.

Es posible que los eventos se dupliquen o estén desordenados. Para determinar el orden de los eventos, utilice la propiedad `time`.

Para obtener una lista completa de los códigos de error en `errorStacks` y `errorTypes`, consulte [Códigos de error de implementación detallados](troubleshooting-deployment.md) y [Códigos de estado de componentes detallados](troubleshooting-component.md).

## Evento de cambio de estado del componente
<a name="component.events-message-format"></a>

Para AWS IoT Greengrass las versiones 2.12.2 y anteriores, Greengrass emite un evento cuando un componente entra en los siguientes estados: y. `ERRORED` `BROKEN` Para las versiones 2.12.3 y posteriores del núcleo de Greengrass, Greengrass emite un evento cuando un componente entra en los siguientes estados: `ERRORED`, `BROKEN`, `RUNNING` y `FINISHED`. Greengrass también emitirá un evento cuando se complete una implementación. Puede crear una EventBridge regla que se aplique a todas las transiciones de estado o a los estados que especifique. Cuando un componente instalado entra en un estado que inicia una regla, EventBridge invoca las acciones de destino definidas en la regla. Esto le permite enviar notificaciones, capturar información sobre el evento, tomar medidas correctivas o iniciar otros eventos en respuesta a un cambio de estado.

El [evento](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html) de un cambio de estado del componente usa los siguientes formatos:

------
#### [ Greengrass nucleus v2.12.2 and earlier ]

Estado del componente: `ERRORED` o `BROKEN`  

```
{
    "version":"0",
    "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8",
    "detail-type":"Greengrass V2 Installed Component Status Change",
    "source":"aws.greengrass",
    "account":"123456789012",
    "region":"us-west-2",
    "time":"2018-03-22T00:38:11Z",
    "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"],
    "detail": {
       "components": [
          {
            "componentName": "MyComponent",
            "componentVersion": "1.0.0",
            "root": true,
            "lifecycleState": "ERRORED|BROKEN",
            "lifecycleStatusCodes": ["STARTUP_ERROR"],
            "lifecycleStateDetails": "An error occurred during startup. The startup script exited with code 1."
          }
        ]
    }
}
```

------
#### [ Greengrass nucleus v2.12.3 and later ]

Estado del componente: `ERRORED` o `BROKEN`  

```
{
    "version":"0",
    "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8",
    "detail-type":"Greengrass V2 Installed Component Status Change",
    "source":"aws.greengrass",
    "account":"123456789012",
    "region":"us-west-2",
    "time":"2018-03-22T00:38:11Z",
    "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"],
    "detail": {
       "components": [
          {
            "componentName": "MyComponent",
            "componentVersion": "1.0.0",
            "root": true,
            "lifecycleState": "ERRORED|BROKEN",
            "lifecycleStatusCodes": ["STARTUP_ERROR"],
            "lifecycleStateDetails": "An error occurred during startup. The startup script exited with code 1."
          }
        ]
    }
}
```

Estado del componente: `RUNNING` o `FINISHED`  

```
{
    "version":"0",
    "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8",
    "detail-type":"Greengrass V2 Installed Component Status Change",
    "source":"aws.greengrass",
    "account":"123456789012",
    "region":"us-west-2",
    "time":"2018-03-22T00:38:11Z",
    "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"],
    "detail": {
       "components": [
          {
            "componentName": "MyComponent",
            "componentVersion": "1.0.0",
            "root": true,
            "lifecycleState": "RUNNING|FINISHED",
            "lifecycleStateDetails": null
          }
        ]
    }
}
```

------

Puede crear reglas y eventos que informarán sobre el estado de un componente instalado. Se inicia un evento cuando un componente cambia de estado en el dispositivo. Recibirá una respuesta detallada en la que se explicará por qué un componente tiene errores o ha fallado. También recibirá un código de estado que indicará el motivo del fallo. Para obtener más información sobre los códigos del estado del componente, consulte [Códigos de estado de componentes detallados](troubleshooting-component.md).

## Requisitos previos para crear reglas EventBridge
<a name="create-events-rule-prereqs"></a>

Antes de crear una EventBridge regla para AWS IoT Greengrass, haga lo siguiente:
+ Familiarícese con los eventos, las reglas y los objetivos de EventBridge.
+ Cree y configure los objetivos invocados por sus EventBridge reglas. Las reglas pueden invocar muchos tipos de destinos, entre los que se incluyen:
  + Amazon Simple Notification Service (Amazon SNS)
  + AWS Lambda funciones
  + Amazon Kinesis Video Streams
  + Colas de Amazon Simple Queue Service (Amazon SQS)

Para obtener más información, consulta [¿Qué es Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) y [Primeros pasos con Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-getting-set-up.html) en la *Guía del EventBridge usuario de Amazon*.

## Configuración de las notificaciones de estado del dispositivo (consola)
<a name="create-events-rule-console"></a>

Siga los siguientes pasos para crear una EventBridge regla que publique un tema de Amazon SNS cuando cambie el estado de despliegue de un grupo. De este modo, los servidores web, las direcciones de correo electrónico y otros suscriptores del tema podrán responder al evento. Para obtener más información, consulta [Crear una EventBridge regla que se active en un evento desde un AWS recurso](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) en la *Guía del EventBridge usuario de Amazon*.

1. Abre la [ EventBridgeconsola de Amazon](https://console.aws.amazon.com/events/).

1. En el panel de navegación, seleccione **Reglas**.

1. Elija **Creación de regla**.

1. Escriba un nombre y una descripción para la regla.

   Una regla no puede tener el mismo nombre que otra regla de la misma región y del mismo bus de eventos.

1. En **Bus de eventos**, seleccione el bus de eventos que desea asociar a esta regla. Si desea que esta regla coincida con eventos procedentes de su cuenta, seleccione **Bus de eventos predeterminado de AWS **. Cuando un AWS servicio de tu cuenta emite un evento, siempre va al bus de eventos predeterminado de tu cuenta.

1. En **Tipo de regla**, elija **Regla con un patrón de evento**.

1. Seleccione **Siguiente**.

1. En **Origen de eventos**, seleccione **(Eventos de AWS )**.

1. En **Patrón de eventos**, seleccione **servicios AWS **.

1. En **Servicio de AWS **, elija Greengrass.

1. En **Tipo de evento**, elija entre las siguientes opciones:
   + Para los eventos de implementación, elija **Cambio de estado de la implementación efectiva de la versión 2 de Greengrass**.
   + Para los eventos de componentes, elija **Cambio de estado del componente instalado de la versión 2 de Greengrass**.

1. Elija **Siguiente**.

1. En **Tipos de destino** (Tipos de destino), elija **AWS service**.

1. En **Seleccionar destinos**, configure su destino. En este ejemplo se utiliza un tema de Amazon SNS, pero se pueden configurar otros tipos de destino para enviar notificaciones.

   1. En **Destino**, elija **Tema de SNS**.

   1. En **Topic (Tema)**, elija el tema de destino.

   1. Elija **Siguiente**.

1. Elija **Siguiente**.

1. Revise los detalles de la regla y seleccione **Creación de regla**.

## Configuración de las notificaciones de estado del dispositivo (CLI)
<a name="create-events-rule-cli"></a>

Siga los siguientes pasos para crear una EventBridge regla que publique un tema de Amazon SNS cuando se produzca un evento de cambio de estado de Greengrass. De este modo, los servidores web, las direcciones de correo electrónico y otros suscriptores del tema podrán responder al evento.

1. Crear la regla.
   + Para eventos de cambio de estado de una implementación.

     ```
     aws events put-rule \
       --name TestRule \
       --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail-type\": [\"Greengrass V2 Effective Deployment Status Change\"]}"
     ```
   + Para eventos de cambio de estado de un componente.

     ```
     aws events put-rule \
       --name TestRule \
       --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail-type\": [\"Greengrass V2 Installed Component Status Change\"]}"
     ```

   Las propiedades que se omiten en el patrón no se tienen en cuenta.

1. Agregue el tema como destino de la regla.
   + *topic-arn*Sustitúyalo por el ARN de su tema de Amazon SNS.

   ```
   aws events put-targets \
     --rule TestRule \
     --targets "Id"="1","Arn"="topic-arn"
   ```
**nota**  
Para permitir que Amazon llame EventBridge a tu tema objetivo, debes añadir a tu tema una política basada en recursos. Para obtener más información, consulte los [permisos de Amazon SNS](https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sns-permissions) en la Guía * EventBridge del usuario de Amazon*.

Para obtener más información, consulta [Eventos y patrones de eventos EventBridge en](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) la *Guía del EventBridge usuario de Amazon*.

## Configuración de las notificaciones de estado del dispositivo (CloudFormation)
<a name="create-events-rule-cloudformation"></a>

Utilice CloudFormation plantillas para crear EventBridge reglas que envíen notificaciones sobre los cambios de estado para las implementaciones de su grupo de Greengrass. Para obtener más información, consulta la [referencia de tipos de EventBridge recursos de Amazon](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Events.html) en la *Guía del AWS CloudFormation usuario*.

## Véase también
<a name="deployment-notifications-see-also"></a>
+ [Comprobación del estado de la implementación del dispositivo](check-deployment-status.md#check-device-deployment-status)
+ [¿Qué es Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) en la *Guía del EventBridge usuario de Amazon*

# Comprobación del estado del dispositivo principal de Greengrass
<a name="device-status"></a>

Los dispositivos principales de Greengrass informan del estado de sus componentes de software a. AWS IoT Greengrass Puede consultar el resumen del estado de cada dispositivo y comprobar el estado de cada componente en cada dispositivo.

Los dispositivos principales tienen los siguientes estados:
+ `HEALTHY`— El software AWS IoT Greengrass principal y todos los componentes se ejecutan sin problemas en el dispositivo principal.
+ `UNHEALTHY`— El software AWS IoT Greengrass principal o un componente se encuentra en un estado de error en el dispositivo principal.

**nota**  
AWS IoT Greengrass depende de los dispositivos individuales para enviar actualizaciones de estado al Nube de AWS. Si el software AWS IoT Greengrass principal no se ejecuta en el dispositivo o si el dispositivo no está conectado al Nube de AWS, es posible que el estado informado de ese dispositivo no refleje su estado actual. La marca de tiempo del estado indica cuándo se actualizó por última vez el estado del dispositivo.  
Los dispositivos principales envían actualizaciones de estado en los siguientes momentos:  
Cuando se inicia el software AWS IoT Greengrass Core
Cuando el dispositivo principal recibe una implementación del Nube de AWS
Para el núcleo de Greengrass 2.12.2 y versiones anteriores, el dispositivo principal envía actualizaciones de estado cuando el estado de cualquier componente del dispositivo principal pasa a ser `ERRORED` o `BROKEN`
Para el núcleo de Greengrass 2.12.3 y versiones posteriores, el dispositivo principal envía actualizaciones de estado cuando el estado de cualquier componente del dispositivo principal pasa a ser `ERRORED`, `BROKEN`, `RUNNING` o `FINISHED`
A un [intervalo regular que puede configurar](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-fss), que por defecto es de 24 horas
En el AWS IoT Greengrass caso de Core v2.7.0 y versiones posteriores, el dispositivo principal envía actualizaciones de estado cuando se produce una implementación local y una implementación en la nube

**Topics**
+ [Comprobación del estado de un dispositivo principal](#check-core-device-health-status)
+ [Comprobación del estado de un grupo de dispositivos principales](#check-core-device-group-health-status)
+ [Comprobación del estado del componente del dispositivo principal](#check-core-device-component-status)

## Comprobación del estado de un dispositivo principal
<a name="check-core-device-health-status"></a>

Puede comprobar el estado de dispositivos principales individuales.

**Comprobación del estado de un dispositivo principal (AWS CLI)**
+ Ejecute el siguiente comando para recuperar el estado de un dispositivo. Reemplace *coreDeviceName* por el nombre del dispositivo principal que se va a consultar.

  ```
  aws greengrassv2 get-core-device --core-device-thing-name coreDeviceName
  ```

  La respuesta contiene información sobre el dispositivo principal, incluido su estado.

## Comprobación del estado de un grupo de dispositivos principales
<a name="check-core-device-group-health-status"></a>

Puede comprobar el estado de un grupo de dispositivos principales (un grupo de objetos).

**Comprobación del estado de un grupo de dispositivos (AWS CLI)**
+ Ejecute el siguiente comando para recuperar el estado de varios dispositivos principales. Reemplace el ARN del comando por el ARN del grupo de objetos que se va a consultar.

  ```
  aws greengrassv2 list-core-devices --thing-group-arn "arn:aws:iot:region:account-id:thinggroup/thingGroupName"
  ```

  La respuesta contiene la lista de dispositivos principales del grupo de objetos. Cada entrada de la lista contiene el estado del dispositivo principal.

## Comprobación del estado del componente del dispositivo principal
<a name="check-core-device-component-status"></a>

Puede comprobar el estado, como el estado del ciclo de vida, de los componentes de software de un dispositivo principal. Para obtener más información sobre los estados del ciclo de vida del componente, consulte [Desarrollo de componentes de AWS IoT Greengrass](develop-greengrass-components.md).

**Comprobación del estado de los componentes de un dispositivo principal (AWS CLI)**
+ Ejecute el siguiente comando para recuperar el estado de los componentes de un dispositivo principal. Reemplace *coreDeviceName* por el nombre del dispositivo principal que se va a consultar.

  ```
  aws greengrassv2 list-installed-components --core-device-thing-name coreDeviceName
  ```

  La respuesta contiene la lista de componentes que se ejecutan en el dispositivo principal. Cada entrada de la lista contiene el estado del ciclo de vida del componente, incluido el estado actual de los datos y la última vez que el dispositivo principal de Greengrass envió un mensaje que contenía un determinado componente a la nube. La respuesta también incluirá el origen de la implementación más reciente que llevó el componente al dispositivo principal de Greengrass.
**nota**  
Este comando recupera una lista paginada de los componentes que ejecuta un dispositivo principal de Greengrass. De forma predeterminada, esta lista no incluye los componentes que se implementan como dependencias de otros componentes. Puede incluir dependencias en la respuesta configurando el parámetro `topologyFilter` en `ALL`.