Version : 0.1.5
WADebug est un outil de ligne de commande qui facilite l’identification des problèmes potentiels liés à la configuration de l’API WhatsApp Business et l’optimisation des demandes d’aide auprès de l’assistance WhatsApp.
L’assistance de WADebug pour les différents types de configurations est indiquée ci-dessous. L’exécution de vérifications comprend des commandes qui effectuent différentes actions pour vérifier la configuration du client de l’API WhatsApp Business. La récupération des journaux est une commande permettant de récupérer tous les journaux de conteneurs.
Type de configuration | Exécution de vérifications | Récupération des journaux |
---|---|---|
Instance unique sur site | Prise en charge (instructions) | Prise en charge (instructions) |
Haute disponibilité/Multiconnect sur site | Pas de prise en charge | Prise en charge (instructions) |
AWS | Pas de prise en charge | Prise en charge (instructions) |
Kubernetes | Pas de prise en charge | Pas de prise en charge |
Sommaire du document :
WADebug est un outil de ligne de commande basé sur Python. Installez-le à l’aide de pip :
pip3 install wadebug
Pour effectuer la mise à niveau :
pip3 install wadebug --upgrade
Pour effectuer la désinstallation :
pip3 uninstall wadebug
Pour vérifier que WADebug est installé, vous pouvez exécuter :
wadebug --help
WADebug dispose d’un ensemble d’actions pour vérifier la configuration de l’API WhatsApp Business. Par défaut, la commande exécute toutes les actions disponibles. Si l’état problem
ou l’état warning
est renvoyé, la commande affiche la description, les détails et les méthodes d’atténuation possibles pour vous aider à résoudre les problèmes liés à votre configuration. Il vous est également rappelé comment importer les journaux dans Facebook si vous avez besoin d’aide.
Pour utiliser l’outil, exécutez la commande suivante à partir de la machine hébergeant les conteneurs dockers de l’API WhatsApp Business :
wadebug
Si une action génère wadebug_error
, cela indique qu’il y a eu un problème avec l’outil lui-même. Dans ce cas, signalez le bug via l’Assistance directe.
Un fichier de configuration (wadebug.conf.yml
) doit se trouver dans le répertoire courant pour que WADebug puisse exécuter des vérifications complètes.
Lorsque vous exécutez wadebug
sans le fichier de configuration, l’outil vous demande de créer un fichier squelette pour que vous puissiez remplir les valeurs de configuration. Si aucun fichier de configuration n’existe ou si aucune valeur de configuration n’est définie, certaines actions sont ignorées par manque d’informations.
Exemple de fichier de configuration :
# 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"
Pour vérifier les actions disponibles, exécutez la commande suivante :
wadebug ls
Pour exécuter uniquement un sous-ensemble d’actions disponibles, saisissez cette commande :
wadebug partial check_software_version check_mysql_version
wadebug
offre deux modes : le mode interactif et le mode JSON.
Le mode interactif est le mode par défaut. Lorsqu’il est activé, les tableaux de résultats et les avis s’affichent à l’écran, vous êtes invité à créer un fichier de configuration, etc.
Le mode JSON est utile lorsque vous souhaitez intégrer wadebug
dans un pipeline d’automatisation afin de valider la configuration de l’API WhatsApp Business régulièrement ou chaque fois que vous mettez à niveau la version de l’API WhatsApp Business, par exemple.
Pour exécuter wadebug
en mode JSON, transmettez l’indicateur --json
à toute commande wadebug
disponible :
wadebug --json
Une réponse JSON valide est alors envoyée :
{ "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" } }
Chaque fois que wadebug
s’exécute, les données d’utilisation (notamment les actions exécutées et les résultats renvoyés) sont envoyées à Facebook dans le but d’améliorer l’outil et d’accélérer le processus d’assistance WhatsApp via l’Assistance directe.
Si vous ne voulez pas partager les données d’utilisation avec Facebook lorsque vous utilisez l’outil, exécutez wadebug
avec l’indicateur --do-not-send-usage
wadebug partial check_network --do-not-send-usage
Gardez à l’esprit que même si vous bénéficiez toujours des résultats de dépannage localement, la qualité de vos interactions avec notre service d’assistance risque d’être amoindrie.
wadebug
est utile pour récupérer tous les journaux de conteneurs et les envoyer éventuellement à Facebook afin de faciliter les investigations de notre équipe d’assistance.
Pour récupérer les journaux les plus récents sous wadebug_logs/
dans le répertoire courant :
wadebug logs
Modifications importantes :
wadebug logs
récupère les 10 000 dernières lignes de journaux de chaque conteneurwadebug logs
récupère les 3 dernières heures de journaux de chaque conteneur[Nouveau à partir de v0.1.5] Pour récupérer 3 heures de journaux à partir d’une date et d’une heure précises (fuseau horaire GMT), utilisez l’option --since
. Par exemple, la commande suivante récupère les journaux du 07/01/2020 3:00:02 GMT au 07/01/2020 6:00:02 GMT :
wadebug logs --since='2020-01-07 3:00:02'
Pour envoyer les journaux à Facebook, vous devez ajouter l’indicateur --send
. La réponse de la commande comporte un run_id
que vous pouvez transmettre à l’Assistance directe pour accélérer les investigations :
wadebug logs --send
wadebug logs --since='2020-01-07 3:00:02' --send
En mode Haute disponibilité/Multiconnect, dans lequel les conteneurs sont installés sur un ou plusieurs hôtes, vous devez vous connecter à chaque hôte, installer WADebug et exécuter la commande wadebug logs
ci-dessus.
Si vous avez besoin d’aide pour résoudre les erreurs liées à la configuration de l’API WhatsApp Business, ouvrez un ticket auprès de l’Assistance directe en indiquant le run_id
obtenu à l’issue de l’exécution de wadebug
. Cela nous permet de consulter un rapport sur les actions exécutées et leurs résultats respectifs.
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
Les journaux de conteneurs sont très utiles pour résoudre les erreurs. Pour récupérer et envoyer des journaux de conteneurs à Facebook, exécutez wadebug logs
avec l’indicateur --send
.
wadebug logs --send
Fournissez ensuite le run_id
renvoyé.
Container logs have been uploaded to Facebook. You can reference run_id (AcClyxkRJk3w1dEr8OAmsTn) in Direct Support (https://business.facebook.com/direct-support) tickets
15 janvier 2020 (0.1.5)
wadebug logs
récupère désormais les 3 dernières heures de journaux au lieu des 10 000 dernières lignes--since
à wadebug logs
qui récupère 3 heures de journaux à partir de la valeur d’horodatage spécifiée3 septembre 2019 (v0.1.4)
26 avril 2019 (v0.1.3)
28 décembre 2018 (v0.1.2)
23 octobre 2018 (v0.1.1)