Versión actual: 0.1.5
WADebug es una herramienta de línea de comandos que sirve para buscar posibles problemas en la configuración de la API de WhatsApp Business y para pedir ayuda más fácilmente a la asistencia de WhatsApp.
A continuación, se muestra la compatibilidad de WADebug con diferentes tipos de configuraciones. Ejecutar comprobaciones se refiere a los comandos que ejecutan varias acciones para verificar la configuración del cliente de la API de WhatsApp Business. Recuperar registros hace referencia al comando para recuperar todos los registros del contenedor.
Tipo de configuración | Ejecutar comprobaciones | Recuperar registros |
---|---|---|
Instancia única local | Compatible (Instrucciones) | Compatible (Instrucciones) |
Alta disponibilidad/conexión múltiple local | No compatible | Compatible (Instrucciones) |
AWS | No compatible | Compatible (Instrucciones) |
Kubernetes | No compatible | No compatible |
Este documento abarca lo siguiente:
WADebug es una herramienta de línea de comandos escrita en Python. Para instalarla con pip:
pip3 install wadebug
Para actualizarla:
pip3 install wadebug --upgrade
Para desinstalarla:
pip3 uninstall wadebug
Para validar la instalación de WADebug, puedes ejecutar:
wadebug --help
WADebug tiene un conjunto de acciones que permite verificar la configuración de una API de WhatsApp Business. De forma predeterminada, ejecuta todas las acciones disponibles. Si se devuelve un estado problem
o warning
, también incluirá la descripción, los detalles y los posibles métodos de mitigación para ayudarte a solucionar el problema de configuración. Asimismo, se te recordará cómo subir registros a Facebook si necesitas ayuda.
Para usar la herramienta, ejecuta el siguiente comando desde la máquina en la que se almacenan los contenedores de Docker de la API de WhatsApp Business:
wadebug
Si recibes wadebug_error
en la respuesta, significa que ocurrió un problema con la herramienta en sí. En ese caso, reporta el error a la asistencia directa.
Para realizar todas las verificaciones, WADebug requiere un archivo de configuración (wadebug.conf.yml
) en el directorio actual.
Si ejecutas wadebug
sin el archivo de configuración, la herramienta te pedirá que crees un esqueleto de un archivo y que lo completes con los valores de configuración. Si no se encuentra el archivo de configuración o no se define ningún valor, se omitirán algunas acciones debido a la falta de información.
Ejemplo de archivo de configuración:
# 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"
Para verificar las acciones disponibles, ejecuta el siguiente comando:
wadebug ls
Si solo quieres ejecutar un subconjunto de acciones disponibles, escribe este comando:
wadebug partial check_software_version check_mysql_version
wadebug
dispone de dos modos: el modo interactivo y el modo JSON.
El modo interactivo es el predeterminado. Cuando lo uses, visualizarás tablas de resultados y avisos, se te pedirá que crees un archivo de configuración, etc.
El modo JSON es útil si quieres integrar wadebug
en un proceso de automatización para validar la configuración de la API de WhatsApp Business de forma periódica o cada vez que actualices la versión de la API de WhatsApp Business (por ejemplo).
Para ejecutar wadebug
en el modo JSON, incluye la marca --json
en cualquier comando de wadebug
disponible:
wadebug --json
Recibirás una respuesta JSON válida:
{ "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" } }
Cada vez que se ejecuta wadebug
, los datos de uso (entre ellos, las acciones y los resultados) se envían a Facebook para ayudar a mejorar la herramienta y para acelerar el proceso de ayuda de WhatsApp mediante la asistencia directa.
Si no quieres compartir los datos de uso con Facebook cuando utilizas la herramienta, ejecuta wadebug
con la marca --do-not-send-usage
.
wadebug partial check_network --do-not-send-usage
Ten presente que, aunque sigas viendo los resultados de la solución de problemas en el nivel local, es posible que se vea perjudicada la experiencia que tengas con nuestro servicio de asistencia.
wadebug
dispone de un método práctico para recuperar todos los registros del contenedor y, si lo deseas, enviarlos a Facebook para ayudar a nuestro equipo de asistencia.
Para recuperar los registros más recientes en wadebug_logs/
en el directorio actual:
wadebug logs
Cambios importantes:
wadebug logs
recupera las últimas 10.000 líneas de registros de cada contenedorwadebug logs
recupera las últimas 3 horas de registros de cada contenedor[Nuevo desde v0.1.5] Para recuperar 3 horas de registros a partir de una fecha y hora específica (zona horaria GMT), usa la opción --since
. Por ejemplo, el siguiente comando recuperará registros desde el 7 de enero de 2020 a las 3:00:02 GMT hasta el 7 de enero de 2020 a las 6:00:02 GMT:
wadebug logs --since='2020-01-07 3:00:02'
Para enviar registros a Facebook, tienes que agregar la marca --send
. Como parte de la respuesta, recibirás un run_id
, que puedes proporcionar a asistencia directa para acelerar las investigaciones:
wadebug logs --send
wadebug logs --since='2020-01-07 3:00:02' --send
Para el modo Alta disponibilidad / Conexión múltiple, donde los contenedores están instalados en uno o varios hosts, debes iniciar sesión en cada host, instalar WADebug y ejecutar los comandos wadebug logs
mencionados anteriormente.
Si necesitas ayuda para solucionar problemas de configuración de la API de WhatsApp Business, abre un ticket de asistencia directa con el identificador run_id
que recibas después de ejecutar wadebug
. Este identificador nos permitirá ver un informe de las acciones que se realizaron y sus resultados.
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
Los registros del contenedor son muy útiles para solucionar problemas. Si quieres recopilarlos y enviárselos a Facebook, ejecuta wadebug logs
con la marca --send
.
wadebug logs --send
Luego, envía el run_id
que recibas.
Container logs have been uploaded to Facebook. You can reference run_id (AcClyxkRJk3w1dEr8OAmsTn) in Direct Support (https://business.facebook.com/direct-support) tickets
15 de enero, 2020 (0.1.5)
wadebug logs
ahora obtiene registros de las últimas 3 horas, en lugar de las últimas 10.000 líneas de registro.--since
en wadebug logs
para recuperar 3 horas de registros a partir del valor de fecha y hora especificado3 de septiembre de 2019 (v0.1.4)
26 de abril de 2019 (v0.1.3)
28 de diciembre de 2018 (v0.1.2)
23 de octubre de 2018 (v0.1.1)