目前版本:0.1.5
WADebug 是一款指令碼行工具,可助您找到 WhatsApp Business API 設定中的任何潛在問題,並讓您更有效地向 WhatsApp 支援團隊提出協助要求。
本文件將講解以下內容:
WADebug 是用 Python 編寫的指令行工具。使用 pip 安裝此工具:
pip3 install wadebug
如要升級:
pip3 install wadebug --upgrade
如要解除安裝:
pip3 uninstall wadebug
如要檢查是否成功安裝 wadebug,請執行以下指令:
wadebug --help
WADebug 會執行一系列動作,以驗證 WhatsApp Business API 設定。在預設情況下,它會執行所有可用的動作。如果系統傳回 problem
或 warning
狀態,畫面會顯示描述、詳情和可用的緩解方法,以助您解決設定相關的疑難。如需要協助,系統亦會提示您如何將記錄上載至 Facebook。
如要使用此工具,請在託管 WhatsApp Business API Docker 容器的裝置執行以下指令:
wadebug
如果此動作導致出現 wadebug_error
,則代表工具本身存在問題。如果遇到上述問題,請透過直接支援服務回報此錯誤
WADebug 需要目前目錄的配置檔案(wadebug.conf.yml
)才能執行所有檢查。
如果在沒有提供配置檔案的情況下運行 wadebug
,此工具將會提示建立骨架檔案,以便您填入配置值。如果無法找到配置檔案或未有設定配置值,此工具會因欠缺資訊而略過部分動作。
配置檔案範例:
# configurations related to the MySQL database db: # hostname of the MySQL database host: # for example, "0.0.0.0" # host port that the MySQL database uses # to connect to database container created by docker-compose scripts, use 33060 port: # for example, 33060 # username to connect to the MySQL database user: # for example, "root" # password of the username that is used to connect to the MySQL database password: # for example, "your_database_password" # configurations related to WhatsApp Business API webapp: # url accessible from the host running wadebug baseUrl: # https://localhost:9090 # WhatsApp Business API user account credentials to call Support API user: # for example, "wadebug" # WhatsApp Business API user account credentials to call Support API password: # for example, "secretdebugger"
如要查看可執行的動作,請執行以下指令:
wadebug ls
如果只想運行其中一部分可執行動作,請輸入以下指令:
wadebug partial check_software_version check_mysql_version
wadebug
提供兩種模式:互動模式和 JSON 模式。
互動模式為預設模式;使用此模式時,您會看到以形象化方式呈現的結果表格、通知,以及建立配置檔案的提示等。
如果您想將 wadebug
整合至自動化流程,以便定期或在每次升級 WhatsApp Business API 版本時驗證 WhatsApp Business API 設定,JSON 模式便對您非常有用。
如要在 JSON 模式下執行 wadebug
,請將 --json
旗幟傳遞至任何可用的 wadebug
指令:
wadebug --json
系統將傳回有效的 JSON 回應:
{ "containers_status":{ "class":"CheckContainersAreUp", "user_facing_name":"containers_status", "result":"OK" }, "check_mysql_connection":{ "class":"CheckMySQLConnection", "user_facing_name":"check_mysql_connection", "result":"OK" }, "check_software_version":{ "class":"CheckSoftwareVersion", "user_facing_name":"check_software_version", "result":"OK" }, "check_mysql_version":{ "class":"CheckMySQLVersion", "user_facing_name":"check_mysql_version", "result":"OK" }, "check_network":{ "class":"CheckNetworkAction", "user_facing_name":"check_network", "result":"OK" }, "check_mysql_permissions":{ "class":"CheckMySQLPermissions", "user_facing_name":"check_mysql_permissions", "result":"OK" }, "check_mysql_password":{ "class":"CheckMySQLPassword", "user_facing_name":"check_mysql_password", "result":"OK" }, "check_db_settings_exist":{ "class":"CheckDbSettingsExist", "user_facing_name":"check_db_settings_exist", "result":"OK" }, "check_webapp_port":{ "class":"CheckWebappPortAction", "user_facing_name":"check_webapp_port", "result":"OK" } }
每次執行 wadebug
時,系統會將使用情況數據(包括已執行的動作和傳回的結果)傳送至 Facebook,以便改善此工具的性能,以及加快直接支援團隊提供 WhatsApp 支援的速度。
如果您不想在使用此工具時與 Facebook 分享使用情況數據,請執行含有 --do-not-send-usage
旗幟的 wadebug
wadebug partial check_network --do-not-send-usage
請注意,雖然您仍可以在本機查看解決疑難結果,但是您與支援團隊的互動體驗或會有所下降。
wadebug
可讓您方便地檢索所有容器記錄,並選擇性地將這些記錄傳送至 Facebook,從而幫助我們的支援團隊調查問題。
如要在目前目錄的 wadebug_logs/
中檢索最近的記錄:
wadebug logs
重要變更:
wadebug logs
指令會從每個容器檢索最後 1 萬行的記錄內容wadebug logs
指令會從每個容器檢索最近 3 小時的記錄內容[0.1.5 版新功能] 如要檢索特定時間日期(格林威治標準時間)起計 3 小時的記錄,請使用 --since
選項。範例:以下指令會檢索 2020-01-07 3:00:02(格林威治標準時間)至 2020-01-07 6:00:02(格林威治標準時間)期間的記錄:
wadebug logs --since='2020-01-07 3:00:02'
如要將記錄傳送至 Facebook,您需要附上 --send
旗幟。您收到的回應會包含 run_id
,您可將其提供予直接支援團隊以加快調查速度:
wadebug logs --send
wadebug logs --since='2020-01-07 3:00:02' --send
高可用性/多點連線模式的容器安裝於一個或多個託管裝置中,您需要登入每部託管裝置,然後安裝 WADebug 並執行上述的 wadebug logs
指令。
如果您在解決 WhatsApp Business API 設定相關疑難時需要幫助,請在執行 wadebug
之後,以系統傳回的 run_id
開立直接支援案件。這樣,我們便可以查看已執行動作和相應結果的報告。
A report of this run has been uploaded to Facebook. You can reference run_id (A5jedVKsdI_ZojRwL1_-MOd) in Direct Support (https://business.facebook.com/direct-support) tickets
容器記錄對解決疑難非常有用;如要收集記錄並將記錄傳送至 Facebook,請執行含有 --send
旗幟的 wadebug logs
。
wadebug logs --send
以及提供系統傳回的 run_id
Container logs have been uploaded to Facebook. You can reference run_id (AcClyxkRJk3w1dEr8OAmsTn) in Direct Support (https://business.facebook.com/direct-support) tickets
2020 年 1 月 15 日(0.1.5 版)
wadebug logs
現會取得過去 3 小時的記錄,而非最後 1 萬行記錄wadebug logs
加入 --since
選項,以檢索指定的時間日期值起計 3 小時的記錄2019 年 9 月 3 日(0.1.4 版)
2019 年 4 月 26 日(0.1.3 版)
2018 年 12 月 28 日(0.1.2 版)
2018 年 10 月 23 日(0.1.1 版)