MRTG Postfix - falsche Daten...
Posted: 2003-08-19 20:00
#!/usr/bin/php
<?
$dbuser = "root";
$dbpass = "***";
$dbname = "postfixstats";
$link = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname);
$datei = "/var/log/mail";
$fp = fopen( $datei, "r") or die("error 1");
while (! feof($fp)) {
$zeile = fgets( $fp, 1024);
if (ereg("status=sent", $zeile)) {
if (ereg("relay=local", $zeile)) {
$sentlocal++;
}
else {
$sentrelay++;
}
$sent = $sent + 1;
}
elseif(ereg("smtpd", $zeile) AND ereg("client=", $zeile)) {
$remote++;
$res++;
}
elseif(ereg("pickup", $zeile)) {
if(ereg("sender", $zeile) OR ereg("uid", $zeile)) {
$local++;
$res++;
}
}
elseif(ereg("popper", $zeile)) {
if(ereg("Stats:", $zeile)) {
$pop++;
}
}
}
$time = time();
$sql = mysql_fetch_array(mysql_query("SELECT * FROM grepsent ORDER BY id DESC LIMIT 1"));
mysql_query("INSERT INTO grepsent VALUES(NULL,'$time','$sentlocal','$sentrelay')");
print "Local: ". ($sentlocal - $sql[2]) ."n";
print "Relay: ". ($sentrelay - $sql[3]) ."n";
?>
#!/bin/sh
P=`/usr/local/bin/mrtg-postfixsent`
wert1=`echo $P |grep 'Local:' |awk '{print $7}'`
wer2=`echo $P |grep 'Relay:' |awk '{print $9}'`
echo $wert1
echo $wert2
Target[postfix]: `/usr/local/bin/mrtg-postfix2`
Options[postfix]: nopercent, growright, noinfo, nobanner
MaxBytes[postfix]: 1000
Title[postfix]: Postfix
Wenn cih in die DB schau erhöhen sich die werte... allerdings steht in der mrtg log file postfix.log lauter 0er auser an der 1. stelle stehn die richtigen werte.. sprich er speichert nicht die alten werte.. wieso?
<?
$dbuser = "root";
$dbpass = "***";
$dbname = "postfixstats";
$link = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname);
$datei = "/var/log/mail";
$fp = fopen( $datei, "r") or die("error 1");
while (! feof($fp)) {
$zeile = fgets( $fp, 1024);
if (ereg("status=sent", $zeile)) {
if (ereg("relay=local", $zeile)) {
$sentlocal++;
}
else {
$sentrelay++;
}
$sent = $sent + 1;
}
elseif(ereg("smtpd", $zeile) AND ereg("client=", $zeile)) {
$remote++;
$res++;
}
elseif(ereg("pickup", $zeile)) {
if(ereg("sender", $zeile) OR ereg("uid", $zeile)) {
$local++;
$res++;
}
}
elseif(ereg("popper", $zeile)) {
if(ereg("Stats:", $zeile)) {
$pop++;
}
}
}
$time = time();
$sql = mysql_fetch_array(mysql_query("SELECT * FROM grepsent ORDER BY id DESC LIMIT 1"));
mysql_query("INSERT INTO grepsent VALUES(NULL,'$time','$sentlocal','$sentrelay')");
print "Local: ". ($sentlocal - $sql[2]) ."n";
print "Relay: ". ($sentrelay - $sql[3]) ."n";
?>
#!/bin/sh
P=`/usr/local/bin/mrtg-postfixsent`
wert1=`echo $P |grep 'Local:' |awk '{print $7}'`
wer2=`echo $P |grep 'Relay:' |awk '{print $9}'`
echo $wert1
echo $wert2
Target[postfix]: `/usr/local/bin/mrtg-postfix2`
Options[postfix]: nopercent, growright, noinfo, nobanner
MaxBytes[postfix]: 1000
Title[postfix]: Postfix
Wenn cih in die DB schau erhöhen sich die werte... allerdings steht in der mrtg log file postfix.log lauter 0er auser an der 1. stelle stehn die richtigen werte.. sprich er speichert nicht die alten werte.. wieso?