View a markdown version of this page

Gerenciador de logs - AWS IoT Greengrass

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á.

Gerenciador de logs

Atenção

Recomendamos fazer o upgrade para o Log manager v2.3.5 ou posterior. A versão 2.3.5 otimiza as gravações de configuração do gerenciador de registros, reduzindo as operações de E/S e melhorando a velocidade de upload de registros, o desempenho geral do dispositivo e possivelmente estendendo a vida útil do dispositivo.

O componente Log manager (aws.greengrass.LogManager) carrega registros dos AWS IoT Greengrass principais dispositivos para o Amazon CloudWatch Logs. É possível carregar logs do núcleo ou de outros componentes do Greengrass e de outras aplicações e serviços que não sejam componentes do Greengrass. Para obter mais informações sobre como monitorar registros nos CloudWatch registros e no sistema de arquivos local, consulteMonitore AWS IoT Greengrass logs.

As considerações a seguir se aplicam quando você usa o componente gerenciador de CloudWatch registros para gravar em registros:

  • Atrasos no log

    O componente Gerenciador de registros versão 2.2.8 (e anteriores) processa e carrega registros somente de arquivos de log rotacionados. Por padrão, o software AWS IoT Greengrass Core gira os arquivos de log a cada hora ou depois de atingirem 1.024 KB. Como resultado, o componente Log Manager carrega registros somente depois que o software AWS IoT Greengrass Core ou um componente do Greengrass grava mais de 1.024 KB de registros. É possível configurar um limite menor para o tamanho dos arquivos de log para que rotacionem com mais frequência. Isso faz com que o componente Gerenciador de registros faça upload de registros para o CloudWatch Logs com mais frequência.

    O componente Gerenciador de registros versão 2.3.0 (e posterior) processa e carrega todos os registros. Quando você grava um novo log, o Log Manager versão 2.3.0 (e posterior) processa e carrega diretamente esse arquivo de log ativo em vez de esperar que ele seja girado. Isso significa que você pode ver o novo log em cinco minutos ou menos.

    O componente Gerenciador de registros carrega novos registros periodicamente. Por padrão, o componente Gerenciador de registros carrega novos registros a cada 5 minutos. Você pode configurar um intervalo de upload menor, para que o componente Gerenciador de registros faça upload de CloudWatch registros para o Logs com mais frequência configurando o. periodicUploadIntervalSec Para obter mais informações sobre como configurar esse intervalo periódico, consulte Configuração.

    Os logs podem ser carregados quase em tempo real a partir do mesmo sistema de arquivos do Greengrass. Se você precisar observar os logs em tempo real, verifique se é possível usar os logs do sistema de arquivos.

    nota

    Se você estiver usando sistemas de arquivos diferentes para gravar registros, o Gerenciador de registros retornará ao comportamento nas versões 2.2.8 e anteriores do componente Gerenciador de registros. Para obter informações sobre como acessar logs do sistema de arquivos, consulte Acessar logs do sistema de arquivos.

  • Distorção do relógio

    O componente Gerenciador de registros usa o processo de assinatura padrão Signature versão 4 para criar solicitações de API para CloudWatch registros. Se a hora do sistema em um dispositivo principal estiver fora de sincronia por mais de 15 minutos, o CloudWatch Logs rejeitará as solicitações. Para obter mais informações, consulte Processo de assinatura do Signature versão 4 na Referência geral da AWS.

Para obter informações sobre os grupos e fluxos de logs para os quais esse componente carrega logs, consulte Usage.

Versões

Esse componente tem as seguintes versões:

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

Tipo

Este componente é um componente de plug-in (aws.greengrass.plugin). O Greengrass nucleus executa esse componente na mesma Java Virtual Machine (JVM) do núcleo. O núcleo é reiniciado quando você altera a versão desse componente no dispositivo principal.

Esse componente usa o mesmo arquivo de log do Greengrass nucleus. Para obter mais informações, consulte Monitore AWS IoT Greengrass logs.

Para obter mais informações, consulte Tipos de componente.

Sistema operacional

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:

  • Linux

  • Windows

Requisitos

Esse componente tem os seguintes requisitos:

  • A função de dispositivo do Greengrass precisa permitir as ações logs:CreateLogGroup, logs:CreateLogStream, logs:PutLogEvents e logs:DescribeLogStreams, conforme mostrado no seguinte exemplo de política do IAM.

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

    A função de dispositivo do Greengrass que você cria ao instalar o software AWS IoT Greengrass Core inclui as permissões neste exemplo de política por padrão.

    Para obter mais informações, consulte Uso de políticas baseadas em identidade (políticas do IAM) para CloudWatch registros no Guia do usuário do Amazon CloudWatch Logs.

  • O componente Log manager tem suporte para ser executado em uma VPC. Para implantá-lo em uma VPC, o procedimento a seguir é necessário.

    • O componente do gerenciador de registros deve ter conectividade com logs.region.amazonaws.com o endpoint VPC de. com.amazonaws.us-east-1.logs

Endpoints e portas

Esse componente precisa ser capaz de realizar solicitações de saída para os endpoints e portas a seguir, além dos endpoints e portas necessários para a operação básica. Para obter mais informações, consulte Permitir o tráfego de dispositivos por meio de um proxy ou firewall.

Endpoint Porta Obrigatório Description

logs.region.amazonaws.com

443 Não

Obrigatório se você gravar registros em CloudWatch Logs.

Dependências

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das versões lançadas desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no console do AWS IoT Greengrass. Na página de detalhes do componente, procure a lista de dependências.

2.3.13 and 2.3.14

A tabela a seguir lista as dependências das versões 2.3.13 e 2.3.14 desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus > =2,10 <2,1,0 Flexível
2.3.12

A tabela a seguir lista as dependências da versão 2.3.12 desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus > =2,10 <2,18,0 Flexível
2.3.11

A tabela a seguir lista as dependências da versão 2.3.11 desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus > =2,10 <2,17.0 Flexível
2.3.10

A tabela a seguir lista as dependências da versão 2.3.10 desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus > =2,10 <2,1,0 Flexível
2.3.9

A tabela a seguir lista as dependências da versão 2.3.9 desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus > =2,10 <2,15,0 Flexível
2.3.8

A seguinte tabela lista as dependências da versão 2.3.8 desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus >=2.1.0 <2.14.0 Flexível
2.3.7

A tabela a seguir lista as dependências da versão 2.3.7 desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus >=2.1.0 <2.13.0 Flexível
2.3.5 and 2.3.6

A tabela a seguir lista as dependências das versões 2.3.5 e 2.3.6 desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus >=2.1.0 <2.12.0 Flexível
2.3.3 – 2.3.4

A tabela a seguir lista as dependências das versões 2.3.3 e 2.3.4 desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus >=2.1.0 <2.11.0 Flexível
2.2.8 – 2.3.2

A tabela a seguir lista as dependências das versões 2.2.8 e 2.3.2 desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus >=2.1.0 <2.10.0 Flexível
2.2.7

A tabela a seguir lista as dependências da versão 2.2.7 desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus >=2.1.0 <2.9.0 Flexível
2.2.6

A tabela a seguir lista as dependências da versão 2.2.6 desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus >=2.1.0 <2.8.0 Flexível
2.2.5

A tabela a seguir lista as dependências da versão 2.2.5 desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus >=2.1.0 <2.7.0 Flexível
2.2.1 - 2.2.4

A tabela a seguir lista as dependências das versões 2.2.1 e 2.2.4 desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus >=2.1.0 <2.6.0 Flexível
2.1.3 and 2.2.0

