企業用戶端主控板警示

嚴重 API 故障警示

說明

contacts APImessages API 的成功率偏低

執行項目

  1. 請在 contactsmessages API 的要求/秒面板中找出 API 錯誤代碼。
  2. 查看錯誤代碼文件
  3. 查看核心應用程式要求/秒資料庫查詢/秒面板,確認故障是否與核心應用程式故障或資料庫故障有關。
  4. 查看核心應用程式總覽主控板(在節點變數中填入有問題的核心應用程式)和 MySQL 總覽主控板,以取得詳細資訊。

無統計資料警示

說明

缺少監控資料

執行項目

  1. 存取 Prometheus 目標端點(即 http://your-monitoring-hostname:9090/targets),確認 webstats 和 appstats 端點狀態為 UP
  2. 如果 Prometheus 無法連線至網路應用程式,請執行 WADebug 以排解錯誤。
  3. 如果網路應用程式和核心應用程式容器正在執行,請檢查 .env 檔案中的 WA_WEB_ENDPOINTWA_WEB_USERNAMEWA_WEB_PASSWORD 是否有效。

核心應用程式總覽主控板警告

回呼故障警示

說明

傳送回呼至應用程式設定中指定的 Webhook 網址的成功率偏低

執行項目

  1. 回呼要求/秒面板中找出回呼回覆錯誤代碼。
  2. Grep 網路錯誤的核心應用程式記錄,查看實際的錯誤訊息。
  3. 根據錯誤代碼和訊息:
    • 確認 Coreapp 是否可存取 Webhook。
    • 確認 Webhook 是否在處理通知後一律傳回 HTTPS 200 OK 回覆。
    • 確認 Webhook 是否花了很長的時間才回應。

高待處理傳出訊息警示

說明

傳出訊息佇列快要用盡;API 要求即將失敗並發生 System overloaded error1016

執行項目

  1. 查看傳出訊息面板列是否有任何異常的流量增加。如果有異常的流量增加,請嘗試減少流量負載,直到警示消失為止。
  2. 確認資料庫最近是否曾經容錯轉移到其他區域。WhatsApp Business API 可能因跨區域延遲而無法滿足負載。
  3. 如果傳出訊息隨時間緩慢累積在佇列中,您應該將此錯誤回報給我們。
  4. 如果單一 WhatsApp Business API 用戶端無法滿足您的負載需求,請設定多點連線以支援更高的負載。

注意:在某些罕見的情況下,主控板可能會因為實作基礎佇列而顯示超過 100% 的傳出訊息佇列使用率。執行項目仍維持不變。

高佇列回呼警示

說明

回呼佇列快要用盡;API 要求即將失敗並發生 System overloaded error1016

執行項目

  1. 查看回呼錯誤率面板,確認回呼是否已成功處理。
  2. 縮短 Webhook 的回呼處理時間。
  3. 設定應用程式設定中的 max_concurrent_requests,增加進行中回呼要求的數量(預設為 6)。

資料庫交易錯誤率警告

說明

資料庫交易作業(交易、認可、復原)的錯誤率偏高。

執行項目

  1. 資料庫交易/秒面板中找出有問題的資料庫和作業。
  2. Grep QSqlError 的核心應用程式記錄,查看實際的 SQL 錯誤代碼和訊息。
  3. 根據錯誤代碼和訊息:
    1. 查看 MySQL 總覽主控板或您自己的資料庫主控板,驗證資料庫是否正常運作。
    2. 如果錯誤指出架構問題或 SQL 查詢錯誤,請提交直接支援案件以進行調查。

資料庫讀取查詢錯誤率警告

說明

資料庫讀取作業(選擇、準備)的錯誤率偏高。

執行項目

  1. 資料庫讀取查詢/秒面板中找出有問題的資料庫和作業。
  2. Grep QSqlError 的核心應用程式記錄,查看實際的 SQL 錯誤代碼和訊息。
  3. 根據錯誤代碼和訊息:
    1. 查看 MySQL 總覽主控板或您自己的資料庫主控板,驗證資料庫是否正常運作。
    2. 如果錯誤指出架構問題或 SQL 查詢錯誤,請提交直接支援案件以進行調查。

資料庫寫入查詢錯誤率警告

說明

資料庫寫入作業(插入、更新、刪除等)的錯誤率偏高。

執行項目

  1. 資料庫寫入查詢/秒面板中找出有問題的資料庫和作業。
  2. Grep QSqlError 的核心應用程式記錄,查看實際的 SQL 錯誤代碼和訊息。
  3. 根據錯誤代碼和訊息:
    1. 查看 MySQL 總覽主控板或您自己的資料庫主控板,驗證資料庫是否正常運作。
    2. 如果錯誤指出架構問題或 SQL 查詢錯誤,請提交直接支援案件以進行調查。

平均資料庫交易延遲(毫秒)警告

說明

資料庫交易作業(交易、認可、復原)的平均延遲偏高。

執行項目

建議資料庫延遲少於 15 毫秒,以達成較高的訊息傳送量。

  1. 平均資料庫交易延遲(毫秒)面板中找出速度較慢的資料庫。
  2. 查看 MySQL 總覽主控板或您自己的資料庫主控板,驗證資料庫是否正常運作。
  3. 使用 mysqlslappgbench 衡量並行用戶端的 XACT 延遲。
  4. 按照高輸送量建議處理方式,使用類似設定來設定您的資料庫。

常見問題

  • 資料庫執行個體即將耗盡 CPU/記憶體/磁碟/IOPS/連線。
  • 資料庫執行個體在磁碟而不是 SSD 的最上層運作。
  • 資料庫執行個體與核心應用程式位於不同區域,且具有較長的網路來回時間。

平均資料庫讀取查詢延遲(毫秒)警告

說明

資料庫讀取作業(選擇、準備)的平均延遲偏高。

執行項目

建議資料庫延遲少於 15 毫秒,以達成較高的訊息傳送量。

  1. 平均資料庫讀取查詢延遲(毫秒)面板中找出速度較慢的資料庫。
  2. 查看 MySQL 總覽主控板或您自己的資料庫主控板,驗證資料庫是否正常運作。
  3. 使用 mysqlslappgbench 衡量並行用戶端的讀取延遲。
  4. 按照高輸送量建議處理方式,使用類似設定來設定您的資料庫。

常見問題

  • 資料庫執行個體即將耗盡 CPU/記憶體/連線。
  • 資料庫執行個體與核心應用程式位於不同區域,且具有較長的網路來回時間。

平均資料庫寫入查詢延遲(毫秒)警告

說明

資料庫寫入作業(插入、更新、刪除等)的平均延遲偏高。

執行項目

建議資料庫延遲少於 15 毫秒,以達成較高的訊息傳送量。

  1. 平均資料庫寫入查詢延遲(毫秒)面板中找出速度較慢的資料庫。
  2. 查看 MySQL 總覽主控板或您自己的資料庫主控板,驗證資料庫是否正常運作。
  3. 使用 mysqlslappgbench 衡量並行用戶端的寫入延遲。
  4. 按照高輸送量建議處理方式,使用類似設定來設定您的資料庫。

常見問題

  • 資料庫執行個體即將耗盡 CPU/記憶體/磁碟/IOPS/連線。
  • 資料庫執行個體在磁碟而不是 SSD 的最上層運作。
  • 資料庫執行個體與核心應用程式位於不同區域,且具有較長的網路來回時間。

平均回呼要求延遲(毫秒)警告

說明

對應用程式設定中指定的 Webhook 網址之回呼要求的平均延遲偏高。

執行項目

建議回呼延遲少於 80 毫秒,以達成較高的訊息傳送量。

  1. 針對 Webhook 伺服器執行基準測試,並執行分析來找出瓶頸。
  2. 以非同步方式執行非重大的作業,並立即傳回 HTTPS 200 OK 回覆。
  3. 如果負載平衡器之後的 Webhook 伺服器耗盡系統資源,請增加這些伺服器的數量。

伺服器連線要求警告

說明

核心應用程式持續中斷與 WhatsApp 伺服器的連線。不穩定的連線將影響核心應用程式的訊息傳送效能,並導致 API 失敗。

執行項目

  1. Grep「串流錯誤」的核心應用程式記錄,查看實際的連線中斷錯誤以及訊息和頻率。
  2. 如果連線會定期中斷數小時,重新啟動核心應用程式可能會減少問題。
  3. 維護記錄並提交直接支援案件以進行更多調查。

訊息解密/秒警告

說明

核心應用程式解密 WhatsApp 伺服器傳入訊息的速度不夠快,如此將觸發連線中斷。

執行項目

  1. 查看資料庫讀取/寫入/交易延遲面板,驗證資料庫是否運作良好。建議資料庫延遲少於 15 毫秒,以達成較高的傳送量。按照上述平均資料庫寫入查詢延遲(毫秒)警告執行項目來解決資料庫問題。
  2. 查看核心應用程式執行個體是否即將耗盡 CPU。若是如此,請升級至更大的執行個體。
  3. 維護記錄並提交直接支援案件,對 WhatsApp 伺服器端的傳入訊息進行限速。

機器總覽主控板警示

高 CPU 使用量警示

說明

機器的 CPU 使用率過高

執行項目

  1. 查看 CPU 詳細使用率面板,取得使用率分佈。
  2. 在機器上執行 atoptop,找出 CPU 使用量最高的處理程序。也可以填入有問題機器的機器變數,查看容器總覽主控板中其他容器層級的 CPU 衡量指標。
  3. 如果 Webapp、Coreapp 或資料庫佔了最多的 CPU 使用率,請尋找效能更高的機器來託管這些項目。使用高可用性/多點連線模式時,如果 Webapp 和 Coreapp 容器在同一部機器上執行,請嘗試將它們移到不同的機器上。

高磁碟使用量警示

說明

機器上裝置的磁碟使用量過高

執行項目

  1. 在要分析磁碟使用量的裝置上執行 dudf 指令。也可以填入有問題機器的機器變數,查看容器總覽主控板中其他容器層級的磁碟衡量指標。
  2. 清除裝置上佔空間的非必要資料;如果有媒體檔案或記錄,請設定 cron 工作以定期清除舊資料。

高記憶體使用量警示

說明

機器的記憶體使用率過高

執行項目

  1. 查看記憶體詳細資料面板,取得使用率分佈。
  2. 在機器上執行 atoptop,找出記憶體使用量最高的處理程序。也可以填入有問題機器的機器變數,查看容器總覽主控板中其他容器層級的記憶體衡量指標。
  3. 如果 Webapp、Coreapp 或資料庫佔了最多的記憶體使用率,請尋找效能更高的機器來託管這些項目。
  4. 如果 Coreapp 記憶體使用量隨時間緩慢增加,表示可能有記憶體流失的問題;您應將此問題回報給我們。重新啟動 Coreapp 以減少記憶體的問題。

開啟檔案過多警示

說明

機器的檔案描述符即將用完

執行項目

  1. 查看檔案描述符面板,找出開啟檔案的限制。
  2. /etc/sysctl.conf 檔案中設定更高的值(例如,fs.file-max = 600000),提高開啟檔案的限制數量。
  3. 執行 sysctl -p 套用變更。

MySQL 總覽主控板警示

資料庫連線過多警示

說明

資料庫連線集區使用量過高;近期的新資料庫要求可能會失敗並顯示 Too many connections 錯誤

執行項目

  1. 查看連線面板,找出最新的連線限制。
  2. my.cnf 中提高 MySQL 系統變數 max_connections(預設為 151),然後重新啟動 MySQL Server。如需詳細資訊,請參閱 MySQL Server 系統變數文件
  3. 如為 AWS RDS,則您需要移轉至更大的 RDS 執行個體。如需指示,請參閱 AWS 部署詳細資料RDS 執行個體大小一節。

WebApp 總覽主控板警示

HTTP 伺服器高待處理連線警示

說明

Webapp 內部 HTTP 伺服器連線佇列快要用盡

執行項目

  1. 查看企業用戶端主控板,找出是否有異常的 API 流量或高 API 要求延遲。
  2. 如需詳細資訊,請查看 Webapp 記錄。
  3. 查看 Webapp 的 CPU 使用量是否過高,如果是的話,請尋找效能更高的機器來託管 Webapp。