

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# SiteWise Edge 閘道故障診斷
<a name="troubleshooting-gateway"></a>

探索相關主題，針對常見的 AWS IoT SiteWise Edge 閘道問題進行故障診斷。

您也可以檢視 SiteWise Edge 閘道報告的 CloudWatch 指標，以疑難排解連線或資料串流的問題。如需詳細資訊，請參閱[AWS IoT SiteWise 使用 Amazon CloudWatch 指標進行監控](monitor-cloudwatch-metrics.md)。

**Topics**
+ [設定和存取 SiteWise Edge 閘道日誌](#configure-gateway-logs)
+ [故障診斷 SiteWise Edge 閘道問題](#troubleshoot-gateway-issues)
+ [對 上的 AWS IoT SiteWise Edge 應用程式進行故障診斷 Siemens Industrial Edge](#troubleshoot-siemens-app)
+ [對 Edge 的開放原始碼整合進行故障診斷](#open-source-troubleshooting)
+ [故障診斷 AWS IoT Greengrass 問題](#troubleshoot-greengrass-issues)

## 設定和存取 SiteWise Edge 閘道日誌
<a name="configure-gateway-logs"></a>

您必須先設定 SiteWise Edge 閘道將日誌傳送至 Amazon CloudWatch Logs 或在本機檔案系統上存放日誌，才能檢視 SiteWise Edge 閘道日誌。 SiteWise 
+ 如果您想要使用 檢視 SiteWise Edge 閘道的日誌檔案 AWS 管理主控台 ，請使用 CloudWatch Logs。 SiteWise 如需詳細資訊，請參閱[使用 Amazon CloudWatch Logs](gateway-cloudwatch-logs.md)。
+ 如果您想要使用命令列或本機軟體來檢視 SiteWise Edge 閘道的日誌檔案，請使用本機檔案系統日誌。如需詳細資訊，請參閱[在 中使用服務日誌 AWS IoT SiteWise](gateway-local-logs.md)。

## 故障診斷 SiteWise Edge 閘道問題
<a name="troubleshoot-gateway-issues"></a>

使用以下資訊對 SiteWise Edge 閘道問題進行故障診斷。

**Topics**
+ [無法將套件部署至 SiteWise Edge 閘道](#gateway-issue-ggv2-packs)
+ [AWS IoT SiteWise 不會從 OPC UA 伺服器接收資料](#gateway-issue-data-streams)
+ [儀表板中未顯示任何資料](#gateway-issue-no-data)
+ [顯示在 /greengrass/v2/logs 錯誤之 aws.iot.SiteWiseEdgePublisher 日誌中的「找不到或載入主類別」](#troubleshoot-java-issues)
+ [我看到 'SESSION\$1TAKEN\$1OVER' 或 'com.aws.greengrass.mqtclient.MqttClient：無法透過 Spooler 發佈訊息，將會重試。' 日誌中的](#sa-troubleshoot-multiple-use)
+ [我看到 'com.aws.greengrass.deployment.IotJobsHelper：找不到部署任務。' 或 '部署結果已回報。' 日誌中的](#sa-troubleshoot-reuse)
+ [嘗試在 OPC UA 資料來源的屬性群組中設定時間戳記設定時，我看到「SYNC\$1FAILED」狀態](#troubleshoot-gateway-sync-failed-timestamp)
+ [不包含轉換後的資料類型](#troubleshoot-data-conversion)
+ [信任存放區問題](#troubleshoot-trust-stores)
+ [啟用代理的安裝問題](#troubleshoot-proxy-during-installation)

### 無法將套件部署至 SiteWise Edge 閘道
<a name="gateway-issue-ggv2-packs"></a>

如果核心元件 AWS IoT Greengrass (`aws.greengrass.Nucleus`) 已過時，您可能無法將套件部署至 SiteWise Edge 閘道。您可以使用 AWS IoT Greengrass V2 主控台來升級 nucleus AWS IoT Greengrass 元件。

**升級 nucleus AWS IoT Greengrass 元件 （主控台）**

1. 導覽至 [AWS IoT Greengrass 主控台](https://console.aws.amazon.com/greengrassIntro)。

1. 在導覽窗格中的 下**AWS IoT Greengrass**，選擇**部署**。

1. 在**部署**清單中，選取您要修改的部署。

1. 選擇**修訂**。

1. 在**指定目標**頁面上，選擇**下一步**。

1. 在**選取元件**頁面的**公有元件**下，於搜尋方塊中輸入 **aws.greengrass.Nucleus**，然後選取 **aws.greengrass.Nucleus**。

1. 選擇**下一步**。

1. 在**設定元件**頁面上，選擇**下一步**。

1. 在**設定進階設定**頁面上，選擇**下一步**。

1. 在 **Review (檢閱)** 頁面，選擇 **Deploy (部署)**。

### AWS IoT SiteWise 不會從 OPC UA 伺服器接收資料
<a name="gateway-issue-data-streams"></a>

如果您的 AWS IoT SiteWise 資產未接收 OPC UA 伺服器傳送的資料，您可以搜尋 SiteWise Edge 閘道的日誌來疑難排解問題。尋找包含下列訊息的資訊層級`swPublisher`日誌。

```
Emitting diagnostic name=PublishError.SomeException
```

根據日誌中的 *SomeException* 類型，請使用下列例外狀況類型和對應的問題來疑難排解 SiteWise Edge 閘道：
+ **ResourceNotFoundException** – OPC UA 伺服器正在傳送不符合任何資產屬性別名的資料。此例外狀況可能會發生在兩種情況下：
  + 您的屬性別名與您的 OPC UA 變數不完全相符，包括您定義的任何來源字首。檢查您的屬性別名和來源前綴是否正確。
  + 您尚未將 OPC UA 變數映射至資產屬性。如需詳細資訊，請參閱[管理 的資料串流 AWS IoT SiteWise](manage-data-streams.md)。

    如果您已映射所有想要的 OPC UA 變數 AWS IoT SiteWise，您可以篩選 SiteWise Edge 閘道傳送的 OPC UA 變數。如需詳細資訊，請參閱[在 SiteWise Edge 中使用 OPC UA 節點篩選條件](opc-ua-node-filters.md)。
+ **InvalidRequestException** – 您的 OPC UA 變數資料類型不符合您的資產屬性資料類型。例如，如果 OPC UA 變數具有整數資料類型，則對應的資產屬性必須是整數資料類型。雙類型資產屬性無法接收 OPC UA 整數值。若要修正此問題，請使用正確的資料類型定義新的屬性。
+ **TimestampOutOfRangeException** – SiteWise Edge 閘道正在傳送超出 AWS IoT SiteWise 接受範圍的資料。 AWS IoT SiteWise 拒絕過去 7 天內或未來 5 分鐘內具有時間戳記的任何資料點。如果您的 SiteWise Edge 閘道失去與 AWS 雲端的電源或連線，您可能需要清除 SiteWise Edge 閘道的快取。
+ **ThrottlingException** 或 **LimitExceededException** – 您的請求超過 AWS IoT SiteWise 服務配額，例如擷取資料點的速率或資產屬性資料 API 操作的請求速率。核對您的組態沒有超過 [AWS IoT SiteWise 配額](endpoints-and-quotas.md#quotas)。

### 儀表板中未顯示任何資料
<a name="gateway-issue-no-data"></a>

如果您的儀表板中沒有顯示任何資料，則 SiteWise Edge 閘道的**發布者組態**和**資料來源**可能會不同步。如果不同步，更新資料來源的名稱可能會加速從雲端到邊緣的同步，修正不同步錯誤。

**更新資料來源的名稱**

1. 導覽至 [AWS IoT SiteWise 主控台](https://console.aws.amazon.com/iotsitewise/)。

1. 在導覽窗格中，選擇 **Edge 閘道**。

1. 選取連線至儀表板的 SiteWise Edge 閘道。

1. 在**資料來源**下，選取**編輯**。

1. 選取新的來源**名稱**，然後選取**儲存**以確認您的變更。

1. 確認資料來源****資料表中的資料來源名稱已更新，以驗證您的變更。

### 顯示在 /greengrass/v2/logs 錯誤之 aws.iot.SiteWiseEdgePublisher 日誌中的「找不到或載入主類別」
<a name="troubleshoot-java-issues"></a>

如果您看到此錯誤，您可能需要更新 SiteWise Edge 閘道的 Java 版本。
+ 從終端機執行下列命令：

  ```
  java -version
  ```

  SiteWise Edge 閘道執行的 Java 版本會顯示在 下`OpenJDK Runtime Environment`。您將看到如下所示的回應：

  ```
  openjdk version "11.0.20" 2023-07-18 LTS
  OpenJDK Runtime Environment Corretto011.0.20.8.1 (build 11.0.20+8-LTS
  OpenJDK 64-Bit Server VM Corretto-11.0.20.8.1 (build 11.0.20+8-LTS, mixed node)
  ```

如果您執行的是 Java 11.0.20.8.1 版，則必須將 IoT SiteWise Publisher 套件更新至 2.4.1 版或更新版本。只有 Java 11.0.20.8.1 版受到影響，具有其他 Java 版本的環境可以繼續使用舊版 IoT SiteWise Publisher 元件。如需更新元件套件的詳細資訊，請參閱 [變更 SiteWise Edge 閘道元件套件的版本](manage-gateways-ggv2.md#manage-gateway-update-packs)。

### 我看到 'SESSION\$1TAKEN\$1OVER' 或 'com.aws.greengrass.mqtclient.MqttClient：無法透過 Spooler 發佈訊息，將會重試。' 日誌中的
<a name="sa-troubleshoot-multiple-use"></a>

如果您在 的日誌`com.aws.greengrass.mqttclient.MqttClient: Failed to publish the message via Spooler and will retry.`中看到包含 的警告`SESSION_TAKEN_OVER`或包含 的錯誤`/greengrass/v2/logs/greengrass.log`，您可能會嘗試針對多個裝置上的多個 SiteWise Edge 閘道使用相同的組態檔案。每個 SiteWise Edge 閘道都需要唯一的組態檔案才能連線到 AWS 您的帳戶。

### 我看到 'com.aws.greengrass.deployment.IotJobsHelper：找不到部署任務。' 或 '部署結果已回報。' 日誌中的
<a name="sa-troubleshoot-reuse"></a>

如果您在 的日誌`Deployment result already reported.`中看到 `com.aws.greengrass.deployment.IotJobsHelper: No deployment job found.`或 `/greengrass/v2/logs/greengrass.log`，您可能會嘗試重複使用相同的組態檔案。

有多個解決方案：
+ 如果您想要重複使用組態檔案，請執行下列動作：

  1. <a name="sitewise-open-console"></a>導覽至 [AWS IoT SiteWise 主控台](https://console.aws.amazon.com/iotsitewise/)。

  1. 在導覽窗格中，選擇 **Edge 閘道**。

  1. 選擇您要重複使用的 SiteWise Edge 閘道。

  1. 選擇**更新**索引標籤。

  1. 選取不同的發佈者版本，然後選擇**部署**。

請依照 中的步驟[建立 的閘道 Siemens Industrial Edge](sa-create-config.md)建立新的組態檔案。

### 嘗試在 OPC UA 資料來源的屬性群組中設定時間戳記設定時，我看到「SYNC\$1FAILED」狀態
<a name="troubleshoot-gateway-sync-failed-timestamp"></a>

在 2.5.0 版 AWS IoT Greengrass 中 AWS IoT SiteWise 更新 的 OPC UA 收集器元件時，我們推出了新的時間戳記組態選項。您可以使用來自裝置的時間戳記，或是來自伺服器的時間戳記。OPC UA 收集器元件的較舊版本不支援此選項，且無法同步。

有兩種方法可以解決失敗的資料來源同步狀態。建議的方式是將 IoT SiteWise OPC UA 收集器元件升級至 2.5.0 版或更新版本。或者，如果您將時間戳記設定為 ，則可以繼續使用較舊的 OPC UA 收集器元件版本`Source`。若要了解如何升級 IoT SiteWise OPC UA 收集器元件，請參閱 [更新 AWS IoT SiteWise 元件的版本](manage-gateways-ggv2.md#update-component-version)。建議使用所有元件的最新版本。

**注意**  
當資料來源同步狀態失敗時，不會中斷資料。來源資料會繼續流入 AWS IoT SiteWise。組態不會與 AWS IoT Greengrass V2 部署上的 IoT SiteWise OPC UA 收集器元件同步。

**若要變更屬性群組的時間戳記組態**

1. <a name="sitewise-open-console"></a>導覽至 [AWS IoT SiteWise 主控台](https://console.aws.amazon.com/iotsitewise/)。

1. 在導覽窗格中，選擇 **Edge 閘道**。

1. 選取要編輯的閘道。

1. 在**資料來源**區段中，選取具有失敗同步狀態的資料來源，然後選擇**編輯**。

1. 展開**進階組態**，然後展開**群組設定**。

1. 在**時間戳記**中，選取**來源**。選取**來源**會從組態中移除 `timestampToReturn` 屬性。此設定預設可從您的裝置收集資料來源時間戳記，允許資料來源與 IoT SiteWise OPC UA 收集器元件同步。

1. 選擇**儲存**。

### 不包含轉換後的資料類型
<a name="troubleshoot-data-conversion"></a>

如果您在將不支援的 OPC UA 資料類型轉換為 字串時看到錯誤 AWS IoT SiteWise，有幾個可能的原因：
+ 您嘗試轉換的資料類型是複雜的資料類型。不支援複雜的資料類型。
+ 使用**目的地**做為**AWS IoT SiteWise 緩衝使用 Amazon S3 **時，完整字串值會保留在推送至 Amazon S3 儲存貯體的檔案中。當您稍後將資料擷取到 時 AWS IoT SiteWise，超過 1024 個位元組的完整字串值會遭到拒絕。

### 信任存放區問題
<a name="troubleshoot-trust-stores"></a>

如果您在 SiteWise Edge 中遇到與信任存放區相關的問題，請考慮下列疑難排解步驟：
+ 驗證 AWS IoT Greengrass 根 CA 憑證是否存在，並在適當的信任存放區中正確格式化
+ 確保已正確設定 Java KeyStore 密碼，並可供 SiteWise Edge 元件存取
+ 檢查任何自訂憑證 （例如 HTTPS 代理） 的格式是否正確 （通常是 PEM)，並正確匯入信任存放區
+ 確認信任存放區具有正確的檔案許可，並且可供 SiteWise Edge 程序存取
+ 檢閱 SiteWise Edge 日誌是否有任何 SSL/TLS 相關錯誤，這可能表示信任存放區問題
+ 使用 等工具獨立測試 SSL/TLS 連線`openssl`，以驗證信任存放區功能

### 啟用代理的安裝問題
<a name="troubleshoot-proxy-during-installation"></a>

如果您在代理組態程序期間遇到問題，請考慮下列疑難排解步驟：
+ 確認代理 URL 已正確格式化，並包含適當的結構描述 (`http://` 或 `https://`)
+ 如果代理登入資料包含特殊字元，請確保任何代理登入資料都以 URL 編碼
+ 確認無代理清單包含所有必要的本機地址 AWS 和服務端點
+ 對於 HTTPS 代理，請確認提供的 CA 憑證為 PEM 格式
+ 檢閱安裝日誌是否有可能指出問題來源的特定錯誤訊息
+ 獨立測試代理連線，以確保其正常運作

## 對 上的 AWS IoT SiteWise Edge 應用程式進行故障診斷 Siemens Industrial Edge
<a name="troubleshoot-siemens-app"></a>

若要對Siemens Industrial Edge裝置上的 AWS IoT SiteWise Edge 應用程式進行故障診斷，您可以透過 Siemens Industrial Edge Management或 Siemens Industrial Edge Device (IED) 入口網站存取應用程式的日誌。如需詳細資訊，請參閱 [Siemens 文件中的下載日誌](https://docs.eu1.edge.siemens.cloud/build_a_device/device_building/concepts/howto-download-edge-device-logs.html)。

### 我的資料不會顯示在 中 AWS IoT SiteWise
<a name="w2aac51b7c19b7"></a>
+ 確保您的Databus使用者沒有問題，且 **Databus\$1Configuration** 的核取記號圖示為綠色而非灰色。
+ 您可能未在包含 的版本Siemens Industrial Edge Management上執行Secure Storage。升級您的 Siemens 作業系統版本。如需詳細資訊，請參閱[Siemens Secure Storage 和 AWS IoT SiteWise Edge 應用程式](sitewise-edge-on-siemens.md#sa-secure-storage)。

### 我在日誌中看到「Config 檔案缺少 AWS\$1REGION」
<a name="sa-corrupt-json"></a>

如果您在 Siemens 日誌`Config file missing AWS_REGION`中看到 ，組態檔案的 JSON 已損毀。您需要建立新的組態檔案。請依照 中的步驟[建立 的閘道 Siemens Industrial Edge](sa-create-config.md)建立新的組態檔案。

### 我在 Edge 閘道組態上看到「不同步」錯誤訊息
<a name="sa-sync-failed"></a>

如果您在部署完成後在Siemens Industrial Edge閘道上看到`Out of sync`錯誤訊息，表示 IoT SiteWise 發佈者元件與您的閘道不同步。IoT SiteWise 發佈者元件可在Siemens Industrial Edge閘道的背景運作，以提供 MQTT 主題功能。我們升級了Siemens Industrial Edge閘道以使用功能命名空間`iotsitewise:publisher:3`，而不是 `iotsitewise:publisher:2`。您可以更新至最新版本的發佈者，以解決此問題。

**升級到最新版本的 IoT SiteWise 發佈者**

1. <a name="sitewise-open-console"></a>導覽至 [AWS IoT SiteWise 主控台](https://console.aws.amazon.com/iotsitewise/)。

1. 在導覽窗格中，選擇 **Edge 閘道**。

1. 選取要編輯的Siemens Industrial Edge閘道。

1. 在 **Edge 功能**區段中，選取**檢視軟體版本**。

1. 在發佈者下拉式功能表下，選取最新版本的 IoT SiteWise **發佈者**。

1. 選擇**完成**。

## 對 Edge 的開放原始碼整合進行故障診斷
<a name="open-source-troubleshooting"></a>

本節提供將開放原始碼工具與 SiteWise Edge 整合時可能遇到的常見問題的解決方案。

**注意**  
Node-RED®、InfluxDB® 和 Grafana® 不是 SiteWise Edge 的廠商或供應商。

### 連線問題
<a name="connection-issues"></a>

Node-RED 無法連線至 MQTT 代理程式  
確認 MQTT 代理程式正在執行，並在指定的連接埠上存取。檢查您的網路組態，並確保代理程式地址正確無誤。  
若要驗證 MQTT 代理程式狀態，請執行：  

```
docker ps | grep emqx
```

InfluxDB 連線錯誤  
請確定您的身分驗證字符有效，且您已指定正確的組織和儲存貯體名稱。檢查 InfluxDB 是否正在執行並可存取。  
若要驗證 InfluxDB 狀態，請執行：  

```
curl -I http://localhost:8086
```

Grafana 無法連線至 InfluxDB  
驗證 Grafana 中的 InfluxDB 資料來源組態是否正確，包括 URL、身分驗證字符、組織和儲存貯體。

### 資料流程問題
<a name="data-flow-issues"></a>

中沒有資料出現 AWS IoT SiteWise  
檢查 Node-RED 流程中的屬性別名是否符合預期的格式。確認 MQTT 主題結構正確，且 SiteWise Edge 閘道已正確設定為從 MQTT 代理程式接收資料。

沒有存放在 InfluxDB 中的 SiteWise Edge 資料  
確認 Node-RED 保留流程已正確設定，且 InfluxDB 寫入器節點具有適當的儲存貯體和測量設定。檢查 Node-RED 偵錯輸出是否有任何錯誤。

資料格式錯誤  
確保您的資料轉換功能可在格式之間正確轉換資料。使用 Node-RED 偵錯節點來檢查流程中每個階段的資料。

### 效能問題
<a name="performance-issues"></a>

CPU 或記憶體用量高  
監控資源用量，並視需要調整元件的組態。考慮降低資料收集頻率或實作資料篩選，以減少處理負載。  
若要監控資源用量，請執行：  

```
docker stats
```

慢速載入 Grafana 儀表板  
最佳化您的 InfluxDB 查詢，並考慮將時間範圍限制新增至儀表板面板。使用適當的彙總函數減少顯示的資料點數量。

### 記錄和診斷
<a name="logging-and-diagnostics"></a>

若要疑難排解問題，請檢查每個元件的日誌：

Node-RED 日誌  
在 Node-RED 主控台中檢視日誌或執行：  

```
docker logs node-red
```

InfluxDB 日誌  
透過執行 存取日誌：  

```
docker logs influxdb
```

Grafana 日誌  
執行下列動作來檢視日誌：  

```
docker logs grafana
```

SiteWise Edge 日誌  
檢查 SiteWise Edge 閘道日誌是否有 MQTT 連線和資料處理問題。如需詳細資訊，請參閱[SiteWise Edge 閘道故障診斷](#troubleshooting-gateway)。

## 故障診斷 AWS IoT Greengrass 問題
<a name="troubleshoot-greengrass-issues"></a>

若要尋找設定或部署 SiteWise Edge 閘道的許多問題的解決方案 AWS IoT Greengrass，請參閱《 *AWS IoT Greengrass 開發人員指南*》中的[故障診斷 AWS IoT Greengrass](https://docs.aws.amazon.com/greengrass/v1/developerguide/gg-troubleshooting.html)。