オンプレミスAPIを終了します。詳細と次世代クラウドAPIへの移行方法については、オンプレミスAPIの終了のドキュメントを参照してください。
support
ノードを使用してサポート情報を取り出すことに加え、問題のトラブルシューティングのためにDockerログ、AWSログ、HTTPリクエストIDを取り出すこともできます。
このドキュメントの内容は以下のとおりです。
ダイレクトサポートチケットをオープンする方法について詳しくは、サポートへのお問い合わせをご覧ください。
WADebugツールを使用することにより、ログを自動的に収集したりアップロードしたりできます。応答の一部としてrun_id
が返されます。ダイレクトサポートでこれを参照すれば、調査をより迅速に実行できます。次のコマンドを実行するだけです。
wadebug logs --send
注: コンテナが1つまたは複数のホストにインストールされるハイアベイラビリティ/マルチコネクトモードの場合は、個々のホストにログインし、WADebugをインストールして、上記のコマンドを実行する必要があります。コマンドの実行が成功するたびに1つのrun_id
を取得できます。それをダイレクトサポートで参照することにより、より迅速に調査を実行できます。
WADebugツールを使うことができない場合は、docker logs
コマンドを使って各コンテナから個別にログを取り出すことができます。例えば、waweb
コンテナからログを取り出すには、次のコマンドを実行します。
docker logs <container id of waweb> >> waweb.log
docker logs
コマンドでは、さまざまなオプションを使用することにより、ログファイルのサイズを制限することができます。例えば、waweb
コンテナからログの最後の1000行のみ取り出すには、次のコマンドを実行します。
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
に関する公式のドキュメントをご覧ください。
注: コンテナログは、すべてGMTタイムゾーンです。GMTタイムスタンプを、--since
と--until
のパラメーターに渡す必要があります。
WhatsAppコンテナのすべてのログを取得するには、次のコマンドを実行します。
WA_API_VERSION=new-whatsapp-version docker-compose logs > debug_output.txt
注: このコマンドでは、巨大なログファイルが生成されることがあります。関係のあるもののみに制限して取り出すログの量を小さくするためのオプションについては、「Dockerの使用」のセクションをご覧ください。
このようにしてから、それらのファイルを分析やデバッグのためにWhatsAppに送信することができます。
新しいクラッシュロギングシステムをバージョン2.53
に実装しました。これはクラッシュが発生するたびにダンプファイルを保存するものです。クラッシュダンプとして知られるこれらのファイルは、logs/
ディレクトリに保存され、30日間保管されます。ファイルはマシン上のローカルにのみ保存され、ログファイルと同じ方法で取得できます。クラッシュダンプには、クラッシュしたスレッドに関連付けられたメモリデータが含まれる場合があります。
kubectl
の使用Webappなど、デプロイされている特定のサービスについてのログを取得するには、Kubernetesのセットアップで、次のコマンドを実行します。
kubectl logs deployments/whatsapp-web-deployment > whatsapp-web-deployment.txt
その後、ファイルを分析やデバッグのためにWhatsAppに送信することができます。
AWSの設定に関するログを取得するには、以下の手順を実行してください。
Rollback on Failure
をNo
に設定することにより、エラー発生時にログが削除されないようにするこれは、下記に示すようにして、スタックの作成/更新ステップの間に設定する必要があります。
EC2インスタンスとSSH接続する方法については、AWSガイドをご覧ください。WhatsApp Business APIスタック作成/更新においては、非公開VPCと公開VPCのいずれでも使用できることに注意してください。非公開VPCの場合、非公開Amazon VPCで実行中のLinuxインスタンスに安全に接続するのセクションで説明されている手順に従う必要があります。
コンテナにアクセスできるようになったなら、以下のログを取得し、それらをダイレクトサポートチケットに添付してください。
sudo docker logs ecs-agent > ecs-agent.log
wadebug logs
コマンドを実行することによりすべてのコンテナログを収集します。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コンソール] -> [自動スケーリング] -> [自動スケーリンググループ]にあります。次に、問題のあるスタックの該当グループを選択し、[アクティビティ履歴]タブを選択します。
v2.21.3
以降、HTTPリクエストを受信するたびに、毎回、WhatsAppビジネスAPIにより固有のリクエストIDが生成されます。それらのリクエストIDは、トラブルシューティングの時間短縮のため、特定のリクエストに関係のあるログを特定するために利用されます。不具合報告の際には、X-Request-ID
応答ヘッダーおよびX-Internal-Request-IDS
応答ヘッダーの値をチケットに含めてください。この値は、問題を特定したり再現したりするのに役立ちます。