A tabela a seguir lista as dependências das versões 2.1.3 e 2.2.0 desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus >=2.1.0 <2.5.0 Flexível
2.1.2

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus >=2.1.0 <2.4.0 Flexível
2.1.1

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus >=2.1.0 <2.3.0 Flexível
2.1.0

A tabela a seguir lista as dependências da versão 2.1.0 desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus >=2.1.0 <2.2.0 Flexível
2.0.x

A seguinte tabela lista as dependências da versão 2.0.x desse componente.

Dependência Versões compatíveis Tipo de dependência
Greengrass nucleus >=2.0.3 <2.1.0 Flexível

Para obter mais informações sobre as dependências dos componentes, consulte referência de fórmula do componente.

Configuração

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

v2.3.10
logsUploaderConfiguration

(Opcional) A configuração dos registros que o componente Log Manager carrega. Esse objeto contém as informações a seguir:

systemLogsConfiguration

(Opcional) A configuração dos registros do sistema de software AWS IoT Greengrass Core, que incluem registros do núcleo do Greengrass e dos componentes do plug-in. Especifique essa configuração para permitir que o componente Gerenciador de registros gerencie os registros do sistema. Esse objeto contém as informações a seguir:

uploadToCloudWatch

(Opcional) Você pode fazer upload dos registros do sistema para CloudWatch os registros.

Padrão: false

minimumLogLevel

