我們即將停用內部部署 API。詳情請參閱內部部署 API 停用文件,並從中了解如何轉用新一代雲端 API。

支援記錄

除了使用 support 節點擷取您的支援資訊外,您還可以擷取 Docker 記錄、AWS 記錄和 HTTP 要求編號以解決疑難問題。

本文件包含:

查看聯絡支援團隊,了解更多有關建立直接支援案件的資訊。

擷取 Docker 記錄

使用 WADebug(首選

您可以使用 WADebug 工具自動收集和上載記錄。您收到的回應會包含 run_id,您可將其提供予直接支援團隊以加快調查速度。您只需執行以下指令:

  wadebug logs --send

請注意:如果高可用性/多點連線模式的容器安裝於一個或多個託管裝置中,您需要登入每部託管裝置,然後安裝 WADebug 並執行上述指令。如果指令成功執行,每個指令都會包含一個 run_id,您可將其提供予直接支援團隊以加快調查速度。

使用 Docker

如果您無法使用 WADebug 工具,則可使用 docker logs指令,分別從每個容器中擷取記錄。例如,如要從 waweb 容器中擷取記錄,請執行以下指令:

docker logs <container id of waweb> >> waweb.log

您可以使用不同的 docker logs 指令選項來限制記錄檔案的大小。例如,如要從 waweb 容器中僅擷取最後 1,000 行記錄,請執行以下指令:

docker logs <container id of waweb> --tail 1000 >> waweb.log

如要僅擷取特定時間長度之間的 waweb 容器記錄,請使用 --since--until 選項執行指令,例如:

docker logs <container id of waweb> --since 2020-01-20T20:00:00Z --until 2020-01-21T08:00:00Z >> waweb.log

對所有 WhatsApp 容器執行指令,並將這些檔案傳送至 WhatsApp 以作分析和偵錯。請參閱官方 docker logs文件,查看更多選項。

備註:所有容器記錄均以格林威治標準時間顯示。您需要將格林威治標準時間時戳傳遞給 --since--until 參數。

使用 Docker Compose

如要從所有 WhatsApp 容器中獲取所有記錄,請執行以下指令:

WA_API_VERSION=new-whatsapp-version docker-compose logs > debug_output.txt

請注意:此指令可產生非常大型的記錄檔案。如要擷取更小型、相關性更高的記錄,請參閱「使用 Docker」部分。

之後,您可以將這些檔案傳送至 WhatsApp 以作分析和偵錯。

當機記錄

我們在版本 2.53 中執行了新的當機記錄系統。每當發生當機情況,系統就會儲存傾印檔案。這些檔案稱為當機傾印,會儲存在 logs/ 目錄中並保留 30 天。檔案僅儲存在本機裝置上,並可透過與記錄檔案相同的方式擷取。當機傾印可能包括與當機訊息串相關的記憶體資料

擷取 Kubernetes 記錄

使用 kubectl

如要擷取已部署服務(例如 Webapp)的特定記錄,請在 Kubernetes 設定中執行以下指令:

kubectl logs deployments/whatsapp-web-deployment > whatsapp-web-deployment.txt

之後,您可以將檔案傳送至 WhatsApp 以作分析和偵錯。

擷取 AWS 記錄

請按以下步驟擷取 AWS 設定上的記錄:

Rollback on Failure 設定為 No,確保操作失敗時記錄被不會刪除

您需要在建立堆疊/更新步驟中設定此項目,如下所示:

從 CloudWatch 控制台獲取 CloudFormation 堆疊建立記錄


連接您的 EC2 個體(如已成功建立)

按照 AWS 指南的步驟,使用 SSH 登入您的 EC2 個體。請注意,在建立/更新 WhatsApp Business API 堆疊期間,您可以選擇使用私人或公共 VPC。如果選擇使用私人 VPC,請按照安全連接至在私人 Amazon VPC 中執行的 Linux 系統個體區塊的步驟操作。

獲取記錄

當您有權存取容器後,請擷取以下記錄,並將之附加至直接支援問題案件中。

  1. sudo docker logs ecs-agent > ecs-agent.log
  2. 壓縮並擷取所有由堆疊建立的 EC2 個體/var/log。
  3. 在所有 EC2 個體上安裝 WADebug,然後執行 wadebug logs 指令以收集所有容器記錄。
  4. 如果第 3 步中無法使用 WADebug,請執行以下指令手動收集記錄:
    • 執行 docker ps -a,列出所有正在執行的容器,並分享輸出內容
    • 執行 docker logs <docker container id of the core app> >> wacore.log 並分享記錄內容
    • 執行 docker logs <docker container id of the web app> >> waweb.log 並分享記錄內容
    • 執行 docker cp <docker container id of the web app>:/var/log/whatsapp/web.log ./web.log 並分享記錄內容
    • 執行 docker cp <docker container id of the web app>:/var/log/lighttpd/error.log ./error.log 並分享記錄內容

動態記錄

如果未有建立 EC2 個體,則您必須提供適當自動縮放群組的動態記錄。此項目位於 EC2 控制台 -> 自動縮放 -> 自動縮放群組。然後,選擇適用於有問題堆疊的群組,選擇動態記錄分頁。

收集 HTTP 要求編號

v2.21.3 版開始,WhatsApp Business API 會為其接收到的所有傳入 HTTP 要求產生不重複要求編號。這些要求編號有助找出有關特定要求的記錄,從而快速解決問題。如果您想回報錯誤,請在問題案件中加入 X-Request-IDX-Internal-Request-IDS 回應標題值,以便找出並再現您的問題。