

Aviso de fim do suporte: em 7 de outubro de 2026, AWS o suporte para o. AWS IoT Greengrass Version 1 Depois de 7 de outubro de 2026, você não poderá mais acessar os AWS IoT Greengrass V1 recursos. Para obter mais informações, visite [Migrar de AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Solução de problemas AWS IoT Greengrass
<a name="gg-troubleshooting"></a>

Esta seção fornece informações sobre solução de problemas e possíveis soluções para ajudar a resolver problemas com AWS IoT Greengrass.

<a name="gg-limits-genref"></a>Para obter informações sobre AWS IoT Greengrass cotas (limites), consulte [Service](https://docs.aws.amazon.com/general/latest/gr/greengrass.html#limits_greengrass) Quotas no. *Referência geral da Amazon Web Services*

## AWS IoT Greengrass Questões centrais
<a name="gg-troubleshooting-coreissues"></a>

Se o software AWS IoT Greengrass Core não iniciar, tente as seguintes etapas gerais de solução de problemas:
+ Instale os binários que são apropriados para sua arquitetura. Para obter mais informações, consulte [Software de núcleo do AWS IoT Greengrass](what-is-gg.md#gg-core-download-tab).
+ Verifique se o seu dispositivo de núcleo tem armazenamento local disponível. Para obter mais informações, consulte [Solução de problemas de armazenamento](#troubleshooting-storage).
+ Verifique se há mensagens de erro em `runtime.log` e `crash.log`. Para obter mais informações, consulte [Solução de problemas com logs](#troubleshooting-logs).

Pesquise os seguintes sintomas e erros para encontrar informações que ajudem a solucionar problemas com um AWS IoT Greengrass núcleo.

**Topics**
+ [Erro: O arquivo de configuração não tem o CaPath, CertPath ou KeyPath. O processo do daemon Greengrass com [pid = < pid] morreu. >](#troubleshoot-config-file-version)
+ [Erro: falha ao analisar/<>greengrass-root/.json. config/config](#troubleshoot-config-file-invalid)
+ [Erro: ocorreu um erro ao gerar a configuração TLS: ErrUnknownURIScheme](#troubleshooting-unknown-uri-scheme)
+ [Erro: Falha ao iniciar o tempo de execução: não foi possível iniciar os operadores: o teste de contêiner expirou.](#troubleshoot-post-start-health-check)
+ [Erro: falha ao invocar PutLogEvents no Cloudwatch local, LogGroup:/GreengrassSystem/connection\_manager, erro:: falha na solicitação de envio causada por RequestError: Post http://<path>/cloudwatch/logs/: dial tcp < address: getsockopt: conexão recusada, resposta>: {}.](#troubleshoot-cloudwatch-logs)
+ [Erro: Não foi possível criar o servidor devido a: falha ao carregar o grupo: chmod/<greengrass-root/ggc/deployment/:aws:lambda: region: > < account-id:function: function-name: version>/file-name lambda/arn<: não existe esse arquivo ou diretório. > < > < > < >](#troubleshoot-lambda-executable-handler)
+ [A ferramenta AWS IoT Greengrass O software principal não inicia depois que você muda da execução sem conteinerização para a execução em um contêiner do Greengrass.](#troubleshoot-no-container)
+ [Erro: Tamanho do spool deve ser pelo menos 262.144 bytes.](#troubleshoot-spool-size)
+ [Erro: [ERRO] – erro de mensagens na nuvem: Ocorreu um erro ao tentar publicar uma mensagem. {"errorString": "operation timed out"}](#troubleshoot-mqtt-operation-timed-out)
+ [Erro: container\_linux.go:344: iniciar o processo do contêiner causou “process\_linux.go:424: a inicialização do contêiner causou\\” permissão negada\\\\\\ "\\"”. rootfs\_linux.go:64: mounting \\\\\\"/greengrass/ggc/socket/greengrass\_ipc.sock\\\\\\" to rootfs \\\\\\"/greengrass/ggc/packages/<version>/rootfs/merged\\\\\\" at \\\\\\"/greengrass\_ipc.sock\\\\\\" caused \\\\\\"stat /greengrass/ggc/socket/greengrass\_ipc.sock:](#troubleshoot-umask-permission)
+ [Erro: daemon do Greengrass em execução com PID: process-id. < > Não foi possível iniciar alguns componentes do sistema. Verifique "runtime.log" para erros.](#troubleshoot-system-components)
+ [O shadow do dispositivo não sincroniza com a nuvem.](#troubleshoot-shadow-sync)
+ [ERRO: não foi possível aceitar a conexão TCP. accept tcp [::]:8000: accept4: muitos arquivos abertos.](#troubleshoot-file-descriptor-limit)
+ [Erro: Erro de execução do tempo de execução: não foi possível iniciar o contêiner lambda. container\_linux.go:259: o início do processo do contêiner causou "process\_linux.go:345: init do contêiner causou \\"rootfs\_linux.go:50: rootfs de preparação causaram \\\\\\"permissão negada\\\\\\"\\"".](#troubleshoot-execute-permissions)
+ [Aviso: [WARN] - [5] GK Remote: Erro ao recuperar dados da chave pública: ErrPrincipalNotConfigured: a chave privada para MqttCertificate não está definida.](#troubleshoot-mqttcertificate-warning)
+ [Erro: permissão negada ao tentar usar a função arn:aws:iam::<account-id>:role/<role-name> para acessar o URL s3. https://<region>-greengrass-updates.s3.<region>.amazonaws.com/core/<architecture>/greengrass-core-<distribution-version>.tar.gz](#troubleshoot-ota-region-access)
+ [A ferramenta AWS IoT Greengrass o núcleo está configurado para usar um [proxy de rede](gg-core.md#alpn-network-proxy) e sua função Lambda não pode fazer conexões de saída.](#troubleshoot-lambda-proxy-network-connections)
+ [O núcleo está em um loop infinito de desconexão e conexão. O arquivo runtime.log contém uma série contínua de entradas de conexão e desconexão.](#config-client-id)
+ [Erro: não foi possível iniciar o contêiner do lambda. container\_linux.go:259: o início do processo do contêiner causou "process\_linux.go:345: o init do contêiner causou \\"rootfs\_linux.go:62: montagem de \\\\\\"proc\\\\\\" para rootfs \\\\\\"](#troubleshoot-mount-proc-lambda-container)
+ [[ERROR] -erro de execução em tempo de execução: não foi possível iniciar o contêiner lambda. {"errorString”: “falha ao inicializar montagens de contêineres: falha ao mascarar a raiz do greengrass no diretório superior da sobreposição: falha ao criar o dispositivo de máscara no diretório < ggc-path: o arquivo existe"} >](#troubleshoot-usr-access-root)
+ [[ERRO] - Falha na implantação. {"deploymentID”: < ">deployment-id “, “errorString”: “falha no processo de teste do contêiner com < pid > pid: estado do processo do contêiner: status de saída 1"}](#troubleshoot-usr-access-root-canary)
+ [Erro: [ERROR] -erro de execução em tempo de execução: não foi possível iniciar o contêiner lambda. {"errorString”: “falha ao inicializar montagens de contêineres: falha ao criar sobreposição fs para contêiner: sobreposição de montagem em//packages/ ggc-version/falha: rootfs/merged falha ao montar com args source=\\" no\_source\\” dest=\\”greengrass/ggc/>/packages/ < ggc-version/\\” fstype=\\ "overlay\\” flags=\\ "0\\” data=\\ “lowerdir=/ /packages/ ggc-version greengrass/ggc /dns:/, upperdir=/ /packages/ < ggc-version>/rootfs/merged, workdir=/ /packages/ ggc-version greengrass/ggc < > greengrass/ggc < > rootfs/upper greengrass/ggc < >/rootfs/work\\”: muitos níveis de links simbólicos "}](#troubleshoot-symbolic-links)
+ [Erro: [DEPURAÇÃO] - Falha ao obter rotas. Descarte da mensagem.](#troubleshoot-failed-to-get-routes)
+ [Erro: [Errno 24] Muitas < funções lambda abertas>, [Errno 24] Muitos arquivos abertos](#troubleshoot-too-many-open-files)
+ [Erro: o servidor ds falhou ao iniciar a escuta do soquete: listen unix < ggc-path>/ggc/socket/greengrass\_ipc.sock: bind: argumento inválido](#troubleshoot-install-path-too-long)
+ [[INFO] (Copiadora) aws.greengrass. StreamManager: robusta. Causado por: com.fasterxml.jackson.databind. JsonMappingException: Instantâneo excede o instante mínimo ou máximo](#troubleshoot-stream-manager-instant-exceeds-maximun-minimum)
+ [Erro GPG: https://dnw9lb6lzp2d8.cloudfront.net estável: as seguintes assinaturas eram inválidas InRelease: EXPKEYSIG 68D644ABD2327D47 AWS Greengrass Master Key](#troubleshoot-apt-repository-invalid-signature)

 

### Erro: O arquivo de configuração não tem o CaPath, CertPath ou KeyPath. O processo do daemon Greengrass com [pid = < pid] morreu. >
<a name="troubleshoot-config-file-version"></a>

**Solução:** você pode ver esse erro `crash.log` quando o software AWS IoT Greengrass Core não inicia. Isso pode ocorrer se você estiver executando v1.6 ou anterior. Execute um destes procedimentos:
+ Atualize para a v1.7 ou posterior. Recomendamos que você sempre execute a versão mais recente do software AWS IoT Greengrass Core. Para fazer download de informações, consulte [Software de núcleo do AWS IoT Greengrass](what-is-gg.md#gg-core-download-tab).
+ Use o `config.json` formato correto para sua versão AWS IoT Greengrass do software Core. Para obter mais informações, consulte [AWS IoT Greengrass arquivo de configuração principal](gg-core.md#config-json).
**nota**  
<a name="find-ggc-version-intro"></a>Para descobrir qual versão do software AWS IoT Greengrass Core está instalada no dispositivo principal, execute os seguintes comandos no terminal do dispositivo.  

  ```
  cd /{{greengrass-root}}/ggc/core/
  sudo ./greengrassd --version
  ```

 

### Erro: falha ao analisar/<>greengrass-root/.json. config/config
<a name="troubleshoot-config-file-invalid"></a>

**Solução:** esse erro pode ser visto quando o software de núcleo do AWS IoT Greengrass não iniciar. Certifique-se de que o [arquivo de configuração do Greengrass](gg-core.md#config-json) está usando o formato JSON válido.

Abra `config.json` (localizado em `/{{greengrass-root}}/config`) e verifique o formato JSON. Por exemplo, certifique-se de que as vírgulas estão sendo usadas de forma correta.

 

### Erro: ocorreu um erro ao gerar a configuração TLS: ErrUnknownURIScheme
<a name="troubleshooting-unknown-uri-scheme"></a>

**Solução:** esse erro pode ser visto quando o software de núcleo do AWS IoT Greengrass não iniciar. Verifique se as propriedades da seção [crypto](gg-core.md#config-json-crypto) do arquivo de configuração do Greengrass são válidas. A mensagem de erro deve fornecer mais informações.

Abra `config.json` (localizado em `/{{greengrass-root}}/config`) e verifique a seção `crypto`. Por exemplo, os caminhos de chave e certificado devem usar o formato URI correto e apontar para o local correto.

 

### Erro: Falha ao iniciar o tempo de execução: não foi possível iniciar os operadores: o teste de contêiner expirou.
<a name="troubleshoot-post-start-health-check"></a>

**Solução:** esse erro pode ser visto quando o software de núcleo do AWS IoT Greengrass não iniciar. Defina a propriedade `postStartHealthCheckTimeout` no [arquivo de configuração do Greengrass](gg-core.md#config-json). Essa propriedade opcional configura a quantidade de tempo (em milissegundos) que o daemon do Greengrass espera a verificação de saúde pós-início terminar. O valor padrão é de 30 segundos (30000 ms)

Abra `config.json` (localizado em `/{{greengrass-root}}/config`). No objeto `runtime`, adicione a propriedade `postStartHealthCheckTimeout` e defina o valor como um número maior que 30.000. Adicione uma vírgula onde for preciso para criar um arquivo JSON válido. Por exemplo:

```
  ...
  "runtime" : {
    "cgroup" : {
      "useSystemd" : "yes"
    },
    "postStartHealthCheckTimeout" : 40000
  },
  ...
```

 

### Erro: falha ao invocar PutLogEvents no Cloudwatch local, LogGroup:/GreengrassSystem/connection\_manager, erro:: falha na solicitação de envio causada por RequestError: Post http://<path>/cloudwatch/logs/: dial tcp < address: getsockopt: conexão recusada, resposta>: {}.
<a name="troubleshoot-cloudwatch-logs"></a>

**Solução:** esse erro pode ser visto quando o software de núcleo do AWS IoT Greengrass não iniciar. Isso pode ocorrer se você estiver executando AWS IoT Greengrass um Raspberry Pi e a configuração de memória necessária não tiver sido concluída. Para obter mais informações, consulte [esta etapa](setup-filter.rpi.md#stretch-step).

 

### Erro: Não foi possível criar o servidor devido a: falha ao carregar o grupo: chmod/<greengrass-root/ggc/deployment/:aws:lambda: region: > < account-id:function: function-name: version>/file-name lambda/arn<: não existe esse arquivo ou diretório. > < > < > < >
<a name="troubleshoot-lambda-executable-handler"></a>

**Solução:** esse erro pode ser visto quando o software de núcleo do AWS IoT Greengrass não iniciar. Se você implantou um executável [Lambda](lambda-functions.md#lambda-executables) no núcleo, verifique a propriedade `Handler` da função no arquivo (localizada em `group.json`{{greengrass-root}}//ggc/deployment/group). Se o manipulador não tiver exatamente o mesmo nome do executável compilado, substitua o conteúdo do arquivo `group.json` por um objeto JSON vazio (`{}`) e execute os comandos a seguir para iniciar o AWS IoT Greengrass:

```
cd /greengrass/ggc/core/
sudo ./greengrassd start
```

Em seguida, use a [API do AWS Lambda](https://docs.aws.amazon.com/cli/latest/reference/lambda/) para atualizar o parâmetro `handler` da configuração da função, publique uma nova versão da função e atualize o alias. Para obter mais informações, consulte [Versionamento e aliases da função do AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html).

Supondo que tenha adicionado a função ao grupo do Greengrass pelo alias (recomendado), você já pode reimplantar o grupo. (Caso contrário, você deve apontar para a nova versão da função ou do alias na definição e assinaturas do grupo antes de implantar o grupo.)

 

### A ferramenta AWS IoT Greengrass O software principal não inicia depois que você muda da execução sem conteinerização para a execução em um contêiner do Greengrass.
<a name="troubleshoot-no-container"></a>

**Solução:** verifique se não está faltando nenhuma dependência de contêiner.

 

### Erro: Tamanho do spool deve ser pelo menos 262.144 bytes.
<a name="troubleshoot-spool-size"></a>

**Solução:** esse erro pode ser visto quando o software de núcleo do AWS IoT Greengrass não iniciar. Abra o arquivo `group.json` (localizado em `/{{greengrass-root}}/ggc/deployment/group`), substitua o conteúdo do arquivo por um objeto JSON vazio (`{}`) e execute os comandos a seguir para iniciar o AWS IoT Greengrass:

```
cd /greengrass/ggc/core/
sudo ./greengrassd start
```

Em seguida, execute as etapas do procedimento [Como armazenar mensagens em cache no armazenamento local](gg-core.md#configure-local-storage-cache). Não se esqueça de especificar um valor de `GG_CONFIG_MAX_SIZE_BYTES` para a função `GGCloudSpooler` que seja maior que ou igual a 262144.

 

### Erro: [ERRO] – erro de mensagens na nuvem: Ocorreu um erro ao tentar publicar uma mensagem. {"errorString": "operation timed out"}
<a name="troubleshoot-mqtt-operation-timed-out"></a>

**Solução:** é possível que esse erro seja exibido no `GGCloudSpooler.log` quando o núcleo do Greengrass não conseguir enviar mensagens MQTT ao AWS IoT Core. Isso pode ocorrer se o ambiente do núcleo tiver largura de banda limitada e alta latência. [Se você estiver executando a versão AWS IoT Greengrass v1.10.2 ou posterior, tente aumentar o `mqttOperationTimeout` valor no arquivo config.json.](gg-core.md#config-json) Se a propriedade não estiver presente, adicione-a ao objeto `coreThing`. Por exemplo:

```
{
  "coreThing": {
    "mqttOperationTimeout": 10,
    "caPath": "root-ca.pem",
    "certPath": "{{hash}}.cert.pem",
    "keyPath": "{{hash}}.private.key",
    ...
  },
  ...
}
```

O valor padrão é `5` e o valor mínimo é `5`.

 

### Erro: container\_linux.go:344: iniciar o processo do contêiner causou “process\_linux.go:424: a inicialização do contêiner causou\\” permissão negada\\\\\\ "\\"”. rootfs\_linux.go:64: mounting \\\\\\"/greengrass/ggc/socket/greengrass\_ipc.sock\\\\\\" to rootfs \\\\\\"/greengrass/ggc/packages/<version>/rootfs/merged\\\\\\" at \\\\\\"/greengrass\_ipc.sock\\\\\\" caused \\\\\\"stat /greengrass/ggc/socket/greengrass\_ipc.sock:
<a name="troubleshoot-umask-permission"></a>

**Solução:** você pode ver esse erro `runtime.log` quando o software AWS IoT Greengrass Core não inicia. Isso ocorre se `umask` for maior que `0022`. Para resolver esse problema, você deve definir `umask` como `0022` ou menor. Um valor de `0022` concede a todos permissão de leitura dos novos arquivos por padrão.

 

### Erro: daemon do Greengrass em execução com PID: process-id. < > Não foi possível iniciar alguns componentes do sistema. Verifique "runtime.log" para erros.
<a name="troubleshoot-system-components"></a>

**Solução:** esse erro pode ser visto quando o software de núcleo do AWS IoT Greengrass não iniciar. Verifique `runtime.log` e `crash.log` para obter informações de erros específicos. Para obter mais informações, consulte [Solução de problemas com logs](#troubleshooting-logs).

 

### O shadow do dispositivo não sincroniza com a nuvem.
<a name="troubleshoot-shadow-sync"></a>

**Solução:** Certifique-se de que AWS IoT Greengrass tenha permissões `iot:UpdateThingShadow` e `iot:GetThingShadow` ações na função de [serviço do Greengrass](service-role.md). Se a função de serviço usa a política gerenciada `AWSGreengrassResourceAccessRolePolicy`, essas permissões são incluídas por padrão.

Consulte [Solução de problemas de intervalo de sincronização de shadow](#troubleshooting-shadow-sync).

 

### ERRO: não foi possível aceitar a conexão TCP. accept tcp [::]:8000: accept4: muitos arquivos abertos.
<a name="troubleshoot-file-descriptor-limit"></a>

**Solução:** esse erro pode ser visto na saída do script `greengrassd`. Isso pode ocorrer se o limite do descritor de arquivo para o software AWS IoT Greengrass Core tiver atingido o limite e precisar ser aumentado.

Use o comando a seguir e reinicie o software AWS IoT Greengrass Core.

```
ulimit -n 2048
```

**nota**  
Neste exemplo, o limite é aumentado para 2048. Selecione um valor apropriado para seu caso de uso.

 

### Erro: Erro de execução do tempo de execução: não foi possível iniciar o contêiner lambda. container\_linux.go:259: o início do processo do contêiner causou "process\_linux.go:345: init do contêiner causou \\"rootfs\_linux.go:50: rootfs de preparação causaram \\\\\\"permissão negada\\\\\\"\\"".
<a name="troubleshoot-execute-permissions"></a>

**Solução:** instale AWS IoT Greengrass diretamente no diretório raiz ou certifique-se de que o diretório em que o software AWS IoT Greengrass Core está instalado e seus diretórios principais tenham `execute` permissões para todos.

 

### Aviso: [WARN] - [5] GK Remote: Erro ao recuperar dados da chave pública: ErrPrincipalNotConfigured: a chave privada para MqttCertificate não está definida.
<a name="troubleshoot-mqttcertificate-warning"></a>

**Solução:** AWS IoT Greengrass usa um manipulador comum para validar as propriedades de todas as entidades de segurança. Esse aviso em `runtime.log` é esperado, a menos que você tenha especificado uma chave privada personalizada para o servidor MQTT local. Para obter mais informações, consulte [AWS IoT Greengrass princípios básicos de segurança](gg-sec.md#gg-principals).

 

### Erro: permissão negada ao tentar usar a função arn:aws:iam::<account-id>:role/<role-name> para acessar o URL s3. https://<region>-greengrass-updates.s3.<region>.amazonaws.com/core/<architecture>/greengrass-core-<distribution-version>.tar.gz
<a name="troubleshoot-ota-region-access"></a>

**Solução:** esse erro pode ser visto quando uma atualização OTA (over-the-air) falhar. Na política de função assinante, adicione a Região da AWS de destino como `Resource`. Essa função de signatário é usada para predefinir a URL do S3 para a atualização do AWS IoT Greengrass software. Para obter mais informações, consulte [Função assinante do URL do S3](core-ota-update.md#s3-url-signer-role).

 

### A ferramenta AWS IoT Greengrass o núcleo está configurado para usar um [proxy de rede](gg-core.md#alpn-network-proxy) e sua função Lambda não pode fazer conexões de saída.
<a name="troubleshoot-lambda-proxy-network-connections"></a>

**Solução:** dependendo do tempo de execução e dos executáveis usados pela função do Lambda para criar conexões, erros de tempo limite de conexão podem ser recebidos. Certifique-se de que suas funções Lambda usem a configuração de proxy apropriada para se conectar por meio do proxy de rede. AWS IoT Greengrass passa a configuração do proxy para funções Lambda definidas pelo usuário por meio `http_proxy` das variáveis de `https_proxy` ambiente, `no_proxy` e. Elas podem ser acessadas conforme mostrado no trecho Python a seguir.

```
import os
print(os.environ['http_proxy'])
```

Use a mesma letra que a variável definida em seu ambiente, por exemplo, todas minúsculas `http_proxy` ou todas maiúsculas `HTTP_PROXY`. Para essas variáveis, AWS IoT Greengrass suporta ambas.

**nota**  
A maioria das bibliotecas comuns usadas para fazer conexões (como boto3 ou cURL e pacotes `requests` python) usam essas variáveis de ambiente por padrão.

 

### O núcleo está em um loop infinito de desconexão e conexão. O arquivo runtime.log contém uma série contínua de entradas de conexão e desconexão.
<a name="config-client-id"></a>

**Solução:** isso pode acontecer quando outro dispositivo é codificado para usar o nome da coisa do núcleo como o ID de cliente para conexões MQTT com o AWS IoT. Conexões simultâneas são as mesmas Região da AWS e Conta da AWS devem usar IDs de cliente exclusivas. Por padrão, o núcleo usa o nome da coisa do núcleo como o ID do cliente para essas conexões.

Para resolver esse problema, você pode alterar o ID de cliente usado por outro dispositivo para a conexão (recomendado) ou substituir o valor padrão para o núcleo.

**Para substituir o ID de cliente padrão para o dispositivo de núcleo**

1. Execute o comando a seguir para interromper o daemon do Greengrass:

   ```
   cd /{{greengrass-root}}/ggc/core/
   sudo ./greengrassd stop
   ```

1. Abra `{{greengrass-root}}/config/config.json` para editar como o usuário su.

1. No objeto `coreThing`, adicione a propriedade `coreClientId` e defina o valor como o ID de cliente personalizado. O valor deve ter entre 1 e 128 caracteres. Ele deve ser exclusivo na Região da AWS atual para a Conta da AWS.

   ```
   "coreClientId": "MyCustomClientId"
   ```

1. Inicie o daemon.

   ```
   cd /{{greengrass-root}}/ggc/core/
   sudo ./greengrassd start
   ```

 

### Erro: não foi possível iniciar o contêiner do lambda. container\_linux.go:259: o início do processo do contêiner causou "process\_linux.go:345: o init do contêiner causou \\"rootfs\_linux.go:62: montagem de \\\\\\"proc\\\\\\" para rootfs \\\\\\"
<a name="troubleshoot-mount-proc-lambda-container"></a>

**Solução:** em algumas plataformas, você pode ver esse erro `runtime.log` ao AWS IoT Greengrass tentar montar o sistema de `/proc` arquivos para criar um contêiner Lambda. Ou você pode ver erros semelhantes, como `operation not permitted` ou `EPERM`. Esses erros podem ocorrer mesmo se os testes forem executados na plataforma pela passagem do script do verificador de dependências.

Tente uma das seguintes soluções possíveis:
+ Habilite a opção `CONFIG_DEVPTS_MULTIPLE_INSTANCES` no kernel do Linux.
+ Defina as opções de montagem `/proc` no host como `rw,relatim` apenas.
+ Atualize o kernel do Linux para a versão 4.9 ou posterior.

**nota**  
Esse problema não está relacionado à montagem de `/proc` para acesso a recursos locais.

 

### [ERROR] -erro de execução em tempo de execução: não foi possível iniciar o contêiner lambda. {"errorString”: “falha ao inicializar montagens de contêineres: falha ao mascarar a raiz do greengrass no diretório superior da sobreposição: falha ao criar o dispositivo de máscara no diretório < ggc-path: o arquivo existe"} >
<a name="troubleshoot-usr-access-root"></a>

**Solução:** esse erro pode ser visto em runtime.log quando a implantação falhar. Esse erro ocorre se uma função Lambda no AWS IoT Greengrass grupo não puder acessar o `/usr` diretório no sistema de arquivos do núcleo.

Para resolver esse problema, adicione um recurso de volume local para o grupo e implante o grupo. Esse recurso deve:
+ Especificar o `/usr` como o **caminho de origem** e **caminho de destino**.
+ Adicionar automaticamente as permissões de grupo de SO do grupo Linux que possui o recurso.
+ Ser afiliado à função do Lambda e permitir acesso somente leitura.

 

### [ERRO] - Falha na implantação. {"deploymentID”: < ">deployment-id “, “errorString”: “falha no processo de teste do contêiner com < pid > pid: estado do processo do contêiner: status de saída 1"}
<a name="troubleshoot-usr-access-root-canary"></a>

**Solução:** esse erro pode ser visto em runtime.log quando a implantação falhar. Esse erro ocorre se uma função Lambda no AWS IoT Greengrass grupo não puder acessar o `/usr` diretório no sistema de arquivos do núcleo.

Você pode confirmar se esse é o caso verificando em `GGCanary.log` se há erros adicionais. Se a função do Lambda não puder acessar o diretório `/usr`, `GGCanary.log` conterá o seguinte erro:

```
[ERROR]-standard_init_linux.go:207: exec user process caused "no such file or directory"
```

Para resolver esse problema, adicione um recurso de volume local para o grupo e implante o grupo. Esse recurso deve:
+ Especificar o `/usr` como o **caminho de origem** e **caminho de destino**.
+ Adicionar automaticamente as permissões de grupo de SO do grupo Linux que possui o recurso.
+ Ser afiliado à função do Lambda e permitir acesso somente leitura.

 

### Erro: [ERROR] -erro de execução em tempo de execução: não foi possível iniciar o contêiner lambda. {"errorString”: “falha ao inicializar montagens de contêineres: falha ao criar sobreposição fs para contêiner: sobreposição de montagem em//packages/ ggc-version/falha: rootfs/merged falha ao montar com args source=\\" no\_source\\” dest=\\”greengrass/ggc/>/packages/ < ggc-version/\\” fstype=\\ "overlay\\” flags=\\ "0\\” data=\\ “lowerdir=/ /packages/ ggc-version greengrass/ggc /dns:/, upperdir=/ /packages/ < ggc-version>/rootfs/merged, workdir=/ /packages/ ggc-version greengrass/ggc < > greengrass/ggc < > rootfs/upper greengrass/ggc < >/rootfs/work\\”: muitos níveis de links simbólicos "}
<a name="troubleshoot-symbolic-links"></a>

**Solução:** você pode ver esse erro no `runtime.log` arquivo quando o software AWS IoT Greengrass Core não inicia. Esse problema pode ser mais comum em sistemas operacionais Debian.

Para resolver esse problema, faça o seguinte:

1. Atualize o software AWS IoT Greengrass Core para v1.9.3 ou posterior. Isso deve resolver esse problema automaticamente.

1. Se você ainda receber esse erro depois de atualizar o software AWS IoT Greengrass Core, defina a `system.useOverlayWithTmpfs` propriedade como `true` no [arquivo config.json.](gg-core.md#config-json)   
**Example Exemplo**  

   ```
   {
     "system": {
       "useOverlayWithTmpfs": true
     },
     "coreThing": {
       "caPath": "root-ca.pem",
       "certPath": "cloud.pem.crt",
       "keyPath": "cloud.pem.key",
       ...
     },
     ...
   }
   ```

**nota**  
Sua versão do software AWS IoT Greengrass Core é mostrada na mensagem de erro. Para encontrar sua versão de kernel do Linux, execute `uname -r`.

 

### Erro: [DEPURAÇÃO] - Falha ao obter rotas. Descarte da mensagem.
<a name="troubleshoot-failed-to-get-routes"></a>

**Solução:** verifique as assinaturas no grupo do e certifique-se de que a assinatura listada na mensagem `[DEBUG]` exista. 

 

### Erro: [Errno 24] Muitas < funções lambda abertas>, [Errno 24] Muitos arquivos abertos
<a name="troubleshoot-too-many-open-files"></a>

**Solução:** Você pode ver esse erro no arquivo de log da função do Lambda se a função instancia `StreamManagerClient` no manipulador de funções. Recomendamos que você crie o cliente fora do manipulador. Para obter mais informações, consulte [Use StreamManagerClient para trabalhar com streams](work-with-streams.md). 

 

### Erro: o servidor ds falhou ao iniciar a escuta do soquete: listen unix < ggc-path>/ggc/socket/greengrass\_ipc.sock: bind: argumento inválido
<a name="troubleshoot-install-path-too-long"></a>

**Solução:** esse erro pode ser visto quando o software de núcleo do AWS IoT Greengrass não iniciar. Esse erro ocorre quando o software AWS IoT Greengrass Core é instalado em uma pasta com um caminho de arquivo longo. Reinstale o software AWS IoT Greengrass Core em uma pasta com um caminho de arquivo com menos de 79 bytes, se você não usar um [diretório de gravação](gg-core.md#write-directory), ou 83 bytes, se usar um diretório de gravação.

### [INFO] (Copiadora) aws.greengrass. StreamManager: robusta. Causado por: com.fasterxml.jackson.databind. JsonMappingException: Instantâneo excede o instante mínimo ou máximo
<a name="troubleshoot-stream-manager-instant-exceeds-maximun-minimum"></a>

Ao atualizar o software AWS IoT Greengrass principal para a v1.11.3, você pode ver o seguinte erro nos registros do gerenciador de fluxo se o gerenciador de fluxo falhar ao iniciar. 

```
2021-07-16T00:54:58.568Z [INFO] (Copier) aws.greengrass.StreamManager: stdout. Caused by: com.fasterxml.jackson.databind.JsonMappingException: Instant exceeds minimum or maximum instant (through reference chain: com.amazonaws.iot.greengrass.streammanager.export.PersistedSuccessExportStatesV1["lastExportTime"]). {scriptName=services.aws.greengrass.StreamManager.lifecycle.startup.script, serviceName=aws.greengrass.StreamManager, currentState=STARTING}
2021-07-16T00:54:58.579Z [INFO] (Copier) aws.greengrass.StreamManager: stdout. Caused by: java.time.DateTimeException: Instant exceeds minimum or maximum instant. {scriptName=services.aws.greengrass.StreamManager.lifecycle.startup.script, serviceName=aws.greengrass.StreamManager, currentState=STARTING}
```

Se você estiver usando uma versão do software AWS IoT Greengrass principal anterior à v1.11.3 e quiser atualizar para uma versão posterior, use uma atualização OTA para atualizar para a v1.11.4. 

### Erro GPG: https://dnw9lb6lzp2d8.cloudfront.net estável: as seguintes assinaturas eram inválidas InRelease: EXPKEYSIG 68D644ABD2327D47 AWS Greengrass Master Key
<a name="troubleshoot-apt-repository-invalid-signature"></a>

Quando você executa `apt update` em um dispositivo em que [instalou o software AWS IoT Greengrass principal a partir de um repositório APT](install-ggc.md#ggc-package-manager), você pode ver o seguinte erro.

```
Err:4 https://dnw9lb6lzp2d8.cloudfront.net stable InRelease
  The following signatures were invalid: EXPKEYSIG 68D644ABD2327D47 AWS Greengrass Master Key
Reading package lists... Done                             
W: GPG error: https://dnw9lb6lzp2d8.cloudfront.net stable InRelease: The following signatures were invalid: EXPKEYSIG 68D644ABD2327D47 AWS Greengrass Master Key
```

Esse erro ocorre porque AWS IoT Greengrass não oferece mais a opção de instalar ou atualizar o software AWS IoT Greengrass principal do repositório APT. Para executar com sucesso`apt update`, remova o AWS IoT Greengrass repositório da lista de fontes do dispositivo.

```
sudo rm /etc/apt/sources.list.d/greengrass.list 
sudo apt update
```

## Problemas de implantação
<a name="gg-troubleshooting-deploymentissues"></a>

Use as seguintes informações para ajudar a solucionar os problemas de implantação.

**Topics**
+ [Sua implantação atual não funciona e você deseja reverter para uma implantação anterior que funcione.](#troubleshoot-revert-deployment)
+ [Você verá o erro de implantação 403 Forbidden nos logs.](#troubleshoot-forbidden-deployment)
+ [Ocorre um ConcurrentDeployment erro quando você executa o comando create-deployment pela primeira vez.](#troubleshoot-concurrent-deployment)
+ [Erro: O Greengrass não está autorizado a assumir o perfil de serviço associado a essa conta ou o erro: Falha: perfil de serviço TES não está associado a essa conta.](#troubleshoot-assume-service-role)
+ [Erro: não é possível executar a etapa de download na implantação. erro ao fazer download: error ao fazer download do arquivo de definição de grupo: ... x509: o certificado expirou ou ainda não é válido](#troubleshoot-x509-certificate-expired)
+ [A implantação não é concluída.](#troubleshoot-stuck-deployment)
+ [Erro: Não foi possível encontrar executáveis java ou java8, ou o erro: ID de implantação do tipo ID de < implantação NewDeployment para ID > de < grupo > falhou erro: trabalhador com ID de < trabalho falhou ao inicializar com o motivo pelo qual a versão Java instalada deve ser maior > ou igual a 8](#java-8-runtime-requirement)
+ [A implantação não é concluída, e runtime.log contém várias entradas "esperar 1s para o contêiner ser interrompido".](#troubleshoot-wait-container-stop)
+ [A implantação não termina e `runtime.log` contém “[ERROR] -Erro de implantação do Greengrass: falha ao relatar o status da implantação para a nuvem {" deploymentID”: "<deployment-id > “, “errorString”: “Falha ao iniciar PUT, endpoint: https://deployment-status, error: Put https://<deployment-status: proxyconnect tcp: x509: > certificado assinado por autoridade desconhecida"}” < >](#troubleshoot-failed-to-report-deployment-status)
+ [Erro: > falha na < identificação de implantação > do tipo NewDeployment ID de < grupo erro: erro durante o processamento. A configuração do grupo é inválida: 112 ou [119 0] não têm permissão rw no caminho file:. < >](#troubleshoot-access-permissions-deployment)
+ [Erro: < list-of-function-arns > está configurado para ser executado como root, mas o Greengrass não está configurado para executar funções Lambda com permissões de root.](#troubleshoot-root-permissions-lambda)
+ [Erro: < ID > de implantação do tipo NewDeployment < falha na identificação de grupo > erro: Erro de implantação do Greengrass: não foi possível executar a etapa de download na implantação. erro durante o processamento: não foi possível carregar o arquivo de grupo baixado: não foi possível encontrar o UID com base no nome do usuário, nome de usuário: ggc\_user: usuário: usuário desconhecido ggc\_user.](#troubleshoot-could-not-find-uid)
+ [Erro: [ERROR] -erro de execução em tempo de execução: não foi possível iniciar o contêiner lambda. {"errorString”: “falha ao inicializar montagens de contêineres: falha ao mascarar a raiz do greengrass no diretório superior da sobreposição: falha ao criar o dispositivo de máscara no diretório < ggc-path: o arquivo existe"} >](#troubleshoot-failed-to-initialize-container-mounts)
+ [Erro: ID de < implantação > do tipo falha no id de < grupo Erro: > falha no início do processo: container\_linux.go:259: iniciar o processo de contêiner causou “process\_linux.go:250: a execução de exec sens process NewDeployment for init causou\\" wait: nenhum processo secundário\\ "”.](#troubleshoot-wait-child-processes)
+ [Erro: [WARN] -MQTT [cliente] disque tcp: lookup host-prefix -ats.iot. < > <region > .amazonaws.com: esse host não existe... [ERRO] -Erro de implantação do Greengrass: falha ao relatar o status da implantação na nuvem... net/http: solicitação cancelada enquanto aguardava a conexão (Client.Timeout excedida enquanto aguardava cabeçalhos)](#troubleshoot-dnssec-validation-failed)

 

### Sua implantação atual não funciona e você deseja reverter para uma implantação anterior que funcione.
<a name="troubleshoot-revert-deployment"></a>

**Solução:** use o AWS IoT console ou a AWS IoT Greengrass API para reimplantar uma implantação anterior em funcionamento. Isso implanta a versão do grupo correspondente no dispositivo de núcleo.

**Para reimplantar uma implantação (console)**

1. Na página de configuração do grupo, selecione a guia **Implantações**. Esta página exibe o histórico de implantação do grupo, incluindo a data e a hora, a versão do grupo e o status de cada tentativa de implantação.

1. Encontre a linha que contém a implantação que você deseja reimplantar. Selecione a implantação que você deseja reimplantar e selecione **Reimplantar**.  
![Página de implantações mostrando a Re-Deploy ação de uma implantação.](http://docs.aws.amazon.com/pt_br/greengrass/v1/developerguide/images/console-group-redeployment.png)

**Para reimplantar uma implantação (CLI)**

1. Use [ListDeployments](https://docs.aws.amazon.com/greengrass/v1/apireference/listdeployments-get.html)para encontrar o ID da implantação que você deseja reimplantar. Por exemplo:

   ```
   aws greengrass list-deployments --group-id 74d0b623-c2f2-4cad-9acc-ef92f61fcaf7
   ```

   O comando retorna a lista de implantações para o grupo.

   ```
   {
       "Deployments": [
           {
               "DeploymentId": "8d179428-f617-4a77-8a0c-3d61fb8446a6",
               "DeploymentType": "NewDeployment",
               "GroupArn": "arn:aws:greengrass:us-west-2:123456789012:/greengrass/groups/74d0b623-c2f2-4cad-9acc-ef92f61fcaf7/versions/8dd1d899-4ac9-4f5d-afe4-22de086efc62",
               "CreatedAt": "2019-07-01T20:56:49.641Z"
           },
           {
               "DeploymentId": "f8e4c455-8ac4-453a-8252-512dc3e9c596",
               "DeploymentType": "NewDeployment",
               "GroupArn": "arn:aws:greengrass:us-west-2::123456789012:/greengrass/groups/74d0b623-c2f2-4cad-9acc-ef92f61fcaf7/versions/4ad66e5d-3808-446b-940a-b1a788898382",
               "CreatedAt": "2019-07-01T20:41:47.048Z"
           },
           {
               "DeploymentId": "e4aca044-bbd8-41b4-b697-930ca7c40f3e",
               "DeploymentType": "NewDeployment",
               "GroupArn": "arn:aws:greengrass:us-west-2::123456789012:/greengrass/groups/74d0b623-c2f2-4cad-9acc-ef92f61fcaf7/versions/1f3870b6-850e-4c97-8018-c872e17b235b",
               "CreatedAt": "2019-06-18T15:16:02.965Z"
           }
       ]
   }
   ```
**nota**  
Esses AWS CLI comandos usam valores de exemplo para o grupo e o ID de implantação. Ao executar os comandos, certifique-se de substituir os valores de exemplo.

1. Use [CreateDeployment](https://docs.aws.amazon.com/greengrass/v1/apireference/createdeployment-post.html)para reimplantar a implantação de destino. Defina o tipo de implantação como `Redeployment`. Por exemplo:

   ```
   aws greengrass create-deployment --deployment-type Redeployment \ 
     --group-id 74d0b623-c2f2-4cad-9acc-ef92f61fcaf7 \
     --deployment-id f8e4c455-8ac4-453a-8252-512dc3e9c596
   ```

   O comando retorna o ARN e o ID da nova implantação.

   ```
   {
       "DeploymentId": "f9ed02b7-c28e-4df6-83b1-e9553ddd0fc2",
       "DeploymentArn": "arn:aws:greengrass:us-west-2::123456789012:/greengrass/groups/74d0b623-c2f2-4cad-9acc-ef92f61fcaf7/deployments/f9ed02b7-c28e-4df6-83b1-e9553ddd0fc2"
   }
   ```

1. Use [GetDeploymentStatus](https://docs.aws.amazon.com/greengrass/v1/apireference/getdeploymentstatus-get.html)para obter o status da implantação.

 

### Você verá o erro de implantação 403 Forbidden nos logs.
<a name="troubleshoot-forbidden-deployment"></a>

**Solução:** certifique-se de que a política do AWS IoT Greengrass núcleo na nuvem seja incluída `"greengrass:*"` como uma ação permitida.

 

### Ocorre um ConcurrentDeployment erro quando você executa o comando create-deployment pela primeira vez.
<a name="troubleshoot-concurrent-deployment"></a>

**Solução:** uma implantação pode estar em andamento. Você pode executar [get-deployment-status](https://docs.aws.amazon.com/greengrass/v1/apireference/getdeploymentstatus-get.html) para verificar se uma implantação foi criada. Se ela não tiver sido criada, tente novamente.

 

### Erro: O Greengrass não está autorizado a assumir o perfil de serviço associado a essa conta ou o erro: Falha: perfil de serviço TES não está associado a essa conta.
<a name="troubleshoot-assume-service-role"></a>

**Solução:** esse erro pode ser visto quando a implantação falhar. Verifique se uma função de serviço do Greengrass está associada à sua Conta da AWS na Região da AWS atual. Para acessar mais informações, consulte [Gerenciar a função de serviço do Greengrass (CLI)](service-role.md#manage-service-role-cli) ou [Gerenciar a função de serviço do Greengrass (console)](service-role.md#manage-service-role-console).

 

### Erro: não é possível executar a etapa de download na implantação. erro ao fazer download: error ao fazer download do arquivo de definição de grupo: ... x509: o certificado expirou ou ainda não é válido
<a name="troubleshoot-x509-certificate-expired"></a>

**Solução:** esse erro pode ser visto em `runtime.log` quando a implantação falhar. Se você receber um erro `Deployment failed` contendo a mensagem `x509: certificate has expired or is not yet valid`, verifique o relógio do dispositivo. O TLS e os X.509 certificados fornecem uma base segura para a criação de sistemas de IoT, mas exigem horários precisos em servidores e clientes. Os dispositivos de IoT devem ter a hora correta (dentro de 15 minutos) antes de tentarem se conectar a AWS IoT Greengrass ou a outros serviços TLS que usem certificados de servidor. Para obter mais informações, consulte [Usando o Device Time para validar certificados de AWS IoT servidor](https://aws.amazon.com/blogs/iot/using-device-time-to-validate-aws-iot-server-certificates/) *na Internet das Coisas no blog AWS oficial*.

 

### A implantação não é concluída.
<a name="troubleshoot-stuck-deployment"></a>

**Solução:** faça o seguinte:
+ Verifique se o AWS IoT Greengrass daemon está sendo executado no seu dispositivo principal. No terminal do dispositivo de núcleo, execute os comandos a seguir para verificar se o daemon está em execução e o inicie, caso necessário.

  1. Para verificar se o daemon está em execução:

     ```
     ps aux | grep -E 'greengrass.*daemon'
     ```

     Se a saída contém uma entrada `root` para `/greengrass/ggc/packages/1.11.6/bin/daemon`, o daemon está em execução.

     A versão no caminho depende da versão do software AWS IoT Greengrass principal que está instalada em seu dispositivo principal.

  1. Para iniciar o daemon:

     ```
     cd /greengrass/ggc/core/
     sudo ./greengrassd start
     ```
+ Verifique se o dispositivo de núcleo está conectado e os endpoints de conexão do núcleo estão configurados corretamente.

 

### Erro: Não foi possível encontrar executáveis java ou java8, ou o erro: ID de implantação do tipo ID de < implantação NewDeployment para ID > de < grupo > falhou erro: trabalhador com ID de < trabalho falhou ao inicializar com o motivo pelo qual a versão Java instalada deve ser maior > ou igual a 8
<a name="java-8-runtime-requirement"></a>

**Solução:** se o gerenciador de fluxo estiver habilitado para o AWS IoT Greengrass Core, você deverá instalar o Java 8 Runtime no dispositivo de núcleo antes de implantar o grupo. Para obter mais informações, consulte os [requisitos](stream-manager.md#stream-manager-requirements) para o gerenciador de fluxo. O gerenciador de fluxo é habilitado por padrão quando você usa a opção **Criação de grupo padrão** no console do AWS IoT .

Ou desabilite o gerenciador de fluxo e implante o grupo. Para obter mais informações, consulte [Definir configurações do gerenciador de fluxo (console)](configure-stream-manager.md#configure-stream-manager-console).

 

### A implantação não é concluída, e runtime.log contém várias entradas "esperar 1s para o contêiner ser interrompido".
<a name="troubleshoot-wait-container-stop"></a>

**Solução:** execute os seguintes comandos no terminal do dispositivo principal para reiniciar o AWS IoT Greengrass daemon.

```
cd /greengrass/ggc/core/
sudo ./greengrassd stop
sudo ./greengrassd start
```

 

### A implantação não termina e `runtime.log` contém “[ERROR] -Erro de implantação do Greengrass: falha ao relatar o status da implantação para a nuvem {" deploymentID”: "<deployment-id > “, “errorString”: “Falha ao iniciar PUT, endpoint: https://deployment-status, error: Put https://<deployment-status: proxyconnect tcp: x509: > certificado assinado por autoridade desconhecida"}” < >
<a name="troubleshoot-failed-to-report-deployment-status"></a>

**Solução:** é possível visualizar esse erro em `runtime.log` quando o núcleo do Greengrass está configurado de modo a usar uma conexão proxy HTTPS e a cadeia de certificados do servidor de proxy não é confiável no sistema. Para tentar resolver esse problema, adicione a cadeia de certificados ao certificado raiz da CA. O núcleo do Greengrass adiciona os certificados deste arquivo ao pool de certificados usado para autenticação TLS em conexões HTTPS e MQTT com o AWS IoT Greengrass.

O exemplo a seguir mostra um certificado da CA do servidor de proxy adicionado ao arquivo de certificado raiz da CA:

```
# My proxy CA
-----BEGIN CERTIFICATE-----
MIIEFTCCAv2gAwIQWgIVAMHSAzWG/5YVRYtRQOxXUTEpHuEmApzGCSqGSIb3DQEK
\nCwUAhuL9MQswCQwJVUzEPMAVUzEYMBYGA1UECgwP1hem9uLmNvbSBJbmMuMRww
... {{content of proxy CA certificate}} ...
+vHIRlt0e5JAm5\noTIZGoFbK82A0/nO7f/t5PSIDAim9V3Gc3pSXxCCAQoFYnui
GaPUlGk1gCE84a0X\n7Rp/lND/PuMZ/s8YjlkY2NmYmNjMCAXDTE5MTEyN2cM216
gJMIADggEPADf2/m45hzEXAMPLE=
-----END CERTIFICATE-----

# Amazon Root CA 1
-----BEGIN CERTIFICATE-----
MIIDQTCCAimgF6AwIBAgITBmyfz/5mjAo54vB4ikPmljZKyjANJmApzyMZFo6qBg
ADA5MQswCQYDVQQGEwJVUzEPMA0tMVT8QtPHRh8jrdkGA1UEChMGDV3QQDExBBKW
... {{content of root CA certificate}} ...
o/ufQJQWUCyziar1hem9uMRkwFwYVPSHCb2XV4cdFyQzR1KldZwgJcIQ6XUDgHaa
5MsI+yMRQ+hDaXJiobldXgjUka642M4UwtBV8oK2xJNDd2ZhwLnoQdeXeGADKkpy
rqXRfKoQnoZsG4q5WTP46EXAMPLE
-----END CERTIFICATE-----
```

Por padrão, o arquivo de certificado raiz da CA está localizado em `/{{greengrass-root}}/certs/root.ca.pem`. Para encontrar a localização no dispositivo de núcleo, verifique a propriedade `crypto.caPath` em [config.json](gg-core.md#config-json).

**nota**  
{{greengrass-root}}representa o caminho em que o software AWS IoT Greengrass Core está instalado em seu dispositivo. Normalmente, esse é o diretório `/greengrass`.

 

### Erro: > falha na < identificação de implantação > do tipo NewDeployment ID de < grupo erro: erro durante o processamento. A configuração do grupo é inválida: 112 ou [119 0] não têm permissão rw no caminho file:. < >
<a name="troubleshoot-access-permissions-deployment"></a>

**Solução:** verifique se o grupo proprietário do {{<path>}} diretório tem permissões de leitura e gravação no diretório.

 

### Erro: < list-of-function-arns > está configurado para ser executado como root, mas o Greengrass não está configurado para executar funções Lambda com permissões de root.
<a name="troubleshoot-root-permissions-lambda"></a>

**Solução:** esse erro pode ser visto em `runtime.log` quando a implantação falhar. Verifique se você configurou AWS IoT Greengrass para permitir que as funções do Lambda sejam executadas com permissões de root. Altere o valor de `allowFunctionsToRunAsRoot` in `greengrass_root/config/config.json` para `yes` ou altere a função Lambda para ser executada como outra. user/group Para obter mais informações, consulte [Executar uma função do Lambda como raiz](lambda-group-config.md#lambda-running-as-root).

 

### Erro: < ID > de implantação do tipo NewDeployment < falha na identificação de grupo > erro: Erro de implantação do Greengrass: não foi possível executar a etapa de download na implantação. erro durante o processamento: não foi possível carregar o arquivo de grupo baixado: não foi possível encontrar o UID com base no nome do usuário, nome de usuário: ggc\_user: usuário: usuário desconhecido ggc\_user.
<a name="troubleshoot-could-not-find-uid"></a>

**Solução:** Se a [identidade de acesso padrão](lambda-group-config.md#lambda-access-identity-groupsettings) do AWS IoT Greengrass grupo usar as contas padrão do sistema, o `ggc_user` usuário e o `ggc_group` grupo deverão estar presentes no dispositivo. Para obter instruções que mostram como adicionar o usuário e o grupo, consulte esta [etapa](setup-filter.rpi.md#add-ggc-user-ggc-group). Certifique-se de inserir os nomes exatamente como é mostrado.

 

### Erro: [ERROR] -erro de execução em tempo de execução: não foi possível iniciar o contêiner lambda. {"errorString”: “falha ao inicializar montagens de contêineres: falha ao mascarar a raiz do greengrass no diretório superior da sobreposição: falha ao criar o dispositivo de máscara no diretório < ggc-path: o arquivo existe"} >
<a name="troubleshoot-failed-to-initialize-container-mounts"></a>

**Solução:** esse erro pode ser visto em `runtime.log` quando a implantação falhar. Esse erro ocorre se uma função do Lambda no grupo do Greengrass não conseguir acessar o diretório `/usr` no sistema de arquivos do núcleo. Para resolver esse problema, adicione um [recurso de volume local](access-local-resources.md) para o grupo e implante o grupo. O recurso deve:
+ Especificar o `/usr` como o **caminho de origem** e **caminho de destino**.
+ Adicionar automaticamente as permissões de grupo de SO do grupo Linux que possui o recurso.
+ Ser afiliado à função do Lambda e permitir acesso somente leitura.

 

### Erro: ID de < implantação > do tipo falha no id de < grupo Erro: > falha no início do processo: container\_linux.go:259: iniciar o processo de contêiner causou “process\_linux.go:250: a execução de exec sens process NewDeployment for init causou\\" wait: nenhum processo secundário\\ "”.
<a name="troubleshoot-wait-child-processes"></a>

**Solução:** esse erro pode ser visto quando a implantação falhar. Repita a implantação.

 

### Erro: [WARN] -MQTT [cliente] disque tcp: lookup host-prefix -ats.iot. < > <region > .amazonaws.com: esse host não existe... [ERRO] -Erro de implantação do Greengrass: falha ao relatar o status da implantação na nuvem... net/http: solicitação cancelada enquanto aguardava a conexão (Client.Timeout excedida enquanto aguardava cabeçalhos)
<a name="troubleshoot-dnssec-validation-failed"></a>

**Solução:** você poderá ver esse erro se estiver usando o `systemd-resolved`, que habilita a configuração `DNSSEC` por padrão. Como resultado, muitos domínios públicos não são reconhecidos. As tentativas de acessar o AWS IoT Greengrass endpoint não conseguem encontrar o host, portanto, suas implantações permanecem no `In Progress` estado.

Você pode usar os comandos e a saída a seguir para testar esse problema. Substitua o {{region}} espaço reservado nos endpoints pelo seu. Região da AWS

```
$ ping greengrass-ats.iot.{{region}}.amazonaws.com
ping: greengrass-ats.iot.{{region}}.amazonaws.com: Name or service not known
```

```
$ systemd-resolve greengrass-ats.iot.{{region}}.amazonaws.com
greengrass-ats.iot.{{region}}.amazonaws.com: resolve call failed: DNSSEC validation failed: failed-auxiliary
```

Uma solução possível é desabilitar o `DNSSEC`. Quando o `DNSSEC` é `false`, as pesquisas de DNS não são validadas pelo `DNSSEC`. Para obter mais informações, consulte este [problema conhecido](https://github.com/systemd/systemd/issues/9867) para o `systemd`.

1. Adicione `DNSSEC=false` a `/etc/systemd/resolved.conf`.

1. Reinicie o `systemd-resolved`.

Para obter informações sobre `resolved.conf` e `DNSSEC`, execute `man resolved.conf` no seu terminal.

 

## Problemas para criar grupo/criar função
<a name="gg-troubleshooting-groupcreateissues"></a>

Use as informações a seguir para ajudar a solucionar problemas com a criação de um AWS IoT Greengrass grupo ou de uma função do Greengrass Lambda.

**Topics**
+ [Erro: Sua configuração 'IsolationMode' para o grupo é inválida.](#troubleshoot-invalid-isolation-mode-group)
+ [Erro: Sua configuração 'IsolationMode' para a função com arn < function-arn é > inválida.](#troubleshoot-isolation-mode-lambda)
+ [Erro: a MemorySize configuração da função com arn < function-arn não > é permitida em =. IsolationMode NoContainer](#troubleshoot-lambda-memorysize-not-supported)
+ [Erro: o acesso à configuração do Sysfs para a função com arn < function-arn > não é permitido em =. IsolationMode NoContainer](#troubleshoot-sysfs-access-not-supported)
+ [Erro: a MemorySize configuração da função com arn < function-arn > é necessária em =. IsolationMode GreengrassContainer](#troubleshoot-lambda-memorysize-required)
+ [Erro: a função < function-arn > se refere ao recurso do tipo < resource-type > que não é permitido em =. IsolationMode NoContainer](#troubleshoot-resource-access-not-supported)
+ [Erro: a configuração de execução da função com arn < function-arn > não é permitida.](#troubleshoot-execution-parameters-not-supported)

 

### Erro: Sua configuração 'IsolationMode' para o grupo é inválida.
<a name="troubleshoot-invalid-isolation-mode-group"></a>

**Solução:** esse erro ocorre quando o valor de `IsolationMode` no `DefaultConfig` de `function-definition-version` não é compatível. Os valores compatíveis são `GreengrassContainer` e `NoContainer`.

 

### Erro: Sua configuração 'IsolationMode' para a função com arn < function-arn é > inválida.
<a name="troubleshoot-isolation-mode-lambda"></a>

**Solução:** esse erro ocorre quando o valor de `IsolationMode` no <function-arn> da `function-definition-version` não é compatível. Os valores compatíveis são `GreengrassContainer` e `NoContainer`.

 

### Erro: a MemorySize configuração da função com arn < function-arn não > é permitida em =. IsolationMode NoContainer
<a name="troubleshoot-lambda-memorysize-not-supported"></a>

**Solução:** esse erro ocorre quando você especifica um valor `MemorySize` e opta por executar sem conteinerização. As funções do Lambda que são executadas sem conteinerização não podem ter limites de memória. Você pode remover o limite ou pode alterar a função do Lambda para que ela seja executada em um contêiner AWS IoT Greengrass .

 

### Erro: o acesso à configuração do Sysfs para a função com arn < function-arn > não é permitido em =. IsolationMode NoContainer
<a name="troubleshoot-sysfs-access-not-supported"></a>

**Solução:** esse erro ocorre quando você especifica `true` para `AccessSysfs` e opta por executar sem conteinerização. As funções do Lambda executadas sem conteinerização devem ter seu código atualizado para acessar o sistema de arquivos diretamente e não podem usar `AccessSysfs`. Você pode especificar um valor de `false` for `AccessSysfs` ou alterar a função Lambda para ser executada em um AWS IoT Greengrass contêiner.

 

### Erro: a MemorySize configuração da função com arn < function-arn > é necessária em =. IsolationMode GreengrassContainer
<a name="troubleshoot-lambda-memorysize-required"></a>

**Solução:** Esse erro ocorre porque você não especificou um `MemorySize` limite para uma função Lambda que está sendo executada em um AWS IoT Greengrass contêiner. Para resolver o erro, especifique um valor de `MemorySize`.

 

### Erro: a função < function-arn > se refere ao recurso do tipo < resource-type > que não é permitido em =. IsolationMode NoContainer
<a name="troubleshoot-resource-access-not-supported"></a>

**Solução:** não é possível acessar os tipos de recursos `Local.Device`, `Local.Volume`, `ML_Model.SageMaker.Job`, `ML_Model.S3_Object` ou `S3_Object.Generic_Archive` ao executar uma função do Lambda sem conteinerização. Se você precisar desses tipos de recursos, deverá executá-los em um AWS IoT Greengrass contêiner. Você também pode acessar dispositivos locais diretamente ao executar sem conteinerização alterando o código em sua função do Lambda.

 

### Erro: a configuração de execução da função com arn < function-arn > não é permitida.
<a name="troubleshoot-execution-parameters-not-supported"></a>

**Solução:** esse erro ocorre ao criar uma função do Lambda do sistema com `GGIPDetector` ou `GGCloudSpooler` e especificar uma configuração `IsolationMode` ou `RunAs`. Você deve omitir os parâmetros `Execution` para essa função do Lambda do sistema.

 

## Problemas de descoberta
<a name="gg-troubleshooting-discovery-issues"></a>

Use as informações a seguir para ajudar a solucionar problemas com o serviço AWS IoT Greengrass Discovery.

**Topics**
+ [Erro: o dispositivo é membro de muitos grupos; os dispositivos não podem estar em mais de 10 grupos](#troubleshoot-device-in-too-many-groups)

 

### Erro: o dispositivo é membro de muitos grupos; os dispositivos não podem estar em mais de 10 grupos
<a name="troubleshoot-device-in-too-many-groups"></a>

**Solução:** esta é uma limitação conhecida. Um [dispositivo cliente](what-is-gg.md#greengrass-devices) pode ser membro de até 10 grupos.

 

## Problemas com recursos de machine learning
<a name="ml-resources-troubleshooting"></a>

Use as informações a seguir para ajudar a solucionar problemas com recursos de machine learning.

**Topics**
+ [InvalidMLModelOwner - GroupOwnerSetting é fornecido no recurso do modelo ML, mas GroupOwner ou não GroupPermission está presente](#nocontainer-lambda-invalid-ml-model-owner)
+ [NoContainer a função não pode configurar a permissão ao anexar recursos do Machine Learning. <function-arn > se refere ao ID do recurso de aprendizado de máquina com permissão na política de < acesso a recursos>. < ro/rw >](#nocontainer-lambda-invalid-resource-access-policy)
+ [A função < function-arn > se refere ao < resource-id > do recurso de Machine Learning sem permissão em ambos e no recurso. ResourceAccessPolicy OwnerSetting](#nocontainer-lambda-missing-access-permission)
+ [A função < function-arn > se refere ao < resource-id do recurso do Machine Learning > com a permissão\\ "rw\\”, enquanto a configuração do proprietário do recurso permite GroupPermission apenas\\ "ro\\”.](#container-lambda-invalid-rw-permissions)
+ [NoContainer A função < function-arn > se refere aos recursos do caminho de destino aninhado.](#nocontainer-lambda-nested-destination-path)
+ [O Lambda < function-arn > obtém acesso ao < resource-id do recurso compartilhando o mesmo ID > de proprietário do grupo](#lambda-runas-and-resource-owner)

 

### InvalidMLModelOwner - GroupOwnerSetting é fornecido no recurso do modelo ML, mas GroupOwner ou não GroupPermission está presente
<a name="nocontainer-lambda-invalid-ml-model-owner"></a>

**Solução:** você receberá esse erro se um recurso de aprendizado de máquina contiver o [ResourceDownloadOwnerSetting](https://docs.aws.amazon.com/greengrass/v1/apireference/definitions-resourcedownloadownersetting.html)objeto, mas o necessário `GroupOwner` ou a `GroupPermission` propriedade não estiverem definidos. Para resolver esse problema, defina a propriedade ausente.

 

### NoContainer a função não pode configurar a permissão ao anexar recursos do Machine Learning. <function-arn > se refere ao ID do recurso de aprendizado de máquina com permissão na política de < acesso a recursos>. < ro/rw >
<a name="nocontainer-lambda-invalid-resource-access-policy"></a>

**Solução:** você recebe esse erro se uma função Lambda não conteinerizada especificar permissões em nível de função para um recurso de aprendizado de máquina. Non-containerized as funções devem herdar as permissões do proprietário do recurso definidas no recurso de aprendizado de máquina. Para resolver esse problema, selecione [herdar permissões de proprietário do recurso](access-ml-resources.md#non-container-config-console) (console) ou [rremover as permissões da política de acesso aos recursos da função do Lambda](access-ml-resources.md#non-container-config-api) (API) .

 

### A função < function-arn > se refere ao < resource-id > do recurso de Machine Learning sem permissão em ambos e no recurso. ResourceAccessPolicy OwnerSetting
<a name="nocontainer-lambda-missing-access-permission"></a>

**Solução:** você receberá esse erro se as permissões para o recurso de machine learning não estiverem configuradas para a função anexada do Lambda ou para o recurso. Para resolver esse problema, configure as permissões na [ResourceAccessPolicy](https://docs.aws.amazon.com/greengrass/v1/apireference/definitions-resourceaccesspolicy.html)propriedade para a função Lambda ou na [OwnerSetting](https://docs.aws.amazon.com/greengrass/v1/apireference/definitions-ownersetting.html)propriedade para o recurso.

 

### A função < function-arn > se refere ao < resource-id do recurso do Machine Learning > com a permissão\\ "rw\\”, enquanto a configuração do proprietário do recurso permite GroupPermission apenas\\ "ro\\”.
<a name="container-lambda-invalid-rw-permissions"></a>

**Solução:** você receberá esse erro se as permissões de acesso definidas para a função anexada do Lambda excederem as permissões de proprietário do recurso definidas para o recurso de machine learning. Para resolver esse problema, defina permissões mais restritivas para a função do Lambda ou permissões menos restritivas para o proprietário do recurso.

 

### NoContainer A função < function-arn > se refere aos recursos do caminho de destino aninhado.
<a name="nocontainer-lambda-nested-destination-path"></a>

**Solução:** você receberá esse erro se vários recursos de machine learning anexados a uma função não conteinerizada do Lambda utilizarem o mesmo caminho de destino ou um caminho de destino aninhado. Para resolver esse problema, especifique caminhos de destino separados para os recursos.

 

### O Lambda < function-arn > obtém acesso ao < resource-id do recurso compartilhando o mesmo ID > de proprietário do grupo
<a name="lambda-runas-and-resource-owner"></a>

**Solução:‭**‬ você receberá esse erro em ‭`runtime.log` se o mesmo grupo de sistemas operacionais for especificado como a identidade da função do Lambda ‭‬[Executar como‭](lambda-group-config.md#lambda-access-identity)‬ e o ‭[‬proprietário do recurso](access-ml-resources.md#ml-resource-owner)‭‬ de um recurso de machine learning, mas o recurso não estiver vinculado à função do Lambda.‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬ Essa configuração dá à função Lambda permissões implícitas que ela pode usar para acessar o recurso sem autorização. AWS IoT Greengrass 

Para resolver esse problema, use um grupo de SO diferente para uma das propriedades ou anexe o recurso de machine learning à função do Lambda.

## AWS IoT Greengrass núcleo em problemas do Docker
<a name="gg-troubleshooting-dockerissues"></a>

Use as informações a seguir para ajudar a solucionar problemas com a execução de um AWS IoT Greengrass núcleo em um contêiner do Docker.

**Topics**
+ [Erro: Opções desconhecidas: -no-include-email](#docker-troubleshooting-cli-version)
+ [Aviso: IPv4 está desabilitado. As redes não funcionarão.](#docker-troubleshooting-ipv4-disabled)
+ [Erro: Um firewall está bloqueando o compartilhamento de arquivos entre janelas e os contêineres.](#docker-troubleshooting-firewall)
+ [Erro: ocorreu um erro (AccessDeniedException) ao chamar a GetAuthorizationToken operação: Usuário: não arn:aws:iam::<account-id>:user/<user-name> está autorizado a realizar: ecr: GetAuthorizationToken on resource: \*](#docker-troubleshooting-ecr-perms)
+ [Erro: Não é possível criar um contêiner para o serviço do greengrass: Conflito. O nome do contêiner "/aws-iot-greengrass" já está em uso.](#troubleshoot-docker-name-conflict)
+ [Erro: [FATAL]-Falha ao redefinir o namespace de montagem do thread devido a um erro inesperado: "operação não permitida". Para manter a consistência, o GGC travará e precisará ser reiniciado manualmente.](#troubleshoot-docker-container-lambda)

 

### Erro: Opções desconhecidas: -no-include-email
<a name="docker-troubleshooting-cli-version"></a>

**Solução:** este erro pode ocorrer ao executar o comando `aws ecr get-login`. Verifique se você tem a AWS CLI versão mais recente instalada (por exemplo, execute:`pip install awscli --upgrade --user`). Se você estiver usando o Windows e tiver instalado a CLI usando o instalador MSI, repita o processo de instalação. Para obter informações, consulte [Instalar a AWS Command Line Interface no Microsoft Windows](https://docs.aws.amazon.com/cli/latest/userguide/awscli-install-windows.html) no *Guia do usuário do AWS Command Line Interface *.

 

### Aviso: IPv4 está desabilitado. As redes não funcionarão.
<a name="docker-troubleshooting-ipv4-disabled"></a>

**Solução:** você pode receber esse aviso ou uma mensagem semelhante ao executar AWS IoT Greengrass em um computador Linux. [Ative o encaminhamento de rede IPv4 conforme descrito nesta etapa.](run-gg-in-docker-container.md#docker-linux-enable-ipv4) AWS IoT Greengrass a implantação na nuvem e as comunicações MQTT não funcionam quando o encaminhamento IPv4 não está habilitado. Para obter mais informações, consulte [Configurar parâmetros de kernel com namespace (sysctls) em runtime](https://docs.docker.com/engine/reference/commandline/run/#configure-namespaced-kernel-parameters-sysctls-at-runtime) na documentação do Docker.

 

### Erro: Um firewall está bloqueando o compartilhamento de arquivos entre janelas e os contêineres.
<a name="docker-troubleshooting-firewall"></a>

**Solução:** esse erro ou uma mensagem `Firewall Detected` pode ser recebida ao executar o Docker em um computador Windows. Esse erro também poderá ocorrer se você estiver conectado em uma rede privada virtual (VPN), e as configurações de rede estiverem impedindo a montagem da unidade compartilhada. Nesse caso, desative a VPN e execute novamente o contêiner do Docker.

 

### Erro: ocorreu um erro (AccessDeniedException) ao chamar a GetAuthorizationToken operação: Usuário: não arn:aws:iam::<account-id>:user/<user-name> está autorizado a realizar: ecr: GetAuthorizationToken on resource: \*
<a name="docker-troubleshooting-ecr-perms"></a>

É possível que você receba esse erro ao executar o comando `aws ecr get-login-password` se não tiver permissões suficientes para acessar um repositório do Amazon ECR. Para obter mais informações, consulte [Exemplos de políticas de repositório do Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policy-examples.html) e [Como acessar um repositório do Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/security_iam_id-based-policy-examples.html) no *Guia do usuário do Amazon ECR*.

 

### Erro: Não é possível criar um contêiner para o serviço do greengrass: Conflito. O nome do contêiner "/aws-iot-greengrass" já está em uso.
<a name="troubleshoot-docker-name-conflict"></a>

**Solução:** isso pode ocorrer quando o nome do contêiner é usado em um contêiner mais antigo. Para resolver esse problema, remova o antigo contêiner do Docker executando o seguinte comando:

```
docker rm -f $(docker ps -a -q -f "name=aws-iot-greengrass")
```

 

### Erro: [FATAL]-Falha ao redefinir o namespace de montagem do thread devido a um erro inesperado: "operação não permitida". Para manter a consistência, o GGC travará e precisará ser reiniciado manualmente.
<a name="troubleshoot-docker-container-lambda"></a>

**Solução:** Esse erro `runtime.log` pode ocorrer quando você tenta implantar uma função `GreengrassContainer` Lambda em um AWS IoT Greengrass núcleo executado em um contêiner Docker. Atualmente, apenas funções do Lambda do `NoContainer` podem ser implantadas em um contêiner do Docker do Greengrass.

Para resolver esse problema, [certifique-se de que todas as funções do Lambda estão no modo `NoContainer`](lambda-group-config.md#change-containerization-lambda) e inicie uma nova implantação. Então, ao iniciar o contêiner, não monte o `deployment` diretório existente no contêiner AWS IoT Greengrass principal do Docker. Em vez disso, crie um diretório `deployment` em seu lugar e salve-o no contêiner do Docker. Isso permite que o novo contêiner do Docker receba a implantação mais recente com funções do Lambda sendo executadas no modo `NoContainer`. 

Para obter mais informações, consulte [Em execução AWS IoT Greengrass em um contêiner Docker](run-gg-in-docker-container.md).

## Solução de problemas com logs
<a name="troubleshooting-logs"></a>

Você pode definir as configurações de registro para um grupo do Greengrass, como enviar registros para CloudWatch Logs, armazenar registros no sistema de arquivos local ou ambos. Para obter informações detalhadas ao solucionar problemas, altere temporariamente o nível de log para `DEBUG`. As alterações nas configurações de registro em log entram em vigor quando você implanta o grupo. Para obter mais informações, consulte [Configurar o registro para AWS IoT Greengrass](greengrass-logs-overview.md#config-logs).

No sistema de arquivos local, AWS IoT Greengrass armazena registros nos seguintes locais. É necessário ter permissões raiz para ler os logs no sistema de arquivos.

`{{greengrass-root}}/ggc/var/log/crash.log`  
Mostra mensagens geradas quando um AWS IoT Greengrass núcleo falha.

`{{greengrass-root}}/ggc/var/log/system/runtime.log`  
Mostra mensagens sobre qual componente apresentou falha.

`{{greengrass-root}}/ggc/var/log/system/`  
Contém todos os registros dos componentes do AWS IoT Greengrass sistema, como o gerenciador de certificados e o gerenciador de conexões. Ao usar as mensagens em `ggc/var/log/system/` e`ggc/var/log/system/runtime.log`, você poderá descobrir qual erro ocorreu nos componentes AWS IoT Greengrass do sistema.

`{{greengrass-root}}/ggc/var/log/system/localwatch/`  
Contém os registros do AWS IoT Greengrass componente que gerencia o upload dos registros do Greengrass para o Logs CloudWatch . Se você não conseguir visualizar os logins do Greengrass CloudWatch, poderá usar esses registros para solucionar problemas.

`{{greengrass-root}}/ggc/var/log/user/`  
Contém todos os logs das funções do Lambda definidas pelo usuário. Marque essa pasta para encontrar mensagens de erro locais de suas funções do Lambda.

**nota**  
Por padrão {{greengrass-root}} é o diretório `/greengrass`. Caso um [diretório de gravação](gg-core.md#write-directory) seja configurado, os logs estão nesse diretório.

Se os registros estiverem configurados para serem armazenados na nuvem, use CloudWatch Registros para ver as mensagens de registro. `crash.log`é encontrado somente nos registros do sistema de arquivos no dispositivo AWS IoT Greengrass principal. 

Se AWS IoT estiver configurado para gravar registros CloudWatch, verifique esses registros se ocorrerem erros de conexão quando os componentes do sistema tentarem se conectar AWS IoT.

Para obter mais informações sobre AWS IoT Greengrass registro em log, consulte[Monitoramento com AWS IoT Greengrass logs](greengrass-logs-overview.md).

**nota**  
Os registros AWS IoT Greengrass do software Core v1.0 são armazenados no `{{greengrass-root}}/var/log` diretório.

## Solução de problemas de armazenamento
<a name="troubleshooting-storage"></a>

Quando o armazenamento de arquivo local estiver cheio, pode ser que alguns componentes comecem a apresentar falha: 
+ As atualizações de shadow locais não ocorrem.
+ Os novos certificados AWS IoT Greengrass principais do servidor MQTT não podem ser baixados localmente.
+ As implantações apresentam falha.

Você sempre deve estar ciente da quantidade de espaço livre disponível localmente. Você pode calcular o espaço livre com base no tamanho das funções do Lambda implantadas, na configuração de registro em log (consulte [Solução de problemas com logs](#troubleshooting-logs)) e no número de shadows armazenados localmente. 

## Solução de problemas com mensagens
<a name="troubleshooting-messages"></a>

Todas as mensagens enviadas localmente AWS IoT Greengrass são enviadas com QoS 0. Por padrão, AWS IoT Greengrass armazena mensagens em uma fila na memória. Portanto, as mensagens não processadas são perdidas quando o núcleo do Greengrass é reiniciado, por exemplo, após a implantação de um grupo ou a reinicialização de um dispositivo. No entanto, você pode configurar AWS IoT Greengrass (v1.6 ou posterior) para armazenar mensagens em cache no sistema de arquivos para que elas persistam nas reinicializações principais. Você também pode configurar o tamanho da fila. Se você configurar um tamanho de fila, verifique se ela é maior que ou igual a 262.144 bytes (256 KB). Caso contrário, AWS IoT Greengrass pode não iniciar corretamente. Para obter mais informações, consulte [Fila de mensagens MQTT para destinos de nuvem](gg-core.md#mqtt-message-queue).

**nota**  
Ao usar o padrão da fila na memória, recomendamos que você implante grupos ou reinicie o dispositivo quando a interrupção do serviço é a mais baixa.

Você também pode configurar o núcleo para estabelecer sessões persistentes com a AWS IoT. Isso permite que o núcleo receba mensagens enviadas Nuvem AWS enquanto o núcleo está offline. Para obter mais informações, consulte [Sessões persistentes do MQTT com AWS IoT Core](gg-core.md#mqtt-persistent-sessions).

## Solução de problemas de intervalo de sincronização de shadow
<a name="troubleshooting-shadow-sync"></a>

Os atrasos significativos na comunicação entre um dispositivo de núcleo do Greengrass e a nuvem podem causar falha na sincronização shadow devido a um tempo limite. Nesse caso, você deve ver entradas de log semelhantes às seguintes:

```
[2017-07-20T10:01:58.006Z][ERROR]-cloud_shadow_client.go:57,Cloud shadow client error: unable to get cloud shadow what_the_thing_is_named for synchronization. Get https://1234567890abcd.iot.us-west-2.amazonaws.com:8443/things/what_the_thing_is_named/shadow: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
[2017-07-20T10:01:58.006Z][WARN]-sync_manager.go:263,Failed to get cloud copy: Get https://1234567890abcd.iot.us-west-2.amazonaws.com:8443/things/what_the_thing_is_named/shadow: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
[2017-07-20T10:01:58.006Z][ERROR]-sync_manager.go:375,Failed to execute sync operation {what_the_thing_is_named VersionDiscontinued []}"
```

Uma possível correção é configurar o intervalo de tempo durante o qual seu dispositivo de núcleo aguardará uma resposta do host. Abra o arquivo [config.json](gg-core.md#config-json) em `{{greengrass-root}}/config` e adicione um campo `system.shadowSyncTimeout` com um valor de tempo limite em segundos. Por exemplo:

```
{
  "system": {
    "shadowSyncTimeout": 10
  },
  "coreThing": {
    "caPath": "root-ca.pem",
    "certPath": "cloud.pem.crt",
    "keyPath": "cloud.pem.key",
    ...
  },
  ...
}
```

Se nenhum valor `shadowSyncTimeout` for especificado em `config.json`, o padrão será de 5 segundos.

**nota**  
Para o software AWS IoT Greengrass Core v1.6 e versões anteriores, o padrão `shadowSyncTimeout` é 1 segundo.

## Verificar AWS re: Post
<a name="troubleshooting-repost"></a>

Se você não conseguir resolver seu problema usando as informações de solução de problemas deste tópico, você pode pesquisar [Solução de problemas AWS IoT Greengrass](#gg-troubleshooting) ou verificar a [AWS IoT Greengrass tag no AWS re:POST](https://repost.aws/tags/TA4ckIed1sR4enZBey29rKTg/aws-io-t-greengrass) para problemas relacionados ou postar uma nova pergunta. Os membros da AWS IoT Greengrass equipe monitoram ativamente o AWS re:POST.