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á.
Atenção
Recomendamos atualizar para o gerenciador de logs v2.3.5 ou posterior. A versão 2.3.5 otimiza as gravações de configuração do gerenciador de logs, reduzindo as operações de E/S e melhorando a velocidade de upload de logs, a performance geral do dispositivo e possivelmente prolongando a vida útil do dispositivo.
O componente do gerenciador de registros (aws.greengrass.LogManager
) carrega registros dos dispositivos AWS IoT Greengrass principais para o Amazon CloudWatch Logs. Você pode 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 no CloudWatch Logs 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
A versão 2.2.8 (e anteriores) do componente gerenciador de logs processa e carrega logs 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 do gerenciador de registros carrega registros somente depois que o software AWS IoT Greengrass Core ou um componente do Greengrass grava mais de 1.024 KB de registros. Você pode configurar um limite menor para o tamanho dos arquivos de log para que rotacionem com mais frequência. Isso faz com que o componente do gerenciador de registros faça upload de registros para o CloudWatch Logs com mais frequência.
A versão 2.3.0 (e posteriores) do componente gerenciador de logs processa e carrega todos os logs. Quando você grava um novo log, a versão 2.3.0 (e posteriores) do gerenciador de logs processa e carrega diretamente esse arquivo de log ativo em vez de esperar que ele seja rotacionado. Isso significa que você pode ver o novo log em cinco minutos ou menos.
O componente do gerenciador de logs carrega novos logs periodicamente. Por padrão, o componente do gerenciador de logs carrega novos logs a cada 5 minutos. Você pode configurar um intervalo de upload menor, para que o componente do gerenciador de registros faça o upload dos 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 logs, o gerenciador de logs retornará ao comportamento nas versões 2.2.8 e anteriores. 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 do gerenciador de registros usa o processo de assinatura padrão do Signature versão 4 para criar API solicitações para o CloudWatch Logs. 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 Uso.
Tópicos
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 núcleo do Greengrass 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 núcleo do Greengrass. 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 deve permitir as
logs:DescribeLogStreams
açõeslogs:CreateLogGroup
,logs:CreateLogStream
logs:PutLogEvents
, e, conforme mostrado no exemplo IAM de política a seguir.{ "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 (IAMpolíticas) para CloudWatch registros no Guia do usuário do Amazon CloudWatch Logs.
-
O componente do gerenciador de registros tem suporte para ser executado em umVPC. Para implantar esse componente em umVPC, é necessário o seguinte.
-
O componente do gerenciador de registros deve ter conectividade com a
logs.region.amazonaws.com
qual tenha o VPC endpoint decom.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 | Port (Porta) | Obrigatório | Descrição |
---|---|---|---|
|
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
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 |
---|---|---|
Núcleo do Greengrass | >=2.1.0 <2.15.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.
logsUploaderConfiguration
-
(Opcional) A configuração dos logs que o componente do gerenciador de logs 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 do gerenciador de logs gerencie os logs do sistema. Esse objeto contém as informações a seguir:
uploadToCloudWatch
-
(Opcional) Você pode fazer upload dos registros do sistema para o CloudWatch Logs.
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 nucleus do Greengrass para gerar JSON registros de formato. Para ativar os registros de JSON formato, especifique
JSON
o parâmetro de formato de registro (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 núcleo do Greengrass. 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 no CloudWatch Logs.Importante
Recomenda-se enfaticamente o uso de uma única chave de configuração por componente. Você deve 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 CloudWatch. Se estiver direcionando vários arquivos de log ativos com uma única expressão regular, recomendamos atualizar para o gerenciador de logs v2.3.1 ou posterior e considerar a possibilidade de alterar sua configuração usando a configuração de exemplo.nota
Se você estiver atualizando de uma versão do gerenciador de logs anterior à v2.2.0, poderá continuar usando a lista
componentLogsConfiguration
em vez decomponentLogsConfigurationMap
. 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âmetrocomponentLogsConfiguration
, consulte os parâmetros de configuração da versão 2.1.x desse componente.componentName
-
A configuração de log para o 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.componentName
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 JSON formato 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 núcleo do Greengrass. 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:
.
/logs/greengrass/v2
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:
, ondecomponentName
\\\\w*.logcomponentName
está 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 logs deve usar as melhorias de velocidade de log introduzidas no gerenciador de logs v2.3.5. Defina o valor
false
para usar as melhorias.Se você definir esse valor para
false
quando fizer o upgrade do gerenciador de logs v2.3.1 ou anterior, é possível que entradas de log duplicadas sejam carregadas.O padrão é
true
.
exemplo Exemplo: atualização da mesclagem de configuração
O exemplo de configuração a seguir especifica o upload de registros do sistema e de com.example.HelloWorld
componentes para o CloudWatch Logs.
{
"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 gerenciador de logs v2.3.1
O exemplo de configuração a seguir é recomendado se você quiser segmentar vários arquivos de log ativos. Este exemplo de configuração especifica para quais arquivos de log ativos você deseja CloudWatch carregar. Esse exemplo de configuração também carregará todos os arquivos rotacionados que correspondam a logFileRegex
. Esse exemplo de configuração é compatível com o gerenciador de logs 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"
}
Uso
O componente do gerenciador de logs carrega nos seguintes grupos de logs e fluxos de logs.
- 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 registros inclui registros para o núcleo e os componentes do plug-in, que são executados da JVM mesma forma que o núcleo do Greengrass. O componente faz parte do núcleo do Greengrass. -
UserComponent
: esse grupo de logs inclui logs de componentes genéricos, componentes Lambda e outras aplicações no dispositivo. O componente faz parte do núcleo do Greengrass.
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, como2020/12/15
. O componente do gerenciador de logs usa o formatoyyyy/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 (+
). -
Formatos para entradas de log.
O núcleo do Greengrass grava arquivos de log em string ou formato. JSON Para logs do sistema, você controla o formato definindo o campo format
da entrada logging
. Você pode encontrar a entrada logging
no arquivo de configuração do componente do núcleo do Greengrass. 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}
Você deve usar o JSON formato se quiser visualizar os registros com o comando Greengrass CLI logs ou interagir com os registros de forma programática. O exemplo a seguir descreve a JSON forma:
{
"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, seu componente deve gravar suas entradas de registro no JSON formato. 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 núcleo do Greengrass.
/logs/greengrass.log
/greengrass/v2
Para exibir os logs desse componente
-
Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua
ou/greengrass/v2
C:\greengrass\v2
pelo caminho para a pasta AWS IoT Greengrass raiz.sudo tail -f
/logs/greengrass.log/greengrass/v2
Changelog
A tabela a seguir descreve as alterações em cada versão do componente.
Versão |
Alterações |
---|---|
2.3.9 |
Versão atualizada para a versão 2.14.0 do Greengrass nucleus. |
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 |
|
2.3.5 |
|
2.3.4 |
|
2.3.3 |
Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass. |
2.3.2 |
|
2.3.1 |
|
2.3.0 |
notaRecomendamos que você atualize para o núcleo do Greengrass 2.9.1 ao atualizar para o gerenciador de logs 2.3.0.
|
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 |
|
2.2.3 |
|
2.2.2 |
|
2.2.1 |
Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass. |
2.2.0 |
|
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 |
|
2.1.0 |
|
2.0.x |
Versão inicial. |