logs - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

logs

使用logs命令分析核心设备上的 Greengrass 日志。

get

收集,过滤和可视化 Greengrass 日志文件. 此命令仅支持 JSON 格式的日志文件。您可以在核心配置中指定日志记录格式。

摘要
$ sudo greengrass-cli logs get [--log-dir path/to/a/log/folder] [--log-file path/to/a/log/file] [--follow true | false ] [--filter <filter> ] [--time-window <start-time>,<end-time> ] [--verbose ] [--no-color ] [--before <value> ] [--after <value> ] [--syslog ] [--max-long-queue-size <value> ]
Arguments
  • --log-dir-ld. 检查日志文件的目录的路径。请勿与之一起使用。--syslog. 为要指定的每个附加目录使用单独的参数。您必须至少使用--log-dir或者--log-file. 也可以在单个命令中使用这两个参数。

  • --log-file-lf. 您要使用的日志目录的路径。为要指定的每个附加目录使用单独的参数。您必须至少使用--log-dir或者--log-file. 也可以在单个命令中使用这两个参数。

  • --follow-fol. 在发生日志更新时显示日志更新。Greengrass CLI 继续运行并从指定的日志中读取。如果您指定了时间窗口,则 Greengrass CLI 会在所有时间窗结束后停止监视日志。

  • --filter-f. 要用作过滤器的关键字、正则表达式或键值对。以字符串、正则表达式或键值对的形式提供此值。为要指定的每个附加过滤器使用单独的参数。

    评估时,单个参数中指定的多个过滤器由 OR 运算符分隔,并且在其他参数中指定的过滤器将与 AND 运算符组合。例如,如果您的命令包含--filter "installed" --filter "name=alpha,name=beta",则 Greengrass CLI 将过滤和显示包含关键字installedname键,其值为alpha或者beta.

  • --time-window-t. 显示日志信息的时间窗口。您可以同时使用精确的时间戳和相对偏移。您必须以格式提供此信息。<begin-time>,<end-time>. 如果未指定开始时间或结束时间,则该选项的值将默认为当前系统日期和时间。为要指定的每个附加时间窗口使用单独的参数。

    Greengrass CLI 支持以下格式用于时间戳:

    • yyyy-MM-DD,例如,2020-06-30. 使用此格式时,时间默认为 00:00:00。

      yyyyMMDD,例如,20200630. 使用此格式时,时间默认为 00:00:00。

      HH:mm:ss,例如,15:30:45. 使用此格式时,日期默认为当前系统日期。

      HH:mm:ssSSS,例如,15:30:45. 使用此格式时,日期默认为当前系统日期。

      YYYY-MM-DD'T'HH:mm:ss'Z',例如,2020-06-30T15:30:45Z.

      YYYY-MM-DD'T'HH:mm:ss,例如,2020-06-30T15:30:45.

      yyyy-MM-dd'T'HH:mm:ss.SSS,例如,2020-06-30T15:30:45.250.

    相对偏移指定与当前系统时间的时间周期偏移。Greengrass CLI 支持以下相对偏移格式:+|-[<value>h|hr|hours][valuem|min|minutes][value]s|sec|seconds.

    例如,以下参数指定当前时间前 1 小时到 2 小时 15 分钟之间的时间窗口为--time-window -2h15min,-1hr.

  • --verbose. 显示日志消息中的所有字段。请勿与之一起使用。--syslog.

  • --no-color-nc. 删除颜色编码。日志消息的默认颜色编码使用粗体红色文本。仅支持类 Unix 的终端,因为它使用 ANSI 转义序列。

  • --before-b. 匹配日志条目之前要显示的行数。默认值为 0。

  • --after-a. 在匹配的日志条目后显示的行数。默认值为 0。

  • --syslog. 使用 RFC3164 定义的系统日志协议处理所有日志文件。请勿与之一起使用。--log-dir--verbose. syslog 协议使用以下格式:"<$Priority>$Timestamp $Host $Logger ($Class): $Message". 如果未指定日志文件,则 Greengrass CLI 将从以下位置读取日志消息:/var/log/messages/var/log/syslog,或/var/log/system.log.

  • --max-log-queue-size-m. 分配给内存的日志条目的最大数量。使用此选项可优化内存使用情况。默认值为 100。

输出

以下示例显示在运行此命令时生成的输出。

$ sudo greengrass-cli logs get --verbose \ --log-file /greengrass/v2/logs/greengrass.log \ --filter deployment,serviceName=DeploymentService \ --filter level=INFO \ --time-window 2020-12-08T01:11:17,2020-12-08T01:11:22 2020-12-08T01:11:17.615Z [INFO] (pool-2-thread-14) com.aws.greengrass.deployment.DeploymentService: Current deployment finished. {DeploymentId=44d89f46-1a29-4044-ad89-5151213dfcbc, serviceName=DeploymentService, currentState=RUNNING} 2020-12-08T01:11:17.675Z [INFO] (pool-2-thread-14) com.aws.greengrass.deployment.IotJobsHelper: Updating status of persisted deployment. {Status=SUCCEEDED, StatusDetails={detailed-deployment-status=SUCCESSFUL}, ThingName=MyThing, JobId=22d89f46-1a29-4044-ad89-5151213dfcbc

列表关键字

显示可用于筛选日志文件的建议关键字。

摘要
$ sudo greengrass-cli logs list-keywords [arguments]
Arguments

输出

以下示例显示了运行此命令时生成的输出。

$ sudo greengrass-cli logs list-keywords Here is a list of suggested keywords for Greengrass log: level=$str thread=$str loggerName=$str eventType=$str serviceName=$str error=$str
$ sudo greengrass-cli logs list-keywords --syslog Here is a list of suggested keywords for syslog: priority=$int host=$str logger=$str class=$str

列表日志文件

显示位于指定目录中的日志文件。

摘要
$ sudo greengrass-cli logs list-log-files [arguments]
Arguments

--log-dir-ld. 检查日志文件的目录的路径。

输出

以下示例显示了运行此命令时生成的输出。

$ sudo greengrass-cli logs list-log-files -ld /greengrass/v2/logs/ /greengrass/v2/logs/aws.greengrass.Nucleus.log /greengrass/v2/logs/main.log /greengrass/v2/logs/greengrass.log Total 3 files found.
$ sudo greengrass-cli logs list-log-files No log file found.