

终止支持通知：2026 年 5 月 31 日， AWS 将终止对的支持。 AWS Panorama 2026 年 5 月 31 日之后，您将无法再访问 AWS Panorama 控制台或 AWS Panorama 资源。有关更多信息，请参阅[AWS Panorama 终止支持](https://docs.aws.amazon.com/panorama/latest/dev/panorama-end-of-support.html)。

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

# 查看 AWS Panorama 日志
<a name="monitoring-logging"></a>

AWS Panorama 向亚马逊 CloudWatch 日志报告应用程序和系统事件。遇到问题时，您可以使用事件日志来帮助调试 AWS Panorama 应用程序或排除应用程序配置的故障。

**在 “日志” 中查看 CloudWatch 日志**

1. 打开[日志控制台的 CloudWatch 日志组页面](https://console.aws.amazon.com/cloudwatch/home#logsV2:log-groups)。

1. 在以下组中查找 AWS Panorama 应用程序和设备日志：

****
   + **设备日志** - `/aws/panorama/devices/device-id`
   + **应用程序日志** - `/aws/panorama/devices/device-id/applications/instance-id`

更新系统软件后重新配置设备时，您还可以[查看预置 USB 驱动器上的日志](#monitoring-logging-provisioning)。

**Topics**
+ [查看设备日志](#monitoring-logging-device)
+ [查看应用程序日志](#monitoring-logging-application)
+ [配置应用程序日志](#monitoring-logging-configuration)
+ [查看预置日志](#monitoring-logging-provisioning)
+ [从设备导出日志](#monitoring-logging-egress)

## 查看设备日志
<a name="monitoring-logging-device"></a>

AWS Panorama Appliance 会为设备创建一个日志组，并为您部署的每个应用程序实例创建一个组。设备日志包含有关应用程序状态、软件升级和系统配置的信息。

**设备日志 - `/aws/panorama/devices/device-id`**
+ `occ_log` - 控制器进程的输出。该流程负责协调应用程序的部署，并报告每个应用程序实例节点的状态。
+ `ota_log`— 协调 over-the-air (OTA) 软件升级过程的输出。
+ `syslog` - 设备的 syslog 进程的输出，用于捕获进程之间发送的消息。
+ `kern_log` - 来自设备 Linux 内核的事件。
+ `logging_setup_logs`— 配置 CloudWatch 日志代理的过程的输出。
+ `cloudwatch_agent_logs`— 来自 CloudWatch 日志代理的输出。
+ `shadow_log` - 来自[AWS IoT 设备影子](https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html)的输出。

## 查看应用程序日志
<a name="monitoring-logging-application"></a>

应用程序实例的日志组包含以节点命名的每个节点的日志流。

**应用程序日志 - `/aws/panorama/devices/device-id/applications/instance-id`**
+ **代码** - 应用程序代码和 AWS Panorama 应用程序 SDK 的输出。聚合来自 `/opt/aws/panorama/logs` 的应用程序日志。
+ **模型** - 使用模型协调推理请求的过程的输出。
+ **流** - 解码摄像机视频流过程中的输出。
+ **显示** - 从渲染 HDMI 端口视频输出过程中的输出。
+ `mds` - 来自设备元数据服务器的日志。
+ `console_output` - 捕获代码容器中的标准输出和错误流。

如果您在日志中看不到日 CloudWatch 志，请确认您位于正确的 AWS 区域。如果是，则设备与 AWS 的连接或设备 [AWS Identity and Access Management (IAM) 角色的](permissions-services.md)权限可能存在问题。

## 配置应用程序日志
<a name="monitoring-logging-configuration"></a>

配置 Python 记录器以将日志文件写入 `/opt/aws/panorama/logs`。设备会将日志从此位置流式传输到 CloudWatch 日志。为避免占用过多磁盘空间，请使用最大为 10 MiB 的文件，备份次数为 1。以下示例展示了创建记录器的方法。

**Example [application.py](https://github.com/awsdocs/aws-panorama-developer-guide/blob/main/sample-apps/aws-panorama-sample/packages/123456789012-SAMPLE_CODE-1.0/application.py#L181) - 记录器配置**  

```
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
```

在全局范围内初始化记录器，并在整个应用程序代码中使用。

**Example [application.py](https://github.com/awsdocs/aws-panorama-developer-guide/blob/main/sample-apps/aws-panorama-sample/packages/123456789012-SAMPLE_CODE-1.0/application.py#L205) - 初始化记录器**  

```
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()
```

## 查看预置日志
<a name="monitoring-logging-provisioning"></a>

在预置期间，AWS Panorama Appliance 会将日志复制到用于将配置存档传输到设备的 USB 驱动器。使用这些日志可排除采用最新软件版本的设备上的预置问题故障。

**重要**  
预置日志适用于更新至软件版本 4.3.23 或更高版本的设备。

**应用程序日志**
+ `/panorama/occ.log` - AWS Panorama 控制器软件日志。
+ `/panorama/ota_agent.log`— AWS Panorama over-the-air 更新代理日志。
+ `/panorama/syslog.log` - Linux 系统日志。
+ `/panorama/kern.log` - Linux 内核日志。

## 从设备导出日志
<a name="monitoring-logging-egress"></a>

如果您的设备和应用程序日志未显示在 “ CloudWatch 日志” 中，则可以使用 USB 驱动器从设备上获取加密的日志图像。AWS Panorama 服务团队可以代表您解密日志并协助您进行调试。

### 先决条件
<a name="monitoring-logging-egress-prerequisites"></a>

要按照步骤操作，您将需要以下硬件：
+ **U 盘** — 一种 FAT32格式化的 USB 闪存盘，存储空间至少为 1 GB，用于从 AWS Panorama 设备传输日志文件。

**从设备导出日志**

1. 准备一个 USB 驱动器，在 `panorama` 文件夹里放入 `managed_logs` 文件夹。

   ```
   /
    └── panorama
        └── managed_logs
   ```

1. 将 USB 驱动器连接到设备。

1. [关闭](appliance-buttons.md#appliance-buttons-reset) AWS Panorama Appliance。

1. 打开 AWS Panorama Appliance。

1. 该设备将日志复制到设备。在执行此操作时，状态 LED 指示灯会[闪烁蓝色](appliance-buttons.md)。

1. 然后可以在 `managed_logs` 目录中找到日志文件，格式为 `panorama_device_log_v1_dd_hh_mm.img`

您无法自行解密日志图像。请与客户支持、AWS Panorama 的技术客户经理或解决方案架构师合作，与服务团队协调。