| 
									
										
										
										
											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
										 |  |  | ?>
 |