2011-10-02 09:41:55 +00:00
|
|
|
#!/usr/bin/env php
|
|
|
|
<?php
|
|
|
|
|
2012-05-25 11:29:53 +00:00
|
|
|
///////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
///
|
2012-05-25 12:24:34 +00:00
|
|
|
// A small script to grab the MailScanner statistics from a MailScanner server
|
|
|
|
// Needed commands: php, MailScanner, WatchMailLog, perl
|
2012-05-25 11:29:53 +00:00
|
|
|
///
|
2012-05-25 12:24:34 +00:00
|
|
|
// Install:
|
|
|
|
// Add the WatchMailLog Daemon to the rc.local so its start on server boot
|
|
|
|
// Run the WatchMailLog Daemon to start grabbing statistics from log files
|
|
|
|
// Add the following to your snmpd.conf file:
|
2014-10-08 19:07:58 +00:00
|
|
|
// extend mailwatch /opt/librenms/scripts/mailwatch.php
|
2012-05-25 11:29:53 +00:00
|
|
|
///
|
2012-05-25 12:24:34 +00:00
|
|
|
// Version 1.0 By:
|
|
|
|
// All In One - Dennis de Houx <info@all-in-one.be>
|
2012-05-25 11:29:53 +00:00
|
|
|
///
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
2012-05-25 12:24:34 +00:00
|
|
|
// START SETTINGS ///
|
2011-10-02 09:41:55 +00:00
|
|
|
|
2013-11-05 09:33:32 +10:00
|
|
|
$mailstats = "/opt/librenms/scripts/watchmaillog/watchmaillog_counters";
|
2011-10-02 09:41:55 +00:00
|
|
|
|
2012-05-25 12:24:34 +00:00
|
|
|
// END SETTINGS ///
|
2011-10-02 09:41:55 +00:00
|
|
|
|
|
|
|
|
2012-05-25 11:29:53 +00:00
|
|
|
///
|
2012-05-25 12:24:34 +00:00
|
|
|
// DO NOT EDIT BENETH THIS LINE
|
2012-05-25 11:29:53 +00:00
|
|
|
///
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////
|
2011-10-02 09:41:55 +00:00
|
|
|
|
|
|
|
function doSNMPv2($vars) {
|
|
|
|
$stats = array();
|
|
|
|
if (file_exists($vars)) {
|
|
|
|
$data = file($vars);
|
|
|
|
foreach ($data as $item=>$value) {
|
|
|
|
if (!empty($value)) {
|
|
|
|
$temp = explode(':', trim($value));
|
|
|
|
if (isset($temp[1])) {
|
|
|
|
$stats[$temp[0]] = $temp[1];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2015-02-22 16:45:40 +00:00
|
|
|
$var = array();
|
2011-10-02 09:41:55 +00:00
|
|
|
$var['mess_recv'] = (isset($stats['mess_recv']) ? $stats['mess_recv'] : "U");
|
|
|
|
$var['mess_rejected'] = (isset($stats['mess_rejected']) ? $stats['mess_rejected'] : "U");
|
|
|
|
$var['mess_relay'] = (isset($stats['mess_relay']) ? $stats['mess_relay'] : "U");
|
|
|
|
$var['mess_sent'] = (isset($stats['mess_sent']) ? $stats['mess_sent'] : "U");
|
|
|
|
$var['mess_waiting'] = (isset($stats['mess_waiting']) ? $stats['mess_waiting'] : "U");
|
|
|
|
$var['spam'] = (isset($stats['spam']) ? $stats['spam'] : "U");
|
|
|
|
$var['virus'] = (isset($stats['virus']) ? $stats['virus'] : "U");
|
|
|
|
foreach ($var as $item=>$count) {
|
|
|
|
echo $count."\n";
|
|
|
|
}
|
|
|
|
}
|
2011-10-02 21:27:37 +00:00
|
|
|
|
|
|
|
function clearStats($mailstats) {
|
2014-02-22 15:47:57 +00:00
|
|
|
if (file_exists($mailstats)) {
|
2011-10-02 21:27:37 +00:00
|
|
|
$fp = fopen($mailstats, 'w');
|
|
|
|
fwrite($fp, "mess_recv:0\n");
|
|
|
|
fwrite($fp, "mess_rejected:0\n");
|
|
|
|
fwrite($fp, "mess_relay:0\n");
|
|
|
|
fwrite($fp, "mess_sent:0\n");
|
|
|
|
fwrite($fp, "mess_waiting:0\n");
|
|
|
|
fwrite($fp, "spam:0\n");
|
|
|
|
fwrite($fp, "virus:0\n");
|
|
|
|
fclose($fp);
|
|
|
|
}
|
|
|
|
}
|
2011-10-02 09:41:55 +00:00
|
|
|
|
|
|
|
doSNMPv2($mailstats);
|
2011-10-02 23:40:27 +00:00
|
|
|
//clearStats($mailstats);
|
2011-10-02 21:27:37 +00:00
|
|
|
|
2013-11-05 09:33:32 +10:00
|
|
|
?>
|