(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se você configurar o componente de Greengrass nucleus para gerar logs no formato JSON. Para ativar os logs no formato JSON, especifique JSON no parâmetro de formato do registro em log (logging.format).

Escolha entre os seguintes níveis de log, ordenados por nível:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Padrão: INFO

diskSpaceLimit

(Opcional) O tamanho total máximo dos arquivos de log do sistema Greengrass, na unidade especificada em diskSpaceLimitUnit. Depois que o tamanho total dos arquivos de log do sistema Greengrass exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos do sistema Greengrass.

Esse parâmetro é equivalente ao parâmetro de limite de tamanho de log (totalLogsSizeKB) do componente do Greengrass nucleus. O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log do sistema Greengrass.

diskSpaceLimitUnit

(Opcional) A unidade para o diskSpaceLimit. Escolha uma das seguintes opções:

  • KB: kilobytes

  • MB: megabytes

  • GB: gigabytes

Padrão: KB

deleteLogFileAfterCloudUpload

(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.

Padrão: false

componentLogsConfigurationMap

(Opcional) Um mapa das configurações de log para componentes no dispositivo principal. Cada objeto componentName nesse mapa define a configuração de log para o componente ou a aplicação. O componente Gerenciador de registros carrega esses registros de componentes para o CloudWatch Logs.

Importante

Recomenda-se enfaticamente o uso de uma única chave de configuração por componente. É necessário ter como alvo somente um grupo de arquivos que tenha apenas um arquivo de log que esteja sendo gravado ativamente ao usar o logFileRegex. Não seguir essa recomendação pode fazer com que registros duplicados sejam enviados para o. CloudWatch Se você tem como alvo vários arquivos de log ativos com um único regex, recomendamos que você atualize para o Log manager v2.3.1 ou posterior e considere alterar sua configuração usando a configuração de exemplo.

nota

Se você estiver atualizando de uma versão do Log Manager anterior à v2.2.0, poderá continuar usando a componentLogsConfiguration lista em vez de. componentLogsConfigurationMap No entanto, recomendamos enfaticamente o uso do formato de mapa para poder mesclar e reconfigurar as atualizações para modificar as configurações de componentes específicos. Para obter informações sobre o parâmetro componentLogsConfiguration, consulte os parâmetros de configuração da versão 2.1.x desse componente.

componentName

A configuração de log para o componente componentName ou da aplicação para essa configuração de log. É possível especificar o nome de um componente do Greengrass ou outro valor para identificar esse grupo de logs.

Esse objeto contém as seguintes informações:

minimumLogLevel

(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se os registros desse componente usarem um formato JSON específico, que você pode encontrar no repositório do módulo de AWS IoT Greengrass registro em. GitHub

Escolha entre os seguintes níveis de log, ordenados por nível:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Padrão: INFO

diskSpaceLimit

(Opcional) O tamanho total máximo dos arquivos de log desse componente, na unidade especificada em diskSpaceLimitUnit. Depois que o tamanho total dos arquivos de log desse componente exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos desse componente.

Esse parâmetro está relacionado ao parâmetro de limite de tamanho de log (totalLogsSizeKB) do componente do Greengrass nucleus. O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log desse componente.

diskSpaceLimitUnit

(Opcional) A unidade para o diskSpaceLimit. Escolha uma das seguintes opções:

  • KB: kilobytes

  • MB: megabytes

  • GB: gigabytes

Padrão: KB

logFileDirectoryPath

(Opcional) O caminho para a pasta que contém os arquivos de log desse componente.

Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).

Padrão: /greengrass/v2/logs.

logFileRegex

(Opcional) Uma expressão regular que especifica o formato do nome do arquivo de log usado pelo componente ou aplicação. O componente do gerenciador de logs usa essa expressão regular para identificar arquivos de log na pasta em logFileDirectoryPath.

Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).

Se seu componente ou aplicação rotacionar arquivos de log, especifique uma expressão regular que corresponda aos nomes dos arquivos de log rotacionados. Por exemplo, é possível especificar hello_world\\\\w*.log para carregar logs em uma aplicação Hello World. O padrão \\\\w* corresponde a zero ou mais caracteres de palavras, o que inclui caracteres alfanuméricos e sublinhados. Essa expressão regular corresponde aos arquivos de log com e sem carimbos de data e hora em seus nomes. Neste exemplo, o gerenciador de logs carrega os seguintes arquivos de log:

  • hello_world.log: o arquivo de log mais recente da aplicação Hello World.

  • hello_world_2020_12_15_17_0.log: um arquivo de log mais antigo para a aplicação Hello World.

Padrão:componentName\\\\w*.log, onde componentName é o nome do componente para essa configuração de log.

deleteLogFileAfterCloudUpload

(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.

Padrão: false

multiLineStartPattern

(Opcional) Uma expressão regular que identifica quando uma mensagem de log em uma nova linha é uma nova mensagem de log. Se a expressão regular não corresponder à nova linha, o componente do gerenciador de logs anexará a nova linha à mensagem de log da linha anterior.

Por padrão, o componente do gerenciador de logs verifica se a linha começa com um caractere de espaço em branco, como uma tabulação ou espaço. Caso contrário, o gerenciador de logs trata essa linha como uma nova mensagem de log. Caso contrário, ele anexa essa linha à mensagem de log atual. Esse comportamento garante que o componente do gerenciador de logs não divida mensagens que se estendem por várias linhas, como rastreamentos de pilha.

periodicUploadIntervalSec

(Opcional) O período em segundos no qual o componente do gerenciador de logs verifica se há novos arquivos de log a serem carregados.

Padrão: 300 (5 minutos)

Mínimo: 0.000001 (1 microssegundo)

updateToTlogIntervalSec

(Opcional) O período, em segundos, da frequência com que o Nucleus grava detalhes de eventos de upload de log do Amazon CloudWatch Events no log de transações local (config.tlog). O padrão é o valor especificado em periodicUploadIntervalSec. É possível modificar esse parâmetro para aumentar o intervalo de gravação.

Padrão: periodicUploadIntervalSec

Mínimo: periodicUploadIntervalSec

deprecatedVersionSupport

Indica se o gerenciador de registros deve usar as melhorias de velocidade de registro introduzidas no Gerenciador de registros v2.3.5. Defina o valor false para usar as melhorias.

Se você definir esse valor para false quando fizer o upgrade do Log Manager v2.3.1 ou anterior, entradas de registro duplicadas poderão ser carregadas.

O padrão é true.

exemplo Exemplo: atualização da mesclagem de configuração

O exemplo de configuração a seguir especifica o upload dos registros do sistema e dos com.example.HelloWorld componentes para os CloudWatch registros.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true", "minimumLogLevel": "INFO", "diskSpaceLimit": "10", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" }, "componentLogsConfigurationMap": { "com.example.HelloWorld": { "minimumLogLevel": "INFO", "diskSpaceLimit": "20", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" } } }, "periodicUploadIntervalSec": "300", "deprecatedVersionSupport": "false" }
exemplo Exemplo: Configuração para carregar vários arquivos de log ativos usando o Log manager v2.3.1

O exemplo de configuração a seguir é recomendado se você quiser segmentar vários arquivos de log ativos. Esse exemplo de configuração especifica para quais arquivos de log ativos você deseja fazer o upload. CloudWatch Esse exemplo de configuração também carregará todos os arquivos rotacionados que correspondam a logFileRegex. Este exemplo de configuração é compatível com o Log manager v2.3.1.

{ "logsUploaderConfiguration": { "componentLogsConfigurationMap": { "com.example.A": { "logFileRegex": "com.example.A\\w*.log", "deleteLogFileAfterCloudUpload": "false" } "com.example.B": { "logFileRegex": "com.example.B\\w*.log", "deleteLogFileAfterCloudUpload": "false" } } }, "periodicUploadIntervalSec": "10" }
v2.3.6 – v2.3.9
logsUploaderConfiguration

(Opcional) A configuração dos registros que o componente Log Manager carrega. Esse objeto contém as informações a seguir:

systemLogsConfiguration

(Opcional) A configuração dos registros do sistema de software AWS IoT Greengrass Core, que incluem registros do núcleo do Greengrass e dos componentes do plug-in. Especifique essa configuração para permitir que o componente Gerenciador de registros gerencie os registros do sistema. Esse objeto contém as informações a seguir:

uploadToCloudWatch

(Opcional) Você pode fazer upload dos registros do sistema para CloudWatch os registros.

Padrão: false

minimumLogLevel

(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se você configurar o componente de Greengrass nucleus para gerar logs no formato JSON. Para ativar os logs no formato JSON, especifique JSON no parâmetro de formato do registro em log (logging.format).

Escolha entre os seguintes níveis de log, ordenados por nível:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Padrão: INFO

diskSpaceLimit

(Opcional) O tamanho total máximo dos arquivos de log do sistema Greengrass, na unidade especificada em diskSpaceLimitUnit. Depois que o tamanho total dos arquivos de log do sistema Greengrass exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos do sistema Greengrass.

Esse parâmetro é equivalente ao parâmetro de limite de tamanho de log (totalLogsSizeKB) do componente do Greengrass nucleus. O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log do sistema Greengrass.

diskSpaceLimitUnit

(Opcional) A unidade para o diskSpaceLimit. Escolha uma das seguintes opções:

  • KB: kilobytes

  • MB: megabytes

  • GB: gigabytes

Padrão: KB

deleteLogFileAfterCloudUpload

(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.

Padrão: false

componentLogsConfigurationMap

(Opcional) Um mapa das configurações de log para componentes no dispositivo principal. Cada objeto componentName nesse mapa define a configuração de log para o componente ou a aplicação. O componente Gerenciador de registros carrega esses registros de componentes para o CloudWatch Logs.

Importante

Recomenda-se enfaticamente o uso de uma única chave de configuração por componente. É necessário ter como alvo somente um grupo de arquivos que tenha apenas um arquivo de log que esteja sendo gravado ativamente ao usar o logFileRegex. Não seguir essa recomendação pode fazer com que registros duplicados sejam enviados para o. CloudWatch Se você tem como alvo vários arquivos de log ativos com um único regex, recomendamos que você atualize para o Log manager v2.3.1 ou posterior e considere alterar sua configuração usando a configuração de exemplo.

nota

Se você estiver atualizando de uma versão do Log Manager anterior à v2.2.0, poderá continuar usando a componentLogsConfiguration lista em vez de. componentLogsConfigurationMap No entanto, recomendamos enfaticamente o uso do formato de mapa para poder mesclar e reconfigurar as atualizações para modificar as configurações de componentes específicos. Para obter informações sobre o parâmetro componentLogsConfiguration, consulte os parâmetros de configuração da versão 2.1.x desse componente.

componentName

A configuração de log para o componente componentName ou da aplicação para essa configuração de log. É possível especificar o nome de um componente do Greengrass ou outro valor para identificar esse grupo de logs.

Esse objeto contém as seguintes informações:

minimumLogLevel

(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se os registros desse componente usarem um formato JSON específico, que você pode encontrar no repositório do módulo de AWS IoT Greengrass registro em. GitHub

Escolha entre os seguintes níveis de log, ordenados por nível:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Padrão: INFO

diskSpaceLimit

(Opcional) O tamanho total máximo dos arquivos de log desse componente, na unidade especificada em diskSpaceLimitUnit. Depois que o tamanho total dos arquivos de log desse componente exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos desse componente.

Esse parâmetro está relacionado ao parâmetro de limite de tamanho de log (totalLogsSizeKB) do componente do Greengrass nucleus. O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log desse componente.

diskSpaceLimitUnit

(Opcional) A unidade para o diskSpaceLimit. Escolha uma das seguintes opções:

  • KB: kilobytes

  • MB: megabytes

  • GB: gigabytes

Padrão: KB

logFileDirectoryPath

(Opcional) O caminho para a pasta que contém os arquivos de log desse componente.

Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).

Padrão: /greengrass/v2/logs.

logFileRegex

(Opcional) Uma expressão regular que especifica o formato do nome do arquivo de log usado pelo componente ou aplicação. O componente do gerenciador de logs usa essa expressão regular para identificar arquivos de log na pasta em logFileDirectoryPath.

Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).

Se seu componente ou aplicação rotacionar arquivos de log, especifique uma expressão regular que corresponda aos nomes dos arquivos de log rotacionados. Por exemplo, é possível especificar hello_world\\\\w*.log para carregar logs em uma aplicação Hello World. O padrão \\\\w* corresponde a zero ou mais caracteres de palavras, o que inclui caracteres alfanuméricos e sublinhados. Essa expressão regular corresponde aos arquivos de log com e sem carimbos de data e hora em seus nomes. Neste exemplo, o gerenciador de logs carrega os seguintes arquivos de log:

  • hello_world.log: o arquivo de log mais recente da aplicação Hello World.

  • hello_world_2020_12_15_17_0.log: um arquivo de log mais antigo para a aplicação Hello World.

Padrão:componentName\\\\w*.log, onde componentName é o nome do componente para essa configuração de log.

deleteLogFileAfterCloudUpload

(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.

Padrão: false

multiLineStartPattern

(Opcional) Uma expressão regular que identifica quando uma mensagem de log em uma nova linha é uma nova mensagem de log. Se a expressão regular não corresponder à nova linha, o componente do gerenciador de logs anexará a nova linha à mensagem de log da linha anterior.

Por padrão, o componente do gerenciador de logs verifica se a linha começa com um caractere de espaço em branco, como uma tabulação ou espaço. Caso contrário, o gerenciador de logs trata essa linha como uma nova mensagem de log. Caso contrário, ele anexa essa linha à mensagem de log atual. Esse comportamento garante que o componente do gerenciador de logs não divida mensagens que se estendem por várias linhas, como rastreamentos de pilha.

periodicUploadIntervalSec

(Opcional) O período em segundos no qual o componente do gerenciador de logs verifica se há novos arquivos de log a serem carregados.

Padrão: 300 (5 minutos)

Mínimo: 0.000001 (1 microssegundo)

deprecatedVersionSupport

Indica se o gerenciador de registros deve usar as melhorias de velocidade de registro introduzidas no Gerenciador de registros v2.3.5. Defina o valor false para usar as melhorias.

Se você definir esse valor para false quando fizer o upgrade do Log Manager v2.3.1 ou anterior, entradas de registro duplicadas poderão ser carregadas.

O padrão é true.

exemplo Exemplo: atualização da mesclagem de configuração

O exemplo de configuração a seguir especifica o upload dos registros do sistema e dos com.example.HelloWorld componentes para os CloudWatch registros.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true", "minimumLogLevel": "INFO", "diskSpaceLimit": "10", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" }, "componentLogsConfigurationMap": { "com.example.HelloWorld": { "minimumLogLevel": "INFO", "diskSpaceLimit": "20", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" } } }, "periodicUploadIntervalSec": "300", "deprecatedVersionSupport": "false" }
exemplo Exemplo: Configuração para carregar vários arquivos de log ativos usando o Log manager v2.3.1

O exemplo de configuração a seguir é recomendado se você quiser segmentar vários arquivos de log ativos. Esse exemplo de configuração especifica para quais arquivos de log ativos você deseja fazer o upload. CloudWatch Esse exemplo de configuração também carregará todos os arquivos rotacionados que correspondam a logFileRegex. Este exemplo de configuração é compatível com o Log manager v2.3.1.

{ "logsUploaderConfiguration": { "componentLogsConfigurationMap": { "com.example.A": { "logFileRegex": "com.example.A\\w*.log", "deleteLogFileAfterCloudUpload": "false" } "com.example.B": { "logFileRegex": "com.example.B\\w*.log", "deleteLogFileAfterCloudUpload": "false" } } }, "periodicUploadIntervalSec": "10" }
v2.3.0 – 2.3.5
logsUploaderConfiguration

(Opcional) A configuração dos registros que o componente Log Manager carrega. Esse objeto contém as informações a seguir:

systemLogsConfiguration

(Opcional) A configuração dos registros do sistema de software AWS IoT Greengrass Core, que incluem registros do núcleo do Greengrass e dos componentes do plug-in. Especifique essa configuração para permitir que o componente Gerenciador de registros gerencie os registros do sistema. Esse objeto contém as informações a seguir:

uploadToCloudWatch

(Opcional) Você pode fazer upload dos registros do sistema para CloudWatch os registros.

Padrão: false

minimumLogLevel

(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se você configurar o componente de Greengrass nucleus para gerar logs no formato JSON. Para ativar os logs no formato JSON, especifique JSON no parâmetro de formato do registro em log (logging.format).

Escolha entre os seguintes níveis de log, ordenados por nível:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Padrão: INFO

diskSpaceLimit

(Opcional) O tamanho total máximo dos arquivos de log do sistema Greengrass, na unidade especificada em diskSpaceLimitUnit. Depois que o tamanho total dos arquivos de log do sistema Greengrass exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos do sistema Greengrass.

Esse parâmetro é equivalente ao parâmetro de limite de tamanho de log (totalLogsSizeKB) do componente do Greengrass nucleus. O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log do sistema Greengrass.

diskSpaceLimitUnit

(Opcional) A unidade para o diskSpaceLimit. Escolha uma das seguintes opções:

  • KB: kilobytes

  • MB: megabytes

  • GB: gigabytes

Padrão: KB

deleteLogFileAfterCloudUpload

(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.

Padrão: false

componentLogsConfigurationMap

(Opcional) Um mapa das configurações de log para componentes no dispositivo principal. Cada objeto componentName nesse mapa define a configuração de log para o componente ou a aplicação. O componente Gerenciador de registros carrega esses registros de componentes para o CloudWatch Logs.

Importante

Recomenda-se enfaticamente o uso de uma única chave de configuração por componente. É necessário ter como alvo somente um grupo de arquivos que tenha apenas um arquivo de log que esteja sendo gravado ativamente ao usar o logFileRegex. Não seguir essa recomendação pode fazer com que registros duplicados sejam enviados para o. CloudWatch Se você tem como alvo vários arquivos de log ativos com um único regex, recomendamos que você atualize para o Log manager v2.3.1 e considere alterar sua configuração usando a configuração de exemplo.

nota

Se você estiver atualizando de uma versão do Log Manager anterior à v2.2.0, poderá continuar usando a componentLogsConfiguration lista em vez de. componentLogsConfigurationMap No entanto, recomendamos enfaticamente o uso do formato de mapa para poder mesclar e reconfigurar as atualizações para modificar as configurações de componentes específicos. Para obter informações sobre o parâmetro componentLogsConfiguration, consulte os parâmetros de configuração da versão 2.1.x desse componente.

componentName

A configuração de log para o componente componentName ou da aplicação para essa configuração de log. É possível especificar o nome de um componente do Greengrass ou outro valor para identificar esse grupo de logs.

Esse objeto contém as seguintes informações:

minimumLogLevel

(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se os registros desse componente usarem um formato JSON específico, que você pode encontrar no repositório do módulo de AWS IoT Greengrass registro em. GitHub

Escolha entre os seguintes níveis de log, ordenados por nível:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Padrão: INFO

diskSpaceLimit

(Opcional) O tamanho total máximo dos arquivos de log desse componente, na unidade especificada em diskSpaceLimitUnit. Depois que o tamanho total dos arquivos de log desse componente exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos desse componente.

Esse parâmetro está relacionado ao parâmetro de limite de tamanho de log (totalLogsSizeKB) do componente do Greengrass nucleus. O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log desse componente.

diskSpaceLimitUnit

(Opcional) A unidade para o diskSpaceLimit. Escolha uma das seguintes opções:

  • KB: kilobytes

  • MB: megabytes

  • GB: gigabytes

Padrão: KB

logFileDirectoryPath

(Opcional) O caminho para a pasta que contém os arquivos de log desse componente.

Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).

Padrão: /greengrass/v2/logs.

logFileRegex

(Opcional) Uma expressão regular que especifica o formato do nome do arquivo de log usado pelo componente ou aplicação. O componente do gerenciador de logs usa essa expressão regular para identificar arquivos de log na pasta em logFileDirectoryPath.

Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).

Se seu componente ou aplicação rotacionar arquivos de log, especifique uma expressão regular que corresponda aos nomes dos arquivos de log rotacionados. Por exemplo, é possível especificar hello_world\\\\w*.log para carregar logs em uma aplicação Hello World. O padrão \\\\w* corresponde a zero ou mais caracteres de palavras, o que inclui caracteres alfanuméricos e sublinhados. Essa expressão regular corresponde aos arquivos de log com e sem carimbos de data e hora em seus nomes. Neste exemplo, o gerenciador de logs carrega os seguintes arquivos de log:

  • hello_world.log: o arquivo de log mais recente da aplicação Hello World.

  • hello_world_2020_12_15_17_0.log: um arquivo de log mais antigo para a aplicação Hello World.

Padrão:componentName\\\\w*.log, onde componentName é o nome do componente para essa configuração de log.

deleteLogFileAfterCloudUpload

(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.

Padrão: false

multiLineStartPattern

(Opcional) Uma expressão regular que identifica quando uma mensagem de log em uma nova linha é uma nova mensagem de log. Se a expressão regular não corresponder à nova linha, o componente do gerenciador de logs anexará a nova linha à mensagem de log da linha anterior.

Por padrão, o componente do gerenciador de logs verifica se a linha começa com um caractere de espaço em branco, como uma tabulação ou espaço. Caso contrário, o gerenciador de logs trata essa linha como uma nova mensagem de log. Caso contrário, ele anexa essa linha à mensagem de log atual. Esse comportamento garante que o componente do gerenciador de logs não divida mensagens que se estendem por várias linhas, como rastreamentos de pilha.

periodicUploadIntervalSec

(Opcional) O período em segundos no qual o componente do gerenciador de logs verifica se há novos arquivos de log a serem carregados.

Padrão: 300 (5 minutos)

Mínimo: 0.000001 (1 microssegundo)

exemplo Exemplo: atualização da mesclagem de configuração

O exemplo de configuração a seguir especifica o upload dos registros do sistema e dos com.example.HelloWorld componentes para os CloudWatch registros.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true", "minimumLogLevel": "INFO", "diskSpaceLimit": "10", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" }, "componentLogsConfigurationMap": { "com.example.HelloWorld": { "minimumLogLevel": "INFO", "diskSpaceLimit": "20", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" } } }, "periodicUploadIntervalSec": "300" }
exemplo Exemplo: Configuração para carregar vários arquivos de log ativos usando o Log manager v2.3.1

O exemplo de configuração a seguir é recomendado se você quiser segmentar vários arquivos de log ativos. Esse exemplo de configuração especifica para quais arquivos de log ativos você deseja fazer o upload. CloudWatch Esse exemplo de configuração também carregará todos os arquivos rotacionados que correspondam a logFileRegex. Este exemplo de configuração é compatível com o Log manager v2.3.1.

{ "logsUploaderConfiguration": { "componentLogsConfigurationMap": { "com.example.A": { "logFileRegex": "com.example.A\\w*.log", "deleteLogFileAfterCloudUpload": "false" } "com.example.B": { "logFileRegex": "com.example.B\\w*.log", "deleteLogFileAfterCloudUpload": "false" } } }, "periodicUploadIntervalSec": "10" }
v2.2.x
logsUploaderConfiguration

(Opcional) A configuração dos registros que o componente Log Manager carrega. Esse objeto contém as informações a seguir:

systemLogsConfiguration

(Opcional) A configuração dos registros do sistema de software AWS IoT Greengrass Core, que incluem registros do núcleo do Greengrass e dos componentes do plug-in. Especifique essa configuração para permitir que o componente Gerenciador de registros gerencie os registros do sistema. Esse objeto contém as informações a seguir:

uploadToCloudWatch

(Opcional) Você pode fazer upload dos registros do sistema para CloudWatch os registros.

Padrão: false

minimumLogLevel

(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se você configurar o componente de Greengrass nucleus para gerar logs no formato JSON. Para ativar os logs no formato JSON, especifique JSON no parâmetro de formato do registro em log (logging.format).

Escolha entre os seguintes níveis de log, ordenados por nível:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Padrão: INFO

diskSpaceLimit

(Opcional) O tamanho total máximo dos arquivos de log do sistema Greengrass, na unidade especificada em diskSpaceLimitUnit. Depois que o tamanho total dos arquivos de log do sistema Greengrass exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos do sistema Greengrass.

Esse parâmetro é equivalente ao parâmetro de limite de tamanho de log (totalLogsSizeKB) do componente do Greengrass nucleus. O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log do sistema Greengrass.

diskSpaceLimitUnit

(Opcional) A unidade para o diskSpaceLimit. Escolha uma das seguintes opções:

  • KB: kilobytes

  • MB: megabytes

  • GB: gigabytes

Padrão: KB

deleteLogFileAfterCloudUpload

(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.

Padrão: false

componentLogsConfigurationMap

(Opcional) Um mapa das configurações de log para componentes no dispositivo principal. Cada objeto componentName nesse mapa define a configuração de log para o componente ou a aplicação. O componente Gerenciador de registros carrega esses registros de componentes para o CloudWatch Logs.

nota

Se você estiver atualizando de uma versão do Log Manager anterior à v2.2.0, poderá continuar usando a componentLogsConfiguration lista em vez de. componentLogsConfigurationMap No entanto, recomendamos enfaticamente o uso do formato de mapa para poder mesclar e reconfigurar as atualizações para modificar as configurações de componentes específicos. Para obter informações sobre o parâmetro componentLogsConfiguration, consulte os parâmetros de configuração da versão 2.1.x desse componente.

componentName

A configuração de log para o componente componentName ou da aplicação para essa configuração de log. É possível especificar o nome de um componente do Greengrass ou outro valor para identificar esse grupo de logs.

Esse objeto contém as seguintes informações:

minimumLogLevel

(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se os registros desse componente usarem um formato JSON específico, que você pode encontrar no repositório do módulo de AWS IoT Greengrass registro em. GitHub

Escolha entre os seguintes níveis de log, ordenados por nível:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Padrão: INFO

diskSpaceLimit

(Opcional) O tamanho total máximo dos arquivos de log desse componente, na unidade especificada em diskSpaceLimitUnit. Depois que o tamanho total dos arquivos de log desse componente exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos desse componente.

Esse parâmetro está relacionado ao parâmetro de limite de tamanho de log (totalLogsSizeKB) do componente do Greengrass nucleus. O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log desse componente.

diskSpaceLimitUnit

(Opcional) A unidade para o diskSpaceLimit. Escolha uma das seguintes opções:

  • KB: kilobytes

  • MB: megabytes

  • GB: gigabytes

Padrão: KB

logFileDirectoryPath

(Opcional) O caminho para a pasta que contém os arquivos de log desse componente.

Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).

Padrão: /greengrass/v2/logs.

logFileRegex

(Opcional) Uma expressão regular que especifica o formato do nome do arquivo de log usado pelo componente ou aplicação. O componente do gerenciador de logs usa essa expressão regular para identificar arquivos de log na pasta em logFileDirectoryPath.

Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).

Se seu componente ou aplicação rotacionar arquivos de log, especifique uma expressão regular que corresponda aos nomes dos arquivos de log rotacionados. Por exemplo, é possível especificar hello_world\\\\w*.log para carregar logs em uma aplicação Hello World. O padrão \\\\w* corresponde a zero ou mais caracteres de palavras, o que inclui caracteres alfanuméricos e sublinhados. Essa expressão regular corresponde aos arquivos de log com e sem carimbos de data e hora em seus nomes. Neste exemplo, o gerenciador de logs carrega os seguintes arquivos de log:

  • hello_world.log: o arquivo de log mais recente da aplicação Hello World.

  • hello_world_2020_12_15_17_0.log: um arquivo de log mais antigo para a aplicação Hello World.

Padrão:componentName\\\\w*.log, onde componentName é o nome do componente para essa configuração de log.

deleteLogFileAfterCloudUpload

(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.

Padrão: false

multiLineStartPattern

(Opcional) Uma expressão regular que identifica quando uma mensagem de log em uma nova linha é uma nova mensagem de log. Se a expressão regular não corresponder à nova linha, o componente do gerenciador de logs anexará a nova linha à mensagem de log da linha anterior.

Por padrão, o componente do gerenciador de logs verifica se a linha começa com um caractere de espaço em branco, como uma tabulação ou espaço. Caso contrário, o gerenciador de logs trata essa linha como uma nova mensagem de log. Caso contrário, ele anexa essa linha à mensagem de log atual. Esse comportamento garante que o componente do gerenciador de logs não divida mensagens que se estendem por várias linhas, como rastreamentos de pilha.

periodicUploadIntervalSec

(Opcional) O período em segundos no qual o componente do gerenciador de logs verifica se há novos arquivos de log a serem carregados.

Padrão: 300 (5 minutos)

Mínimo: 0.000001 (1 microssegundo)

exemplo Exemplo: atualização da mesclagem de configuração

O exemplo de configuração a seguir especifica o upload dos registros do sistema e dos com.example.HelloWorld componentes para os CloudWatch registros.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true", "minimumLogLevel": "INFO", "diskSpaceLimit": "10", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" }, "componentLogsConfigurationMap": { "com.example.HelloWorld": { "minimumLogLevel": "INFO", "diskSpaceLimit": "20", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" } } }, "periodicUploadIntervalSec": "300" }
v2.1.x
logsUploaderConfiguration

(Opcional) A configuração dos registros que o componente Log Manager carrega. Esse objeto contém as informações a seguir:

systemLogsConfiguration

(Opcional) A configuração dos registros do sistema de software AWS IoT Greengrass Core, que incluem registros do núcleo do Greengrass e dos componentes do plug-in. Especifique essa configuração para permitir que o componente Gerenciador de registros gerencie os registros do sistema. Esse objeto contém as informações a seguir:

uploadToCloudWatch

(Opcional) Você pode fazer upload dos registros do sistema para CloudWatch os registros.

Padrão: false

minimumLogLevel

(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se você configurar o componente de Greengrass nucleus para gerar logs no formato JSON. Para ativar os logs no formato JSON, especifique JSON no parâmetro de formato do registro em log (logging.format).

Escolha entre os seguintes níveis de log, ordenados por nível:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Padrão: INFO

diskSpaceLimit

(Opcional) O tamanho total máximo dos arquivos de log do sistema Greengrass, na unidade especificada em diskSpaceLimitUnit. Depois que o tamanho total dos arquivos de log do sistema Greengrass exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos do sistema Greengrass.

Esse parâmetro é equivalente ao parâmetro de limite de tamanho de log (totalLogsSizeKB) do componente do Greengrass nucleus. O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log do sistema Greengrass.

diskSpaceLimitUnit

(Opcional) A unidade para o diskSpaceLimit. Escolha uma das seguintes opções:

  • KB: kilobytes

  • MB: megabytes

  • GB: gigabytes

Padrão: KB

deleteLogFileAfterCloudUpload

(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.

Padrão: false

componentLogsConfiguration

(Opcional) Uma lista de configurações de log para componentes no dispositivo principal. Cada configuração nessa lista define a configuração de log de um componente ou aplicação. O componente Gerenciador de registros carrega esses registros de componentes para CloudWatch o Logs.

Esse objeto contém as seguintes informações:

componentName

O nome do componente ou da aplicação para essa configuração de log. É possível especificar o nome de um componente do Greengrass ou outro valor para identificar esse grupo de logs.

minimumLogLevel

(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se os registros desse componente usarem um formato JSON específico, que você pode encontrar no repositório do módulo de AWS IoT Greengrass registro em. GitHub

Escolha entre os seguintes níveis de log, ordenados por nível:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Padrão: INFO

diskSpaceLimit

(Opcional) O tamanho total máximo dos arquivos de log desse componente, na unidade especificada em diskSpaceLimitUnit. Depois que o tamanho total dos arquivos de log desse componente exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos desse componente.

Esse parâmetro está relacionado ao parâmetro de limite de tamanho de log (totalLogsSizeKB) do componente do Greengrass nucleus. O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log desse componente.

diskSpaceLimitUnit

(Opcional) A unidade para o diskSpaceLimit. Escolha uma das seguintes opções:

  • KB: kilobytes

  • MB: megabytes

  • GB: gigabytes

Padrão: KB

logFileDirectoryPath

(Opcional) O caminho para a pasta que contém os arquivos de log desse componente.

Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).

Padrão: /greengrass/v2/logs.

logFileRegex

(Opcional) Uma expressão regular que especifica o formato do nome do arquivo de log usado pelo componente ou aplicação. O componente do gerenciador de logs usa essa expressão regular para identificar arquivos de log na pasta em logFileDirectoryPath.

Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).

Se seu componente ou aplicação rotacionar arquivos de log, especifique uma expressão regular que corresponda aos nomes dos arquivos de log rotacionados. Por exemplo, é possível especificar hello_world\\\\w*.log para carregar logs em uma aplicação Hello World. O padrão \\\\w* corresponde a zero ou mais caracteres de palavras, o que inclui caracteres alfanuméricos e sublinhados. Essa expressão regular corresponde aos arquivos de log com e sem carimbos de data e hora em seus nomes. Neste exemplo, o gerenciador de logs carrega os seguintes arquivos de log:

  • hello_world.log: o arquivo de log mais recente da aplicação Hello World.

  • hello_world_2020_12_15_17_0.log: um arquivo de log mais antigo para a aplicação Hello World.

Padrão:componentName\\\\w*.log, onde componentName é o nome do componente para essa configuração de log.

deleteLogFileAfterCloudUpload

(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.

Padrão: false

multiLineStartPattern

(Opcional) Uma expressão regular que identifica quando uma mensagem de log em uma nova linha é uma nova mensagem de log. Se a expressão regular não corresponder à nova linha, o componente do gerenciador de logs anexará a nova linha à mensagem de log da linha anterior.

Por padrão, o componente do gerenciador de logs verifica se a linha começa com um caractere de espaço em branco, como uma tabulação ou espaço. Caso contrário, o gerenciador de logs trata essa linha como uma nova mensagem de log. Caso contrário, ele anexa essa linha à mensagem de log atual. Esse comportamento garante que o componente do gerenciador de logs não divida mensagens que se estendem por várias linhas, como rastreamentos de pilha.

periodicUploadIntervalSec

(Opcional) O período em segundos no qual o componente do gerenciador de logs verifica se há novos arquivos de log a serem carregados.

Padrão: 300 (5 minutos)

Mínimo: 0.000001 (1 microssegundo)

exemplo Exemplo: atualização da mesclagem de configuração

O exemplo de configuração a seguir especifica o upload dos registros do sistema e dos com.example.HelloWorld componentes para os CloudWatch registros.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true", "minimumLogLevel": "INFO", "diskSpaceLimit": "10", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" }, "componentLogsConfiguration": [ { "componentName": "com.example.HelloWorld", "minimumLogLevel": "INFO", "diskSpaceLimit": "20", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" } ] }, "periodicUploadIntervalSec": "300" }
v2.0.x
logsUploaderConfiguration

(Opcional) A configuração dos registros que o componente Log Manager carrega. Esse objeto contém as informações a seguir:

systemLogsConfiguration

(Opcional) A configuração dos registros do sistema de software AWS IoT Greengrass principal. Especifique essa configuração para permitir que o componente Gerenciador de registros gerencie os registros do sistema. Esse objeto contém as informações a seguir:

uploadToCloudWatch

(Opcional) Você pode fazer upload dos registros do sistema para CloudWatch os registros.

Padrão: false

minimumLogLevel

(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se você configurar o componente de Greengrass nucleus para gerar logs no formato JSON. Para ativar os logs no formato JSON, especifique JSON no parâmetro de formato do registro em log (logging.format).

Escolha entre os seguintes níveis de log, ordenados por nível:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Padrão: INFO

diskSpaceLimit

(Opcional) O tamanho total máximo dos arquivos de log do sistema Greengrass, na unidade especificada em diskSpaceLimitUnit. Depois que o tamanho total dos arquivos de log do sistema Greengrass exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos do sistema Greengrass.

Esse parâmetro é equivalente ao parâmetro de limite de tamanho de log (totalLogsSizeKB) do componente do Greengrass nucleus. O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log do sistema Greengrass.

diskSpaceLimitUnit

(Opcional) A unidade para o diskSpaceLimit. Escolha uma das seguintes opções:

  • KB: kilobytes

  • MB: megabytes

  • GB: gigabytes

Padrão: KB

deleteLogFileAfterCloudUpload

(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.

Padrão: false

componentLogsConfiguration

(Opcional) Uma lista de configurações de log para componentes no dispositivo principal. Cada configuração nessa lista define a configuração de log de um componente ou aplicação. O componente Gerenciador de registros carrega esses registros de componentes para CloudWatch o Logs.

Esse objeto contém as seguintes informações:

componentName

O nome do componente ou da aplicação para essa configuração de log. É possível especificar o nome de um componente do Greengrass ou outro valor para identificar esse grupo de logs.

minimumLogLevel

(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se os registros desse componente usarem um formato JSON específico, que você pode encontrar no repositório do módulo de AWS IoT Greengrass registro em. GitHub

Escolha entre os seguintes níveis de log, ordenados por nível:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Padrão: INFO

diskSpaceLimit

(Opcional) O tamanho total máximo dos arquivos de log desse componente, na unidade especificada em diskSpaceLimitUnit. Depois que o tamanho total dos arquivos de log desse componente exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos desse componente.

Esse parâmetro está relacionado ao parâmetro de limite de tamanho de log (totalLogsSizeKB) do componente do Greengrass nucleus. O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log desse componente.

diskSpaceLimitUnit

(Opcional) A unidade para o diskSpaceLimit. Escolha uma das seguintes opções:

  • KB: kilobytes

  • MB: megabytes

  • GB: gigabytes

Padrão: KB

logFileDirectoryPath

O caminho para a pasta que contém os arquivos de log desse componente.

Para carregar os logs de um componente do Greengrass, especifique /greengrass/v2/logs e substitua /greengrass/v2 pela pasta raiz do Greengrass.

logFileRegex

Uma expressão regular que especifica o formato do nome do arquivo de log usado pelo componente ou aplicação. O componente Gerenciador de registros usa essa expressão regular para identificar arquivos de log na pasta emlogFileDirectoryPath.

Para carregar os logs de um componente do Greengrass, especifique uma expressão regular que corresponda aos nomes dos arquivos de log rotacionados. Por exemplo, é possível especificar com.example.HelloWorld\\w*.log para carregar logs em um componente Hello World. O padrão \\w* corresponde a zero ou mais caracteres de palavras, o que inclui caracteres alfanuméricos e sublinhados. Essa expressão regular corresponde aos arquivos de log com e sem carimbos de data e hora em seus nomes. Neste exemplo, o gerenciador de registros carrega os seguintes arquivos de registro:

  • com.example.HelloWorld.log: o arquivo de log mais recente do componente Hello World.

  • com.example.HelloWorld_2020_12_15_17_0.log: um arquivo de log mais antigo para o componente Hello World. O Greengrass nucleus adiciona um carimbo de data e hora rotativo aos arquivos de log.

deleteLogFileAfterCloudUpload

(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.

Padrão: false

multiLineStartPattern

(Opcional) Uma expressão regular que identifica quando uma mensagem de log em uma nova linha é uma nova mensagem de log. Se a expressão regular não corresponder à nova linha, o componente do gerenciador de logs anexará a nova linha à mensagem de log da linha anterior.

Por padrão, o componente do gerenciador de logs verifica se a linha começa com um caractere de espaço em branco, como uma tabulação ou espaço. Caso contrário, o gerenciador de logs trata essa linha como uma nova mensagem de log. Caso contrário, ele anexa essa linha à mensagem de log atual. Esse comportamento garante que o componente do gerenciador de logs não divida mensagens que se estendem por várias linhas, como rastreamentos de pilha.

periodicUploadIntervalSec

(Opcional) O período em segundos no qual o componente do gerenciador de logs verifica se há novos arquivos de log a serem carregados.

Padrão: 300 (5 minutos)

Mínimo: 0.000001 (1 microssegundo)

exemplo Exemplo: atualização da mesclagem de configuração

O exemplo de configuração a seguir especifica o upload dos registros do sistema e dos com.example.HelloWorld componentes para os CloudWatch registros.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true", "minimumLogLevel": "INFO", "diskSpaceLimit": "10", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" }, "componentLogsConfiguration": [ { "componentName": "com.example.HelloWorld", "minimumLogLevel": "INFO", "logFileDirectoryPath": "/greengrass/v2/logs", "logFileRegex": "com.example.HelloWorld\\w*.log", "diskSpaceLimit": "20", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" } ] }, "periodicUploadIntervalSec": "300" }

Usage

O componente Gerenciador de registros é carregado para os seguintes grupos e fluxos de registros.

2.1.0 and later
Nome do grupo de logs
/aws/greengrass/componentType/region/componentName

O nome do grupo de logs usa as seguintes variáveis:

  • componentType: o tipo do componente, que pode ser um dos seguintes:

    • GreengrassSystemComponent: esse grupo de logs inclui logs do núcleo e dos componentes do plug-in, que são executados na mesma JVM do Greengrass nucleus. O componente faz parte do Greengrass nucleus.

    • UserComponent: esse grupo de logs inclui logs de componentes genéricos, componentes Lambda e outras aplicações no dispositivo. O componente não faz parte do Greengrass nucleus.

    Para obter mais informações, consulte Tipos de componente.

  • region— A AWS região que o dispositivo principal usa.

  • componentName: o nome do componente. Para logs do sistema, esse valor é System.

Nome do fluxo de logs
/date/thing/thingName

O nome do fluxo de logs usa as seguintes variáveis:

  • date: a data do log, como 2020/12/15. O componente do gerenciador de logs usa o formato yyyy/MM/dd.

  • thingName: o nome do dispositivo principal.

nota

Se o nome de uma coisa contiver dois pontos (:), o gerenciador de logs substituirá os dois pontos por um sinal de adição (+).

2.0.x
Nome do grupo de logs
/aws/greengrass/componentType/region/componentName

O nome do grupo de logs usa as seguintes variáveis:

  • componentType: o tipo do componente, que pode ser um dos seguintes:

    • GreengrassSystemComponent: o componente faz parte do Greengrass nucleus.

    • UserComponent: o componente não faz parte do Greengrass nucleus. O gerenciador de registros usa esse tipo para componentes do Greengrass e outros aplicativos no dispositivo.

  • region— A AWS região que o dispositivo principal usa.

  • componentName: o nome do componente. Para logs do sistema, esse valor é System.

Nome do fluxo de logs
/date/deploymentTargets/thingName

O nome do fluxo de logs usa as seguintes variáveis:

  • date: a data do log, como 2020/12/15. O componente Gerenciador de registros usa o yyyy/MM/dd formato.

  • deploymentTargets: as coisas cujas implantações incluem o componente. O componente Gerenciador de registros separa cada alvo com uma barra. Se o componente for executado no dispositivo principal como resultado de uma implantação local, esse valor será LOCAL_DEPLOYMENT.

    Considere um exemplo em que você tem um dispositivo principal chamado MyGreengrassCore, e o dispositivo principal tem duas implantações:

    • Uma implantação direcionada para o dispositivo principal, MyGreengrassCore.

    • Uma implantação direcionada para um grupo de coisas chamado MyGreengrassCoreGroup, que contém o dispositivo principal.

    Os deploymentTargets para este dispositivo principal são thing/MyGreengrassCore/thinggroup/MyGreengrassCoreGroup.

  • thingName: o nome do dispositivo principal.

Formatos para entradas de log.

O Greengrass nucleus grava arquivos de log no formato string ou JSON. Para logs do sistema, você controla o formato definindo o campo format da entrada logging. É possível encontrar a entrada logging no arquivo de configuração do componente do Greengrass nucleus. Para mais informações, consulte Configuração do núcleo do Greengrass.

O formato de texto é de forma livre e aceita qualquer string. A seguinte mensagem de serviço de status da frota é um exemplo de registro em log formatado como string:

2023-03-26T18:18:27.271Z [INFO] (pool-1-thread-2) com.aws.greengrass.status.FleetStatusService: fss-status-update-published. Status update published to FSS. {trigger=CADENCE, serviceName=FleetStatusService, currentState=RUNNING}

Use o formato JSON para exibir os logs com o comando logs da CLI do Greengrass ou para interagir com os logs de forma programática. Este exemplo descreve o formato JSON:

{ "loggerName": <string>, "level": <"DEBUG" | "INFO" | "ERROR" | "TRACE" | "WARN">, "eventType": <string, optional>, "cause": <string, optional>, "contexts": {}, "thread": <string>, "message": <string>, "timestamp": <epoch time> # Needs to be epoch time }

Para controlar a saída dos logs do seu componente, você pode usar a opção de configuração minimumLogLevel. Para usar essa opção, o componente precisa gravar suas entradas de log no formato JSON. Use o mesmo formato do arquivo de log do sistema.

Arquivo de log local

Esse componente usa o mesmo arquivo de log do componente de Greengrass nucleus.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
Para ver os logs desse componente
  • Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua /greengrass/v2 ou C:\greengrass\v2 pelo caminho para a pasta AWS IoT Greengrass raiz.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

Changelog

A tabela a seguir descreve as alterações em cada versão do componente.

Versão

Alterações

2.3.14

Correções de bugs e melhorias
  • Corrige um problema em que registros com UTF-8 caracteres multibyte (como japonês, chinês ou emoji) causam uploads duplicados para a Amazon. CloudWatch

2.3.13

Atualiza a versão do componente para a versão 2.18.0 do Greengrass nucleus.

2.3.12

Atualiza a versão do componente para a versão 2.17.0 do Greengrass nucleus.

2.3.11

Correções de bugs e melhorias
  • Corrige um problema em que a configuração do tempo de execução do Log Manager cresceu indefinidamente com informações desatualizadas dos arquivos de log carregados.

2.3.10

Novos recursos
  • Adiciona uma nova chave de configuração (updateToTlogIntervalSec) para controlar a frequência com que os detalhes do evento de upload de log persistem no log de transações local (config.tlog).

Correções de bugs e melhorias
  • Melhora o gerenciador de registros para atualizar o cliente cloudwatch em caso de erro de conexão de soquete.

2.3.9

Versão atualizada para o Greengrass nucleus versão 2.14.0.

2.3.8

Versão atualizada para o lançamento da versão 2.13.0 do núcleo do Greengrass.

2.3.7

Versão atualizada para o núcleo do Greengrass 2.12.0.

2.3.6

Correções de bugs e melhorias
  • Ajusta os níveis de log para determinados erros.

2.3.5

Melhorias

Melhora a velocidade de carregamento dos logs.

Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass.

2.3.4

Correções de bugs e melhorias
  • Adiciona suporte para definir o parâmetro periodicUploadIntervalSec para valores fracionários. O mínimo é de 1 microssegundo.

  • Corrige um problema em que o gerenciador de registros não respeita os CloudWatch putLogEvents limites.

2.3.3

Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass.

2.3.2

Correções de bugs e melhorias
  • Melhora o gerenciamento do espaço para que os arquivos de log não sejam excluídos antes de serem carregados.

  • Corrige problemas com o gerenciamento de cache.

  • Correções de bugs secundárias e melhorias adicionais.

2.3.1

Correções de bugs e melhorias
  • Corrige um problema em que grupos de arquivos de destino com vários arquivos de log ativos carregam entradas duplicadas para. CloudWatch

  • Correções de bugs secundárias e melhorias adicionais.

2.3.0

nota

Recomendamos que você atualize para o Greengrass nucleus 2.9.1 ao atualizar para o Log manager 2.3.0.

Novos recursos

Reduz os atrasos no log processando e carregando diretamente os arquivos de log ativos, em vez de esperar que novos arquivos sejam alternados.

Correções de bugs e melhorias
  • Melhora o suporte à rotação de logs ao alternar arquivos com um nome exclusivo.

  • Correções de bugs secundárias e melhorias adicionais.

2.2.8

Versão atualizada para o núcleo do Greengrass 2.9.0.

2.2.7

Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass.

2.2.6

Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.

2.2.5

Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.

2.2.4

Correções de bugs e melhorias
  • Melhora a estabilidade ao lidar com configurações inválidas.

  • Correções secundárias e melhorias adicionais.

2.2.3

Correções de bugs e melhorias
  • Melhora a estabilidade em determinados cenários em que o componente é reiniciado ou encontra erros.

  • Corrige problemas em que mensagens de log grandes e arquivos de log grandes não são carregados em determinados cenários.

  • Corrige problemas com a forma como esse componente lida com as atualizações de redefinição de configuração.

  • Corrige um problema em que um valor de configuração null diskSpaceLimit impedia a implantação do componente.

2.2.2

Correções de bugs e melhorias
  • Adiciona suporte para mensagens de log maiores do que 256 kilobytes. O componente Gerenciador de registros divide essas mensagens de registro grandes em várias mensagens com a mesma data e hora do evento de registro.

2.2.1

Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.

2.2.0

Novo atributo
  • Adiciona o parâmetro de configuração componentLogsConfigurationMap para oferecer suporte a um formato de mapa para configurações de log de componentes. Cada objeto componentName no mapa define a configuração de log para um componente ou aplicação.

2.1.3

Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.

2.1.2

Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.

2.1.1

Correções de bugs e melhorias
  • Corrige problemas em que a configuração do log não foi atualizada em certos casos.

2.1.0

Correções de bugs e melhorias
  • Use padrões para logFileDirectoryPath e logFileRegex que funcionem para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).

  • Roteie corretamente o tráfego por meio de um proxy de rede configurado ao fazer upload de registros para o CloudWatch Logs.

  • Manipule corretamente caracteres de dois pontos (:) em nomes de fluxos de log. CloudWatch Os nomes dos fluxos de registros não suportam dois pontos.

  • Simplifique os nomes do fluxo de logs removendo os nomes dos grupos de objetos do fluxo de logs.

  • Remova uma mensagem do log de erros que é impressa durante o comportamento normal.

2.0.x

Versão inicial.