![]() |
Suppress-o-Matic - Stop database error spam
1 Attachment(s)
What is Suppress-o-matic?
Suppress-o-matic is a change to the way vBulletin handles database error emails. It limits sending the same error email repeatedly to your inbox every time a database error is generated. On a busy site if a table is crashed or mysql itself goes down you could recieve several thousand emails. This causes the email server to bog down, and possibly the server itself if there is enough traffic generating emails. Why do I want Suppress-o-matic? It should be pretty clear, you still get the vital information that your vBulletin forum is offline for whichever reason, without the hassle of having to delete and manage your inbox afterwords. Why do I have to edit the files? If the database is down, there is no way to get to the plugins. Plugins are stored in the vBulletin database. Isn't there a vBulletin Option for this? There is an option to disable some emails, assuming that the settings table can be read. If it cannot then it doesn't work. It even states this on the option itself. Can't I just remove my tech email from the config file? This doesn't keep you up to date. What if a serious error like error 28 (no space left) crops up? This means that your server could potentially have serious issues. Not resolving these problems could cause major issues. Are you considering adding more functionality to Suppress-o-matic? We have plans to add a repair feature at some point in time, with an on/off switch. What is SQlite? SQLite is a tiny database engine that is found in PHP. It is very lite, and requires only that php have the extension. There is no other dedicated server for it. You can find more information here: http://en.wikipedia.org/wiki/SQLite Whats required? PHP5 SQLITE2 or newer (found in most php installations) 1 file edit 1 file to upload Future versions: Repair table feature Project Credits: Zachery - Project Planning, design goals, pestering. Link14716 - Hard work. This works for vBulletin 4.0 as well as 3.7+. vB4 thread located here. |
Q: How do I change the time interval between error e-mails?
Add the following to your /includes/config.php file: PHP Code:
|
If something does not work as it should, slap me around until I fix it. This is a beta that I threw together. It Works For Me(tm) but that's as far as it has been tested.
|
Installed (on demand). Thanks.. ;)
|
I might need it, my mailbox is just full all over. Waiting for the GOLD.
|
I just got 2000 DB error messages the other day...LOL...
|
thank you i will try later
|
*installs*
thanks |
Zachery, why on earth isn't this part of the stock vB? It's been suggested dozens of times and it should have been included years ago.
|
I know it has, and in the past i knew that Scott was looking into it. Where it got lost in versions I'm not sure.
But, its here now, and hopefully in the future some sort of stock verison can be intergrated. |
I sure hope so.
|
should defo be part of the stock vb
Thank you |
Havent had any reported bugs yet, And Link14716 is curretly without interwebs.
Though we have plans to impliment the listed features and get this pushed out as a final shortly here. |
Thankyou thankyou thankyou. Thankyou.
Been having One Of Those Days (several in a row, actually), where I'm on the road and MySQL goes tits up ... thought my Crackberry was going to self destruct with the volume of vB error msgs. Hoping this makes it into the core product ASAP. -- hugh |
Quote:
|
Since we've had no reported issues, I'm pulling the beta tag.
|
Wow, great. :)
|
isnt this default in vb?
|
Quote:
Right now, if there is a db error, your email will be sent 1 mail for every time someone visits the page with the db error message. (100 guests + 100 regulars) x 10-15 refreshes = lost of database error emails. This stops it dead cold, 10,000 page requests with the same database error, 1 mail is sent. |
vbulletin options
HelpError Handling & Logging --> Disable Database Error Email Sending |
This doesn't disable e-mail sending, this stops it from destroying your inbox. Pretty big difference.
Stopping DB error mails entirely is as simple as removing the technical address from config.php. No need for anything special for that, but this isn't what the mod does. |
Quote:
There is a pretty big note about this. |
Updated the description text, should read much better.
|
Installed dunno if it works tho, anyway to test?
|
This is good, but I think it could be taken a little further. For instance, if you get an error, you get an email. But you don't get duplicates for X time after wards.
That works, but how do I know I have a REAL problem or not then? Meaning it could of just been a quick outage where a query failed for whatever reason. Or, it might be something really serious where things are completely down. I guess what I'm saying is, maybe some way to email saying "We just received 350 error reports for this same error, you should check it out ASAP" type of message. I dunno, maybe I'm not explaining it well but... hopefully it's enough to spark what I mean and maybe a better idea than only suppression. |
Quote:
|
Quote:
|
Finally, some very useful mod. I tagged it for now, will give it a try in coming weeks.
Our "record" so far: over 18.000 emails in less than day. |
I have it installed but I got php errors when my database had too many connections. The error logged was:
Code:
[10-Sep-2009 23:35:50] PHP Warning: SQLiteDatabase::unbufferedQuery() [<a href='sqlitedatabase.unbufferedquery'>sqlitedatabase.unbufferedquery</a>]: near "ORDER": syntax error in forum/includes/class_core.php on line 1015 Line 1015 of modified class_core.php is: Code:
$sqlitequery = $sqlitedb->unbufferedQuery("SELECT * FROM dberrors WHERE time > ".(TIMENOW - $timebetweenerrors)." AND errorcode = ".$this->errno." ORDER BY time DESC"); |
Quote:
Code:
$sqlitequery = $sqlitedb->unbufferedQuery("SELECT * FROM dberrors WHERE time > ".(TIMENOW - $timebetweenerrors)." AND errorcode = '".$this->errno."' ORDER BY time DESC"); |
Excellent, exactly what I was looking for to help get a handle on all of the error messages we get when the db is being backed up. Great work, thank you!
|
I know you say it works on 3.7+ but would I run any risk by trying to install it on a 3.6.12 board? Thanks.
|
Quote:
|
thank you i will try it
|
thank you bro
|
Thank You :)
|
After i got 50k error emails because of broken mysql slave i now installed this... :)
|
Absolutely amazing modification. May be one of the most directly useful modifications on this website.
Having database errors spit out a single email instead of hundreds of emails is HUGE and I recommend this mod to everybody. Despite ridding your email inbox of server error spam, you don't want your server to build up a huge email queue during high load times. This will save anyone who installs it a lot of headache. Mahz approved. |
I've been lucky enough to not ever need this, but now installed just in case- thanks.
|
Anyone try this on 4.0?
|
All times are GMT. The time now is 06:13 PM. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|