Anzahl versendeter Mails messen

Bash, Shell, PHP, Python, Perl, CGI
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen

Anzahl versendeter Mails messen

Post by andreask2 » 2005-07-04 20:18

Hallo!

Habt ihr ne Idee, wie man einigermaßen effizient die Anzahl Mails, die in einer Minute oder 5 Minuten gesendet wurden, messen kann? So mit irgendeinem Shell-Script? Ich kann ja nicht minütlich das syslog komplett durchsuchen.

Habt Ihr ne Idee? Oder evtl. auch per IP-Tables? Aber die Anzahl gesendeter Pakete stimmt sicher nicht mit der Anzahl Mails überein. Also wie könnte man das effizient hinbekommen?

Grüße
Andreas

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: Anzahl versendeter Mails messen

Post by Roger Wilco » 2005-07-04 20:24

Bei Postfix z. B. mit Mailgraph, für andere MTAs gibt es ähnliche Programme.

antondollmaier
Posts: 485
Joined: 2004-03-30 10:06

Re: Anzahl versendeter Mails messen

Post by antondollmaier » 2005-07-04 20:28

pflogsumm is da gut :D

andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen

Re: Anzahl versendeter Mails messen

Post by andreask2 » 2005-07-04 20:47

Eigentlich habe ich ja schon ein frontend für rrdtool -> serverstats.

Hierfür suche ich eine Methode. Und da die anderen tools es wohl auch nicht großartig anders machen als vermutet, mache ich es jetzt (ein wenig bei einem cacti-script gespickt ;-)) so:

Code: Select all

#!/bin/sh

tail -n 5000 /var/log/mail.log | awk '
BEGIN {
        search_time = "^" strftime("%b %e %H:%M", systime() - 5 * 60);
        search_sent = "status=sent";
        sent_count = 0;
        }
{
        if ($0 ~ search_time && $0 ~ search_sent) time_trigger = 1;
        if (time_trigger && $0 ~ search_sent) sent_count++;
}
END { print sent_count; }'
exit
Danke Euch!

andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen

Re: Anzahl versendeter Mails messen

Post by andreask2 » 2005-07-04 20:52

(der Server kann nur Mails von localhost versenden... keine empfangen)

suntzu
Posts: 669
Joined: 2002-12-20 19:47
Location: Mönchengladbach

Re: Anzahl versendeter Mails messen

Post by suntzu » 2005-07-12 23:24

Moin,

ich lese die Anzahl der Mails bei mir so aus:

Code: Select all

#!/bin/bash

NUM_MAILS=0
for datei in `find /var/log/qmail/* -mmin -10`
  do
    TEMP=`cat ${datei} 
      | grep "success" 
      | cut -d" " -f1 
      | tai64nlocal 
      | cut -d"." -f1 
      | date +"%s" -f - 
      | gawk '$1 > (systime()-300){print $1}' 
      | wc -l`
    let "NUM_MAILS=${NUM_MAILS}+${TEMP}"
  done

declare -i NUM_MAILS
echo ${NUM_MAILS}
echo ${NUM_MAILS}
echo 0
echo 0
Ich denke, das lässt sich irgendwie individuell greppen... ;-)

Gruß,
Dominik