Aktuelle Version: 0.1.5
WADebug ist ein Befehlszeilen-Tool, das dich bei der Suche nach potenziellen Problemen im Zusammenhang mit dem WhatsApp Business API-Setup unterstützt und es dem WhatsApp-Support erleichtert, dir zu helfen.
Unten ist dargestellt, welche verschiedenen Arten von Setups von WADebug unterstützt werden. Durchführen von Prüfungen bezieht sich auf die verschiedenen Aktionen zur Verifizierung des Setups des WhatsApp Business API-Clients. Abrufen von Protokollen bezieht sich auf den Befehl, alle Containerprotokolle abzurufen.
In diesem Dokument werden folgende Themen behandelt:
WADebug ist ein in Python geschriebenes Befehlszeilen-Tool. Installiere die Software mit pip:
pip3 install wadebug
Upgrade:
pip3 install wadebug --upgrade
Deinstallation:
pip3 uninstall wadebug
Mit dem folgenden Befehl kannst du überprüfen, ob wadebug installiert ist:
wadebug --help
WADebug bietet verschiedene Aktionen an, mit denen du deine Einrichtung der WhatsApp Business API überprüfen kannst. Standardmäßig werden alle verfügbaren Aktionen ausgeführt. Wenn der Status problem
oder warning
zurückgegeben wird, werden eine Beschreibung, Details und mögliche Abhilfemaßnahmen angezeigt, um dir die Fehlerbehebung deines Setups zu erleichtern. Außerdem wird eine Anleitung für den Upload der Protokolle zu Facebook angezeigt, falls du Hilfe brauchst.
Führe den folgenden Befehl auf dem Computer auf, der die Docker-Container für die WhatsApp Business API hostet, um das Tool zu verwenden:
wadebug
Wenn eine Aktion zu wadebug_error
führt, bedeutet das, dass ein Problem mit dem Tool selbst vorliegt. Sollte ein solches Problem auftreten, melde diesen Bug bitte über Direct Support.
Damit WADebug alle Prüfungen durchführt, muss sich im aktuellen Verzeichnis eine Konfigurationsdatei (wadebug.conf.yml
) befinden.
Wird wadebug
ohne die Konfigurationsdatei ausgeführt, bietet dir das Tool an, ein Skelett der Datei für dich zu erstellen, in dem du die Konfigurationswerte eintragen kannst. Wenn keine Konfigurationsdatei gefunden wird oder keine Konfigurationswerte festgelegt sind, werden bestimmte Aktionen aus Mangel an Informationen übersprungen.
Beispiel für eine Konfigurationsdatei:
# 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"
Mit dem folgenden Befehl kannst du die verfügbaren Aktionen überprüfen:
wadebug ls
Mit diesem Befehl kannst du eine Teilmenge der verfügbaren Aktionen ausführen:
wadebug partial check_software_version check_mysql_version
wadebug
bietet zwei Modi: den interaktiven Modus und den JSON-Modus.
Der interaktive Modus ist der Standardmodus. In diesem Modus werden grafische Tabellen mit Ergebnissen und Hinweisen angezeigt, du wirst zur Erstellung der Konfigurationsdatei aufgefordert, usw.
Der JSON-Modus ist hilfreich, wenn du wadebug
in eine Automatisierungs-Pipeline integrieren möchtest, um deine Einrichtung der WhatsApp Business API regelmäßig oder z. B. bei jedem Versionsupgrade zu überprüfen.
Um wadebug
im JSON-Modus auszuführen, kannst du das Flag --json
an jeden beliebigen wadebug
-Befehl anfügen:
wadebug --json
Daraufhin wird eine gültige JSON-Antwort zurückgegeben:
{ "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" } }
Bei jeder Ausführung von wadebug
werden Nutzungsdaten (inklusive ausgeführter Aktionen und zurückgegebener Ergebnisse) an Facebook übertragen, um das Tool zu verbessern und den WhatsApp-Supportprozess über Direct Support zu beschleunigen.
Falls du keine Nutzungsdaten mit Facebook teilen möchtest, kannst du wadebug
mit dem Flag --do-not-send-usage
ausführen.
wadebug partial check_network --do-not-send-usage
Dabei werden zwar die Problembehebungsergebnisse weiterhin lokal angezeigt, aber dein Erlebnis bei der Interaktion mit unserem Support kann beeinträchtigt werden.
wadebug
bietet eine praktische Funktion, um alle Containerprotokolle abzurufen und optional an Facebook zu übermitteln, um die Untersuchungen unseres Supportteams zu unterstützen.
So kannst du die neuesten Protokolle abrufen und unter wadebug_logs/
im aktuellen Verzeichnis speichern:
wadebug logs
Wichtige Änderungen:
wadebug logs
ruft von jedem Container die letzten 10.000 Protokollzeilen ab.wadebug logs
ruft von jedem Container die letzten drei Protokollstunden ab.[Neu seit Version 0.1.5] Um 3 Protokollstunden ab einem bestimmten Datum-/Uhrzeitwert (Zeitzone GMT) abzurufen, verwende die Option --since
. Beispiel: Mit dem folgenden Befehl werden Protokolle von 2020-01-07 3:00:02 GMT bis 2020-01-07 6:00:02 GMT abgerufen:
wadebug logs --since='2020-01-07 3:00:02'
Um Protokolle an Facebook zu senden, musst du das Flag --send
anhängen. Als Teil der Antwort erhältst du eine run_id
, die du in Direct Support angeben kannst, um Untersuchungen zu beschleunigen:
wadebug logs --send
wadebug logs --since='2020-01-07 3:00:02' --send
Beim Hochverfügbarkeits-/Multiconnect-Modus, bei dem Container auf einem oder mehreren Hosts installiert werden, musst du dich bei jedem Host anmelden, WADebug installieren und die oben angegebenen wadebug logs
-Befehle ausführen.
Wenn du Hilfe bei der Fehlerbehebung des WhatsApp Business API-Setup benötigst, öffne ein Direct Support-Ticket mit der run_id
, die nach der Ausführung von wadebug
zurückgegeben wird. Auf diese Weise erhalten wir Informationen zu den ausgeführten Aktionen und den entsprechenden Ergebnissen.
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
Containerprotokolle sind sehr nützlich für die Fehlerbehebung, um Containerprotokolle zu erfassen und an Facebook zu senden. Führe wadebug logs
mit dem Flag --send
aus.
wadebug logs --send
und gib die zurückgegebene run_id
an
Container logs have been uploaded to Facebook. You can reference run_id (AcClyxkRJk3w1dEr8OAmsTn) in Direct Support (https://business.facebook.com/direct-support) tickets
15. Januar 2020 (0.1.5)
wadebug logs
ruft jetzt die Protokolle der letzten 3 Stunden anstatt die letzten 10.000 Protokollzeilen ab--since
zu wadebug logs
hinzugefügt, die 3 Protokollstunden abruft, beginnend mit dem angegebenen Datum-/Uhrzeitwert3. September 2019 (Version 0.1.4)
26. April 2019 (Version 0.1.3)
28. Dez. 2018 (Version 0.1.2)
23. Oktober 2018 (Version 0.1.1)