Jump to content
xt:Commerce Community Forum
Sign in to follow this  
Crafter

MySQL Fehler Benachrichtigung per Email abschalten

Recommended Posts

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.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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.  

Share this post


Link to post
Share on other sites

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.
 

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...