Crafter Posted August 18, 2019 Report Share Posted August 18, 2019 Hallo zusammen, gibt es eine Möglichkeit die Email Benachrichtigung wenn es zu SQL Fehlern kommt zu deaktivieren? Die Fehler sollen allerdings weiter in die log Datei geschrieben werden. Konfiguration->Email Einstellungen->Email Debug auf false setzten habe ich bereits versucht, das hat die Benachrichtigung leider nicht abgestellt. EDIT: Das auskommentieren des define in der config.php für _CORE_DEBUG_MAIL_ADDRESS verhindert das abschicken der Fehlermeldungen. Allerdings bin ich nicht ganz sicher ob sich das nicht auch negativ auf andere Bereiche auswirkt oder über andere Fehler dann nicht mehr informiert wird. Quote Link to comment Share on other sites More sharing options...
df:bug Posted August 22, 2019 Report Share Posted August 22, 2019 Hallo, ich würde meinen, dass das Auskommentieren der _CORE_DEBUG_MAIL_ADDRESS in config.php keine gute Idee ist. Diese Adresse soll absoluter Fallback sein für bestimmte Fehlkonfigurationen und eben die SQL-Fehlermeldungen. Das Auskommentieren verhindert den Versand nicht wirklich, es wird eine E-Mail ohne Empfänger in das Mail-System des Servers gegeben. Diese Mail wird dann natürlich auch nicht versendet, löst aber trotzdem Last aus. Zum Verständniss: Wieso sollen eigentlich die E-Mails nicht gesendet werden? Quote Link to comment Share on other sites More sharing options...
Crafter Posted August 23, 2019 Author Report Share Posted August 23, 2019 Ich habe einen alternativen Weg gefunden. In der "xtFramework/library/adodb-xt/xtcommerce-errorhandler.inc.php" habe ich folgende Zeile auskommentiert: @mail(_CORE_DEBUG_MAIL_ADDRESS,'SQL Error - xt:Commerce '.$sys_version, $s); das schaltet den Fehlerversand per Email ab. Die Fehler werden aber wie gewollt weiterhin unter xtLogs/db_error.log geloggt. Wir wollen die Emails abschalten da wir in seltenen Fällen ein noch ungeklärtes Problem mit der Datenbankverbindung bekommen. Es kommt dann plötzlich bei jedem versuchten Verbindungsaufbau zu dem Fehler "already has more than 'max_user_connections'". Daraufhin wird jedes mal eine Mail rausgeschickt was innerhalb kürzester Zeit tausende sind. Quote Link to comment Share on other sites More sharing options...
df:bug Posted August 24, 2019 Report Share Posted August 24, 2019 max_user_connections: schaut mal in die access.log. Wir haben gesehen, dass bestimmte Bots über Minuten x Requests pro Sekunde senden. Das zwingt irgendwie den mysql in die Knie. Warum aber überhaupt max_user_connection erreicht wird, ist noch nicht klar. Mal Crawl-delay in der robots.txt testen. Wird nicht von allen Crawlern/bots respektiert, ist aber vlt einen Versuch wert. Und: kontaktiert mal den Support wg eines neuen errorhandler, der sich wiederholende sql-fehler nur alle x Sekunden sendet. So behält man zumindest die Info, dass grad was schiefläuft. Quote Link to comment Share on other sites More sharing options...
Crafter Posted August 26, 2019 Author Report Share Posted August 26, 2019 Danke für den Ratschlag ich werde deine Tipps mal ausprobieren. Ich wollte demnächst einen Cronjob einrichten der regelmäßig ein Skript ausführt, welches dann gesammelt die neuen Fehlermeldungen aus der db_error.log an uns schickt. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.