

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

# 一般偵錯和監控
<a name="res-troubleshooting-general"></a>

本節包含可在 RES 中找到的資訊。
+ [有用的日誌和事件資訊來源](#res-troubleshooting-general-info)
  + [尋找環境變數的位置](#res-troubleshooting-general-info-env-vars)
  + [環境 Amazon EC2 執行個體上的日誌檔案](#res-troubleshooting-general-info-logs)
  + [CloudFormation 堆疊](#res-troubleshooting-cf-stacks)
  + [因問題而發生系統故障，並由 Amazon EC2 Auto Scaling 群組活動反映](#res-troubleshooting-asg-activity)
+ [典型的 Amazon EC2 主控台外觀](#res-troubleshooting-ec2-console)
  + [基礎設施主機](#res-troubleshooting-ec2-console-infra)
  + [基礎設施主機和虛擬桌面](#res-troubleshooting-ec2-console-virtual)
  + [處於終止狀態的主機](#res-troubleshooting-ec2-console-hosts-terminated)
  + [實用的 Active Directory (AD) 相關命令以供參考](#res-troubleshooting-ec2-console-active-dir)
+ [Windows DCV 偵錯](#res-troubleshooting-windows-dcv)
+ [尋找 Amazon DCV 版本資訊](#res-troubleshooting-find-nice-dcv)

## 有用的日誌和事件資訊來源
<a name="res-troubleshooting-general-info"></a>

保留了各種資訊來源，可用於故障診斷和監控用途。

### 尋找環境變數的位置
<a name="res-troubleshooting-general-info-env-vars"></a>

根據預設，您可以在下列位置找到環境變數，例如工作階段擁有者使用者名稱：
+ Linux：`/etc/environment`
+ Windows：`C:\Users\Administrator\RES\Bootstrap\virtual-desktop-host-windows\environment_variables.json`

### 環境 Amazon EC2 執行個體上的日誌檔案
<a name="res-troubleshooting-general-info-logs"></a>

日誌檔案存在於 RES 使用的 Amazon EC2 執行個體上。SSM Session Manager 可用來開啟執行個體的工作階段，以檢查這些檔案。

在叢集管理員和 vdc-controller 等基礎設施執行個體上，可在下列位置找到應用程式和其他日誌。
+ /opt/idea/app/logs/application.log
+ /root/bootstrap/logs/
+ /var/log/
+ /var/log/sssd/
+ /var/log/messages
+ /var/log/user-data.log
+ /var/log/cloud-init.log
+ /var/log/cloud-init-output.log

在 Linux 虛擬桌面上，以下包含有用的日誌檔案
+ /var/log/dcv/
+ /root/bootstrap/logs/userdata.log
+ /var/log/messages
+ /opt/idea/app/logs/
+ /opt/res/logs/vdi\_idle\_check.log

在 Windows 虛擬桌面執行個體上，日誌位於
+ PS C：\\ProgramData\\nice\\dcv\\log
+ PS C：\\IDEA\\Logs\\RESIdleCheckVDI\\
+ C：\\Program Files\\RES\\app\\

在 Windows 上，某些應用程式記錄可在以下位置找到：
+ PS C：\\Program Files\\NICE\\DCV\\Server\\bin

在 Windows 上，您可以在以下位置找到 NICE DCV 憑證檔案：
+ C：\\Windows\\System32\\config\\systemprofile\\AppData\\Local\\NICE\\dcv\\

**Amazon CloudWatch Log Groups**

Amazon EC2 和AWS Lambda運算資源會將資訊記錄到 Amazon CloudWatch Log Groups。其中的日誌項目可以在疑難排解潛在問題或取得一般資訊時提供有用的資訊。

這些群組的名稱如下：
+ `/aws/lambda/{{<envname>}}-/ - lambda related`
  + `/aws/lambda/{{<envname>}}-backend-lambda - VDC API logs`
  + `/aws/lambda/{{<envname>}}-dcv-session-management-lambda - DCV session management logs`
+ `/{{<envname>}}/`
  + `cluster-manager/ - main infrastructure host`
  + `virtual-desktop-app/ - virtual desktop bootstrap and DCV related`
  + `vdc/ - virtual desktop related`
    + `dcv-connection-gateway/ - desktop related`
    + `controller/ - main desktop controller host`
    + `dcv-session/ - desktop session related`

檢查日誌群組時，使用如下的大寫和小寫字串進行篩選會很有幫助。這只會輸出包含記下字串的訊息。

```
?"ERROR" ?"error"
```

監控問題的另一種方法是建立 Amazon CloudWatch Dashboards，其中包含顯示感興趣資料的小工具。

例如，建立 Widget 來計算字串錯誤和 ERROR 的出現，並將其繪製為行。此方法可讓您更輕鬆地偵測潛在問題的發生，或指出已發生模式變更的趨勢。

以下是 基礎設施主機的範例。若要使用此功能，請將查詢行串連，並以適當的值取代 `<envname>`和 `<region>` 屬性。

```
{
    "widgets": [
        {
            "type": "log",
            "x": 0,
            "y": 0,
            "width": 24,
            "height": 6,
            "properties": {
                "query": "SOURCE '/{{<envname>}}/vdc/controller' | 
                    SOURCE '/{{<envname>}}/cluster-manager' | 
                   SOURCE '/{{<envname>}}/vdc/dcv-connection-gateway' | 
                    fields @timestamp, @message, @logStream, @log\n| 
                    filter @message like /(?i)(error|ERROR)/\n| 
                    sort @timestamp desc| 
                    stats count() by bin(30s)",
                "region": "{{<region>}}",
                "title": "infrastructure hosts",
                "view": "timeSeries",
                "stacked": false
            }
        }
    ]
}
```

儀表板的範例可能會出現如下：

![顯示錯誤的 cloudwatch 儀表板範例](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/res-dashboard-errors-example.png)


### CloudFormation 堆疊
<a name="res-troubleshooting-cf-stacks"></a>

在環境建立期間建立的 CloudFormation 堆疊包含與環境組態相關聯的資源、事件和輸出資訊。

對於每個堆疊，如需堆疊的相關資訊，可以參考事件、資源和輸出索引標籤。

RES 堆疊：
+ <envname>-bootstrap
+ <envname>-cluster
+ <envname>-metrics
+ <envname>-directoryservice
+ <envname>-identity-provider
+ <envname>-shared-storage
+ <envname>-cluster-manager
+ <envname>-vdc
+ <envname>-bastion-host

示範環境堆疊 （如果您正在部署示範環境，但沒有這些外部資源可用，您可以使用AWS高效能運算配方來產生示範環境的資源。)
+ <envname>
+ <envname>-Networking
+ <envname>-DirectoryService
+ <envname>-Storage
+ <envname>-WindowsManagementHost

### 因問題而發生系統故障，並由 Amazon EC2 Auto Scaling 群組活動反映
<a name="res-troubleshooting-asg-activity"></a>

如果 RES UIs 指出伺服器錯誤，原因可能是應用程式軟體或其他問題。

每個基礎設施 Amazon EC2 執行個體自動擴展群組 (ASGs) 都包含一個活動索引標籤，可用於偵測執行個體的擴展活動。如果 UI 頁面注意到任何錯誤或無法存取，請檢查 Amazon EC2 主控台是否有多個終止的執行個體，並檢查 Auto Scaling 群組活動索引標籤是否有相關的 ASG，以判斷 Amazon EC2 執行個體是否正在循環。

若是如此，請使用執行個體的相關 Amazon CloudWatch 日誌群組，判斷是否記錄可能指出問題原因的錯誤。您也可以使用 SSM 工作階段主控台開啟該類型執行中執行個體的工作階段，並檢查執行個體上的日誌檔案以判斷原因，再將執行個體標示為運作狀態不佳，並由 ASG 終止。

如果發生此問題，ASG 主控台可能會顯示類似下列的活動。

![ec2 負載平衡器儀表板範例，顯示執行個體運作狀態和已註冊目標的詳細資訊](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/res-ec2-target-groups.png)


## 典型的 Amazon EC2 主控台外觀
<a name="res-troubleshooting-ec2-console"></a>

本節包含在各種狀態下操作的系統螢幕擷取畫面。

### 基礎設施主機
<a name="res-troubleshooting-ec2-console-infra"></a>

當沒有桌面執行時，Amazon EC2 主控台通常看起來類似以下內容。顯示的執行個體是 RES 基礎設施 Amazon EC2 主機。執行個體名稱中的字首是 RES 環境名稱。

![儀表板顯示狀態為執行的 res-stage2 的 ec2 執行個體](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/res-ec2-instances.png)


### 基礎設施主機和虛擬桌面
<a name="res-troubleshooting-ec2-console-virtual"></a>

在 Amazon EC2 主控台中，當虛擬桌面執行時，它們看起來與以下內容類似。在此情況下，虛擬桌面會以紅色標示。執行個體名稱的尾碼是建立桌面的使用者。中間的名稱是啟動時設定的工作階段名稱，可以是預設的「MyDesktop」或使用者設定的名稱。

![EC2 主控台儀表板中的執行個體頁面](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/res-ec2-highlighted-instances.png)


### 處於終止狀態的主機
<a name="res-troubleshooting-ec2-console-hosts-terminated"></a>

當 Amazon EC2 主控台顯示已終止的執行個體時，它們通常是已終止的桌面主機。如果主控台包含處於終止狀態的基礎設施主機，特別是有多個相同類型的主機，這可能表示系統正在進行中。

下圖顯示已終止的桌面執行個體。

![EC2 主控台儀表板中的執行個體頁面反白顯示已終止的執行個體](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/res-ec2-terminated-instances.png)


### 實用的 Active Directory (AD) 相關命令以供參考
<a name="res-troubleshooting-ec2-console-active-dir"></a>

以下是可在基礎設施主機上輸入的 ldap 相關命令範例，以檢視 AD 組態相關資訊。使用的網域和其他參數應該反映在環境建立時輸入的參數。

```
ldapsearch "(cn=AWS Delegated Add Workstations To Domain Users)" -x -h corp.res.com 
    -b "DC=corp,DC=res,DC=com" -D "CN=Admin,OU=Users,OU=CORP,DC=corp,DC=res,DC=com" 
    -w {{<password>}}

ldapsearch "(&(objectClass=group))" -x -h corp.res.com 
    -b "DC=corp,DC=res,DC=com" -D "CN=Admin,OU=Users,OU=CORP,DC=corp,DC=res,DC=com" 
    -w {{<password>}}
```

## Windows DCV 偵錯
<a name="res-troubleshooting-windows-dcv"></a>

在 Windows 桌面上，您可以使用下列方式列出與其相關聯的工作階段：

```
PS C:\Windows\System32\config\systemprofile\AppData\Local\NICE\dcv> & 'C:\Program Files\NICE\DCV\Server\bin\dcv.exe'list-sessions
Session: 'a7953489-9dbf-492b-8135-7709dccc4cab' (owner:admin2 type:console name:windows1)
```

## 尋找 Amazon DCV 版本資訊
<a name="res-troubleshooting-find-nice-dcv"></a>

Amazon DCV 用於虛擬桌面工作階段。[AWSAmazon DCV](https://aws.amazon.com/hpc/dcv/)。下列範例示範如何判斷已安裝的 DCV 軟體版本。

Linux

```
[root@ip-10-3-157-194 ~]# /usr/bin/dcv version

Amazon DCV 2023.0 (r14852)
Copyright (C) 2010-2023 NICE s.r.l.
All rights reserved.

This product is protected by copyright and
licenses restricting use, copying, distribution, and decompilation.
```

Windows

```
PS C:\Windows\System32\config\systemprofile\AppData\Local\NICE\dcv> & 'C:\Program Files\NICE\DCV\Server\bin\dcv.exe' version

Amazon DCV 2023.0 (r15065)
Copyright (C) 2010-2023 NICE s.r.l.
All rights reserved.

This product is protected by copyright and
licenses restricting use, copying, distribution, and decompilation.
```