Überwachungswarnungen verwalten

Dieses Dokument enthält Beschreibungen von Warnungen und Handlungshinweise für Warnungen, die in den Überwachungs-Dashboards definiert sind. Wenn du ein Problem nicht beheben kannst, hast du die Möglichkeit, ein Direct Support-Ticket zu erstellen, zu dem du Dashboard-Screenshots und Protokolle hinzufügst.

Warnungen beim Dashboard für Unternehmenskunden

Warnung bei kritischen API-Fehlern

Beschreibung

Die Erfolgsrate der contacts-API bzw. der messages-API ist gering

Aufgaben

  1. Die API-Fehlercodes findest du in den Feldern Anfragen/s für die contacts- bzw. messages-API.
  2. Wirf einen Blick in die Dokumentation der Fehlercodes.
  3. Den Feldern CoreApp-Anfragen/s und DB-Abfragen/s ist zu entnehmen, ob es sich um einen Coreapp- oder einen Datenbankfehler handelt.
  4. Weitere Informationen findest du im Dashboard CoreApp-Übersicht (gibt die Variable Node mit der problematischen Coreapp an) sowie im Dashboard MySQL-Übersicht.

Warnung bei fehlenden Statistiken

Beschreibung

Fehlende Daten für die Überwachung

Aufgaben

  1. Greife auf den Prometheus-Endpunkt zu (d. h. http://your-monitoring-hostname:9090/targets), und überprüfe, ob die Status der Endpunkte „webstats“ und „appstats“ UP lauten.
  2. Falls keine Verbindung von Prometheus zur Webapp hergestellt werden kann, führe zur Fehlerbehebung WADebug aus.
  3. Falls die Webapp- und Coreapp-Container ausgeführt werden, prüfe, ob WA_WEB_ENDPOINT, WA_WEB_USERNAME und WA_WEB_PASSWORD in der Datei .env gültig sind.

Warnungen im Coreapp-Übersichts-Dashboard

Warnung bei Rückruf-Fehler

Beschreibung

Die Erfolgsrate beim Senden von Rückrufen an die in den App-Einstellungen angegebene Webhook URL ist niedrig

Aufgaben

  1. Suche im Feld Rückrufanfragen/s die Fehlercodes für Rückrufantworten.
  2. Durchsuche mit dem Befehl Grep die Coreapp-Protokolle nach dem Begriff network error (Netzwerkfehler), um die tatsächlichen Fehlermeldungen anzuzeigen.
  3. Gehe auf der Basis von Fehlercodes und Nachrichten wie folgt vor:
    • Prüfe, ob dein Webhook von der Coreapp erreicht werden kann.
    • Prüfe, ob dein Webhook nach der Verarbeitung von Benachrichtigungen immer die Antwort HTTPS 200 OK zurückgibt.
    • Prüfe, ob dein Webhook eine lange Reaktionszeit verursacht.

Warnung bei hoher Zahl ausstehender Ausgangsnachrichten

Beschreibung

Die Warteschlange für ausgehende Nachrichten ist nahezu voll; API-Anfragen verursachen in Kürze den Fehler System overloaded error (1016)

Aufgaben

  1. Sehen Sie im Feld Ausgehende Nachrichten nach, ob ein Anstieg an ungewöhnlichem Datenverkehr zu beobachten ist. Falls es zu einem Anstieg an ungewöhnlichem Datenverkehr kommt, versuche die Datenverkehrsbelastung zu reduzieren, bis der Alarm gelöscht ist.
  2. Prüfe, ob es kürzlich ein Failover der Datenbank in eine andere Region gegeben hat. Die WhatsApp Business API kann unter Umständen aufgrund von regionsübergreifenden Latenzen nicht mit der Belastung mithalten.
  3. Wenn sich im Laufe der Zeit eine immer längere Warteschlange für ausgehende Nachrichten bildet, solltest du uns diesen Fehler melden.
  4. Wenn ein einzelner WhatsApp Business API-Client deine Lastanforderungen nicht bewältigen kann, richte Multiconnect für deutlich höhere Belastungen ein.

Hinweis: In seltenen Fällen zeigt das Dashboard aufgrund der zugrundeliegenden Warteschlangenimplementierung für die Auslastung der Warteschlange für ausgehende Nachrichten einen höheren Wert als 100 % an. Die Handlungshinweise sind in diesem Fall dieselben.

Warnung bei hoher Zahl von Rückrufen in der Warteschlange

Beschreibung

Die Warteschlange für Rückrufe ist nahezu voll; API-Anfragen verursachen in Kürze den Fehler System overloaded error (1016)

Aufgaben

  1. Prüfe im Feld Fehlerquote bei Rückrufen, ob Rückrufe erfolgreich durchgeführt werden.
  2. Senke die Rückruf-Verarbeitungsdauer für deinen Webhook.
  3. Konfiguriere max_concurrent_requests in den App-Einstellungen, um die Zahl der laufenden Rückrufanforderungen zu steigern (Standardwert: 6).

Warnung bei hoher Fehlerquote bei Datenbanktransaktionen

Beschreibung

Die Fehlerquote bei Datenbanktransaktionsvorgängen (Transaktionen, Schreiben in die Datenbank, Rollback) ist hoch.

Aufgaben

  1. Suche im Bereich Datenbanktransaktionen/s nach der Datenbank und dem Vorgang, die das Problem verursachen.
  2. Durchsuche mit dem Befehl Grep die Coreapp-Protokolle nach dem Begriff QSqlError, um den tatsächlichen SQL-Fehlercode und die Fehlermeldung anzuzeigen.
  3. Gehe auf der Basis von Fehlercode und Nachricht wie folgt vor:
    1. Stelle sicher, dass deine Datenbank ordnungsgemäß ausgeführt wird, indem du das MySQL-Übersichts-Dashboard oder dein eigenes Datenbank-Dashboard überprüfst.
    2. Wenn der Fehler ein Schemaproblem oder eine fehlerhafte SQL-Abfrage angibt, erstelle zur Untersuchung ein Direct Support-Ticket.

Warnung bei hoher Fehlerquote bei Anfragen zum Lesen aus der Datenbank

Beschreibung

Die Fehlerquote bei Vorgängen zum Lesen aus der Datenbank (Auswählen, Vorbereiten) ist hoch.

Aufgaben

  1. Suche im Bereich Datenbankleseanfragen/s nach der Datenbank und dem Vorgang, die das Problem verursachen.
  2. Durchsuche mit dem Befehl Grep die Coreapp-Protokolle nach dem Begriff QSqlError, um den tatsächlichen SQL-Fehlercode und die Fehlermeldung anzuzeigen.
  3. Gehe auf der Basis von Fehlercode und Nachricht wie folgt vor:
    1. Stelle sicher, dass deine Datenbank ordnungsgemäß ausgeführt wird, indem du das MySQL-Übersichts-Dashboard oder dein eigenes Datenbank-Dashboard überprüfst.
    2. Wenn der Fehler ein Schemaproblem oder eine fehlerhafte SQL-Abfrage angibt, erstelle zur Untersuchung ein Direct Support-Ticket.

Warnung bei hoher Fehlerquote bei Anfragen zum Schreiben in die Datenbank

Beschreibung

Die Fehlerquote bei Vorgängen zum Schreiben in die Datenbank (Einfügen, Aktualisieren, Löschen etc.) ist hoch.

Aufgaben

  1. Suche im Bereich Datenbankschreibanfragen/s nach der Datenbank und dem Vorgang, die das Problem verursachen.
  2. Durchsuche mit dem Befehl Grep die Coreapp-Protokolle nach dem Begriff QSqlError, um den tatsächlichen SQL-Fehlercode und die Fehlermeldung anzuzeigen.
  3. Gehe auf der Basis von Fehlercode und Nachricht wie folgt vor:
    1. Stelle sicher, dass deine Datenbank ordnungsgemäß ausgeführt wird, indem du das MySQL-Übersichts-Dashboard oder dein eigenes Datenbank-Dashboard überprüfst.
    2. Wenn der Fehler ein Schemaproblem oder eine fehlerhafte SQL-Abfrage angibt, erstelle zur Untersuchung ein Direct Support-Ticket.

Warnung bei hoher durchschnittlicher Latenz (ms) bei Datenbanktransaktionen

Beschreibung

Die durchschnittliche Latenz bei Datenbanktransaktionsvorgängen (Transaktionen, Schreiben in die Datenbank, Rollback) ist hoch.

Aufgaben

Um einen hohen Nachrichtendurchlauf zu erzielen, sollte die Datenbanklatenz unter 15 ms liegen.

  1. Suche im Bereich Durchschnittliche Latenz bei Datenbanktransaktionen (ms) nach der langsamen Datenbank.
  2. Stelle sicher, dass deine Datenbank ordnungsgemäß ausgeführt wird, indem du das MySQL-Übersichts-Dashboard oder dein eigenes Datenbank-Dashboard überprüfst.
  3. Verwende mysqlslap oder pgbench, um die XACT-Latenz mit übereinstimmenden Clients zu ermitteln.
  4. Befolge die Empfehlungen für hohen Durchsatz, um deine Datenbank mit ähnlichen Konfigurationen einzurichten.

Häufige Probleme

  • Die Datenbankinstanz verfügt nicht mehr über CPU/Speicher/Datenträger/IOPS/Verbindungen.
  • Die Datenbankinstanz wird über eine Magnetdiskette anstatt über ein SSD ausgeführt.
  • Die Datenbankinstanz befindet sich in einer anderen Region als deine Coreapp und weist eine lange Netzwerkumlaufzeit auf.

Warnung bei hoher durchschnittlicher Latenz (ms) bei Anfragen zum Lesen aus der Datenbank

Beschreibung

Die durchschnittliche Latenz bei Vorgängen zum Lesen aus der Datenbank (Auswählen, Vorbereiten) ist hoch.

Aufgaben

Um einen hohen Nachrichtendurchlauf zu erzielen, sollte die Datenbanklatenz unter 15 ms liegen.

  1. Suche im Bereich Durchschnittliche Latenz bei Datenbankleseanfragen (ms) nach der langsamen Datenbank.
  2. Stelle sicher, dass deine Datenbank ordnungsgemäß ausgeführt wird, indem du das MySQL-Übersichts-Dashboard oder dein eigenes Datenbank-Dashboard überprüfst.
  3. Verwende mysqlslap oder pgbench, um die Latenz beim Lesen mit übereinstimmenden Clients zu ermitteln.
  4. Befolge die Empfehlungen für hohen Durchsatz, um deine Datenbank mit ähnlichen Konfigurationen einzurichten.

Häufige Probleme

  • Die Datenbankinstanz verfügt nicht mehr über CPU/Speicher/Verbindungen.
  • Die Datenbankinstanz befindet sich in einer anderen Region als deine Coreapp und weist eine lange Netzwerkumlaufzeit auf.

Warnung bei hoher durchschnittlicher Latenz (ms) bei Anfragen zum Schreiben in die Datenbank

Beschreibung

Die durchschnittliche Latenz bei Vorgängen zum Schreiben in die Datenbank (Einfügen, Aktualisieren, Löschen etc.) ist hoch.

Aufgaben

Um einen hohen Nachrichtendurchlauf zu erzielen, sollte die Datenbanklatenz unter 15 ms liegen.

  1. Suche im Bereich Durchschnittliche Latenz bei Datenbankschreibanfragen (ms) nach der langsamen Datenbank.
  2. Stelle sicher, dass deine Datenbank ordnungsgemäß ausgeführt wird, indem du das MySQL-Übersichts-Dashboard oder dein eigenes Datenbank-Dashboard überprüfst.
  3. Verwende mysqlslap oder pgbench, um die Latenz beim Schreiben mit übereinstimmenden Clients zu ermitteln.
  4. Befolge die Empfehlungen für hohen Durchsatz, um deine Datenbank mit ähnlichen Konfigurationen einzurichten.

Häufige Probleme

  • Die Datenbankinstanz verfügt nicht mehr über CPU/Speicher/Datenträger/IOPS/Verbindungen.
  • Die Datenbankinstanz wird über eine Magnetdiskette anstatt über ein SSD ausgeführt.
  • Die Datenbankinstanz befindet sich in einer anderen Region als deine Coreapp und weist eine lange Netzwerkumlaufzeit auf.

Warnung bei hoher durchschnittlicher Latenz (ms) bei Rückrufanfragen

Beschreibung

Die durchschnittliche Latenz beim Rückrufanfragen an die in den App-Einstellungen angegebene Webhook URL ist hoch.

Aufgaben

Um einen hohen Durchlauf zu erzielen, sollte die Rückruflatenz unter 15 ms liegen.

  1. Führe einen Benchmark gegen deinen Webhook-Server aus und wende Profiling an, um Engpässe zu identifizieren.
  2. Führe nicht wichtige Vorgänge asynchron durch und gib sofort eine HTTPS 200 OK-Antwort zurück.
  3. Erhöhe die Anzahl der Webhook-Server hinter deinen Load Balancers, wenn diese über keine Systemressourcen mehr verfügen.

Warnung bei Anfrage für Serververbindung

Beschreibung

Die Coreapp verliert ununterbrochen Verbindungen zu dem WhatsApp-Servern. Instabile Verbindungen wirken sich auf die Messaging-Leistung der Coreapp aus und verursachen API-Fehler.

Aufgaben

  1. Durchsuche mit dem Befehl Grep die Coreapp-Protokolle nach dem Begriff „Stream error“, um die tatsächlichen Fehler in Bezug auf die Verbindungsunterbrechungen sowie Nachrichten und Häufigkeiten anzuzeigen.
  2. Wenn die Verbindung periodisch für mehrere Stunden unterbrochen wird, kann ein Neustart der Coreapp das Problem möglicherweise beheben.
  3. Speichere sie Protokolle und sende ein Direct Support-Ticket für weitere Untersuchungen.

Warnung bei hoher Anzahl entschlüsselter Nachrichten/s

Beschreibung

Die Coreapp kann eingehende Nachrichten vom WhatsApp-Server nicht schnell genug entschlüsseln, wodurch eine Unterbrechung der Verbindung ausgelöst wird.

Aufgaben

  1. Stelle im Bereich Datenbanklatenz bei Lesen/Schreiben/Transaktionen sicher, dass die Datenbank ordnungsgemäß ausgeführt wird. Um einen hohen Durchlauf zu erzielen, sollte die Datenbanklatenz unter 15 ms liegen. Befolge die Handlungshinweise für Warnungen bei hoher durchschnittlicher Latenz Anfragen zum Schreiben in die Datenbank, um Probleme mit der Datenbank zu beheben.
  2. Überprüfe, ob deine Coreapp-Instanz über CPU ausgeführt wird. Ist dies der Fall, nimm ein Upgrade auf eine größere Instanz vor.
  3. Speichere Protokolle und übermittle ein Direct Support-Ticket, um für eingehende Nachrichten vom WhatsApp-Server ein Ratenlimit festzulegen.

Warnungen im Rechner-Übersichts-Dashboard

Warnung bei hoher CPU-Auslastung

Beschreibung

Die CPU-Auslastung auf einem Rechner ist zu hoch

Aufgaben

  1. Prüfe im Feld Detaillierte CPU-Auslastung %, wie die Auslastung prozentual verteilt ist.
  2. Mit dem Befehl atop bzw. top auf dem Rechner findest du die Prozesse, die die meisten CPU-Ressourcen verbrauchen. Es empfiehlt sich unter Umständen auch, im Dashboard Container-Übersicht nach CPU-Kennzahlen auf Containerebene zu suchen. Gib hierfür den problematischen Rechner als Variable Rechner an.
  3. Falls die Webapp, Coreapp oder Datenbank den größten CPU-Anteil verbraucht, benötigst du einen leistungsstärkeren Rechner für das Hosting. Wenn die Webapp- und Coreapp-Container im Hochverfügbarkeits- und Multiconnect-Modus auf demselben Rechner ausgeführt werden, verschiebe sie auf separate Rechner.

Warnung bei hoher Festplattenauslastung

Beschreibung

Die Festplattenauslastung eines Geräts auf einem Rechner ist zu hoch

Aufgaben

  1. Analysiere mit den Befehlen du und df die Festplattenauslastung auf dem Gerät. Es empfiehlt sich unter Umständen auch, im Dashboard Container-Übersicht nach Festplattenkennzahlen auf Containerebene zu suchen. Gib hierfür den problematischen Rechner als Variable Rechner an.
  2. Lösche unnötige und Platz verbrauchende Daten von dem Gerät. Richte bei Mediendateien oder Protokollen einen cron-Job zur regelmäßigen Bereinigung alter Daten ein.

Warnung bei hoher Arbeitsspeicherauslastung

Beschreibung

Die Arbeitsspeicherauslastung auf einem Rechner ist zu hoch

Aufgaben

  1. Prüfe im Feld Arbeitsspeicherdetails, wie die Auslastung verteilt ist.
  2. Mit dem Befehl atop bzw. top auf dem Rechner findest du die Prozesse, die die meisten Arbeitsspeicherressourcen verbrauchen. Es empfiehlt sich unter Umständen auch, im Dashboard Container-Übersicht nach Arbeitsspeicher-Kennzahlen auf Containerebene zu suchen. Gib hierfür den problematischen Rechner als Variable Rechner an.
  3. Falls die Webapp, Coreapp oder Datenbank den größten Arbeitsspeicheranteil verbraucht, benötigst du einen leistungsstärkeren Rechner für das Hosting.
  4. Wenn die Arbeitsspeicherauslastung der Coreapp mit der Zeit immer mehr zunimmt, liegt wahrscheinlich ein Speicherleck vor. Du solltest derartige Fälle bei uns melden. Starte die Coreapp neu, um Arbeitsspeicherprobleme abzumildern.

Warnung bei zu vielen geöffneten Dateien

Beschreibung

Auf dem Rechner stehen in Kürze keine Dateideskriptoren mehr zur Verfügung

Aufgaben

  1. Prüfe im Feld Dateideskriptor, wie hoch das Limit für offene Dateien ist.
  2. Lege einen höheren Wert (z. B. fs.file-max = 600000) in der Datei /etc/sysctl.conf fest, um das Limit für offene Dateien zu erhöhen.
  3. Führe sysctl -p aus, um die Änderungen zu übernehmen.

Warnungen im MySQL-Übersichts-Dashboard

Warnung bei zu vielen Datenbankverbindungen

Beschreibung

Die Auslastung des Datenbank-Verbindungs-Pools ist hoch. Neue Datenbankanfragen verursachen in Kürze die Fehlermeldung Too many connections

Aufgaben

  1. Das aktuelle Verbindungslimit ist im Feld Verbindungen angegeben.
  2. Erhöhe den Wert der MySQL-Systemvariablen max_connections (Standardwert: 151) in my.cnf, und starte den MySQL-Server neu. Weitere Informationen dazu findest du in der Dokumentation MySQL Server-Systemvariablen.
  3. Bei AWS RDS musst du zu einer größeren RDS-Instanz migrieren. Im Abschnitt Größenbestimmung von RDS-Instanzen der AWS-Bereitstellungsdetails findest du genauere Hinweise.

Warnungen im Webapp-Übersichts-Dashboard

Warnung bei zu vielen ausstehenden HTTP-Serververbindungen

Beschreibung

Die interne Webapp-Warteschlange von HTTP-Serververbindungen ist nahezu voll.

Aufgaben

  1. Prüfe im Business Client-Dashboard, ob ein ungewöhnlicher API-Datenverkehr oder eine hohe Latenz bei API-Anfragen vorliegt.
  2. Weitere Informationen findest du in den Webapp-Protokollen.
  3. Prüfe, ob die Webapp-CPU-Auslastung hoch ist, und wenn ja, verlagere die Webapp auf einen leistungsstärkeren Rechner.