本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
查看 AWS Panorama 日志
AWS Panorama 会向 Amazon CloudWatch Logs 报告应用程序和系统事件。遇到问题时,您可以使用事件日志来帮助调试 AWS Panorama 应用程序或排除应用程序配置的故障。
要查看 CloudWatch Logs 中的日志
-
在以下组中查找 AWS Panorama 应用程序和设备日志:
-
设备日志 -
/aws/panorama/devices/
device-id
-
应用程序日志 -
/aws/panorama/devices/
device-id
/applications/instance-id
-
更新系统软件后重新配置设备时,您还可以查看预置 USB 驱动器上的日志。
查看设备日志
AWS Panorama Appliance 会为设备创建一个日志组,并为您部署的每个应用程序实例创建一个组。设备日志包含有关应用程序状态、软件升级和系统配置的信息。
设备日志 - /aws/panorama/devices/device-id
device-id
-
occ_log
- 控制器进程的输出。该流程负责协调应用程序的部署,并报告每个应用程序实例节点的状态。 -
ota_log
- 协调空中下载(OTA)软件升级过程的输出。 -
syslog
- 设备的 syslog 进程的输出,用于捕获进程之间发送的消息。 -
kern_log
- 来自设备 Linux 内核的事件。 -
logging_setup_logs
- 配置 CloudWatch Logs 代理的过程输出。 -
cloudwatch_agent_logs
- CloudWatch Logs 代理的输出。 -
shadow_log
- 来自AWS IoT 设备影子的输出。
查看应用程序日志
应用程序实例的日志组包含以节点命名的每个节点的日志流。
应用程序日志 - /aws/panorama/devices/device-id
/applications/instance-id
device-id
/applications/instance-id
-
代码 - 应用程序代码和 AWS Panorama 应用程序 SDK 的输出。聚合来自
/opt/aws/panorama/logs
的应用程序日志。 -
模型 - 使用模型协调推理请求的过程的输出。
-
流 - 解码摄像机视频流过程中的输出。
-
显示 - 从渲染 HDMI 端口视频输出过程中的输出。
-
mds
- 来自设备元数据服务器的日志。 -
console_output
- 捕获代码容器中的标准输出和错误流。
如果您在 CloudWatch Logs 中看不到日志,请确认您所在的 AWS 区域是否正确。如果是,则可能是设备与 AWS 的连接或设备 AWS Identity and Access Management(IAM) 角色的权限存在问题。
配置应用程序日志
配置 Python 记录器以将日志文件写入 /opt/aws/panorama/logs
。设备会将日志从当前位置流式传输到 CloudWatch Logs。为避免占用过多磁盘空间,请使用最大为 10 MiB 的文件,备份次数为 1。以下示例展示了创建记录器的方法。
例 application.py - 记录器配置
def get_logger(name=__name__,level=logging.INFO): logger = logging.getLogger(name) logger.setLevel(level)
LOG_PATH = '/opt/aws/panorama/logs'
handler = RotatingFileHandler("{}/app.log".format(LOG_PATH), maxBytes=10000000, backupCount=1)
formatter = logging.Formatter(fmt='%(asctime)s %(levelname)-8s %(message)s', datefmt='%Y-%m-%d %H:%M:%S') handler.setFormatter(formatter) logger.addHandler(handler) return logger
在全局范围内初始化记录器,并在整个应用程序代码中使用。
例 application.py - 初始化记录器
def main(): try: logger.info("INITIALIZING APPLICATION") app = Application() logger.info("PROCESSING STREAMS") while True: app.process_streams() # turn off debug logging after 150 loops if logger.getEffectiveLevel() == logging.DEBUG and app.frame_num == 150: logger.setLevel(logging.INFO) except: logger.exception('Exception during processing loop.')
logger = get_logger(level=logging.INFO)
main()
查看预置日志
在预置期间,AWS Panorama Appliance 会将日志复制到用于将配置存档传输到设备的 USB 驱动器。使用这些日志可排除采用最新软件版本的设备上的预置问题故障。
重要
预置日志适用于更新至软件版本 4.3.23 或更高版本的设备。
应用程序日志
-
/panorama/occ.log
- AWS Panorama 控制器软件日志。 -
/panorama/ota_agent.log
- AWS Panorama 无线更新代理日志。 -
/panorama/syslog.log
- Linux 系统日志。 -
/panorama/kern.log
- Linux 内核日志。
从设备导出日志
如果您的设备和应用程序日志未显示在 CloudWatch Logs 中,则可以使用 USB 驱动器从设备上获取加密的日志图像。AWS Panorama 服务团队可以代表您解密日志并协助您进行调试。
先决条件
要按照步骤操作,您将需要以下硬件:
-
USB 驱动器 - 一种存储空间至少 1 GB 的 FAT32 格式 USB 闪存驱动器,用于从 AWS Panorama Appliance 传输日志文件。
从设备导出日志
您无法自行解密日志图像。请与客户支持、AWS Panorama 的技术客户经理或解决方案架构师合作,与服务团队协调。