QMail rrdtool graphs
·1553 words·8 mins
This is a quick howto, thats not finished yet..
mkdir /usr/local/rrd
cd /usr/local/rrd/
Run the following commands to create the rrd db’s
rrdtool create mess.rrd --start `date +"%s"`
DS:mess_del:GAUGE:600:0:12500000
DS:mess_at:GAUGE:600:0:12500000
--step 300 RRA:AVERAGE:0.5:1:2000 RRA:AVERAGE:0.5:6:2000
RRA:AVERAGE:0.5:24:2000 RRA:AVERAGE:0.5:288:2000
RRA:MAX:0.5:1:2000 RRA:MAX:0.5:6:2000 RRA:MAX:0.5:24:2000
RRA:MAX:0.5:288:2000
rrdtool create queue.rrd --start `date +"%s"`
DS:queue_msg:GAUGE:600:0:12500000
DS:queue_unmsg:GAUGE:600:0:12500000
--step 300 RRA:AVERAGE:0.5:1:2000 RRA:AVERAGE:0.5:6:2000
RRA:AVERAGE:0.5:24:2000 RRA:AVERAGE:0.5:288:2000
RRA:MAX:0.5:1:2000 RRA:MAX:0.5:6:2000 RRA:MAX:0.5:24:2000
RRA:MAX:0.5:288:2000
rrdtool create concurrency.rrd --start `date +"%s"`
DS:conc_local:GAUGE:600:0:12500000
DS:conc_remote:GAUGE:600:0:12500000
DS:conc_smtp:GAUGE:600:0:12500000
--step 300 RRA:AVERAGE:0.5:1:2000 RRA:AVERAGE:0.5:6:2000
RRA:AVERAGE:0.5:24:2000 RRA:AVERAGE:0.5:288:2000
RRA:MAX:0.5:1:2000 RRA:MAX:0.5:6:2000 RRA:MAX:0.5:24:2000
RRA:MAX:0.5:288:2000
rrdtool create stats.rrd --start `date +"%s"`
DS:stats_suc:GAUGE:600:0:12500000
DS:stats_fail:GAUGE:600:0:12500000
--step 300 RRA:AVERAGE:0.5:1:2000 RRA:AVERAGE:0.5:6:2000
RRA:AVERAGE:0.5:24:2000 RRA:AVERAGE:0.5:288:2000
RRA:MAX:0.5:1:2000 RRA:MAX:0.5:6:2000 RRA:MAX:0.5:24:2000
RRA:MAX:0.5:288:2000
rrdtool create bytes.rrd --start `date +"%s"`
DS:bytes_in:GAUGE:600:0:12500000
DS:bytes_out:GAUGE:600:0:12500000
--step 300 RRA:AVERAGE:0.5:1:2000 RRA:AVERAGE:0.5:6:2000
RRA:AVERAGE:0.5:24:2000 RRA:AVERAGE:0.5:288:2000
RRA:MAX:0.5:1:2000 RRA:MAX:0.5:6:2000 RRA:MAX:0.5:24:2000
RRA:MAX:0.5:288:2000
rrdtool create smtp.rrd --start `date +"%s"`
DS:smtp_allow:GAUGE:600:0:12500000
DS:smtp_deny:GAUGE:600:0:12500000
--step 300 RRA:AVERAGE:0.5:1:2000 RRA:AVERAGE:0.5:6:2000
RRA:AVERAGE:0.5:24:2000 RRA:AVERAGE:0.5:288:2000
RRA:MAX:0.5:1:2000 RRA:MAX:0.5:6:2000 RRA:MAX:0.5:24:2000
RRA:MAX:0.5:288:2000
rrdtool create pop3conc.rrd --start `date +"%s"`
DS:pop3conc:GAUGE:600:0:12500000
--step 300 RRA:AVERAGE:0.5:1:2000 RRA:AVERAGE:0.5:6:2000
RRA:AVERAGE:0.5:24:2000 RRA:AVERAGE:0.5:288:2000
RRA:MAX:0.5:1:2000 RRA:MAX:0.5:6:2000 RRA:MAX:0.5:24:2000
RRA:MAX:0.5:288:2000
rrdtool create pop3.rrd --start `date +"%s"`
DS:pop3_accept:GAUGE:600:0:12500000
DS:pop3_deny:GAUGE:600:0:12500000
--step 300 RRA:AVERAGE:0.5:1:2000 RRA:AVERAGE:0.5:6:2000
RRA:AVERAGE:0.5:24:2000 RRA:AVERAGE:0.5:288:2000
RRA:MAX:0.5:1:2000 RRA:MAX:0.5:6:2000 RRA:MAX:0.5:24:2000
RRA:MAX:0.5:288:2000
Add the following to update.sh
DS1="`/usr/local/bin/qmailmrtg7 m /var/log/qmail/qmail-send | head -n 1`"
DS2="`/usr/local/bin/qmailmrtg7 m /var/log/qmail/qmail-send | head -n 2 |tail -n 1`"
/usr/local/bin/rrdtool update /usr/local/rrd/mess.rrd N:$DS1:$DS2
DS1="`/usr/local/bin/qmailmrtg7 q /var/qmail/queue | head -n 1`"
DS2="`/usr/local/bin/qmailmrtg7 q /var/qmail/queue | head -n 2| tail -n 1`"
/usr/local/bin/rrdtool update /usr/local/rrd/queue.rrd N:$DS1:$DS2
DS1="`/usr/local/bin/qmailmrtg7 c /var/log/qmail/qmail-send | head -n 1`"
DS2="`/usr/local/bin/qmailmrtg7 c /var/log/qmail/qmail-send | head -n 2 |tail -n 1`"
DS3="`/usr/local/bin/qmailmrtg7 t /var/log/qmail/qmail-smtpd | head -n 1`"
/usr/local/bin/rrdtool update /usr/local/rrd/concurrency.rrd N:$DS1:$DS2:$DS3
DS1="`/usr/local/bin/qmailmrtg7 s /var/log/qmail/qmail-send | head -n 1`"
DS2="`/usr/local/bin/qmailmrtg7 s /var/log/qmail/qmail-send | head -n 2 |tail -n 1`"
/usr/local/bin/rrdtool update /usr/local/rrd/stats.rrd N:$DS1:$DS2
DS1="`/usr/local/bin/qmailmrtg7 b /var/log/qmail/qmail-send | head -n 1`"
DS2="`/usr/local/bin/qmailmrtg7 b /var/log/qmail/qmail-send | head -n 2 |tail -n 1`"
/usr/local/bin/rrdtool update /usr/local/rrd/bytes.rrd N:$DS1:$DS2
DS1="`/usr/local/bin/qmailmrtg7 a /var/log/qmail/qmail-pop3d | head -n 1`"
/usr/local/bin/rrdtool update /usr/local/rrd/pop3conc.rrd N:$DS1
DS1="`/usr/local/bin/qmailmrtg7 t /var/log/qmail/qmail-pop3d | head -n 1`"
DS2="`/usr/local/bin/qmailmrtg7 t /var/log/qmail/qmail-pop3d | head -n 2 |tail -n 1`"
/usr/local/bin/rrdtool update /usr/local/rrd/pop3.rrd N:$DS1:$DS2
Create the crontab
chmod +x update.sh
crontab -e
#add the following to your crontab
* * * * * /usr/local/rrd/update.sh
mkdir /usr/local/rrd/graph
#add the following to graph.sh
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/messages.png -a PNG -h 125 -s -129600
-v "Messages"
'DEF:ds1=/usr/local/rrd/mess.rrd:mess_del:AVERAGE'
'DEF:ds2=/usr/local/rrd/mess.rrd:mess_at:AVERAGE'
'LINE1:ds1#00FF00:Message Deliveries'
'LINE2:ds2#0000FF:Message Del Attemptsj'
-t "Messages"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/queue.png -a PNG -h 125 -s -129600
-v "Messages"
'DEF:ds1=/usr/local/rrd/queue.rrd:queue_msg:AVERAGE'
'DEF:ds2=/usr/local/rrd/queue.rrd:queue_unmsg:AVERAGE'
'LINE1:ds1#00FF00:Queue Msgs '
'LINE2:ds2#0000FF:Queue Unprocessed Msgs j'
-t "Queue Size"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/stats.png -a PNG -h 125 -s -129600
-v "Messages"
'DEF:ds1=/usr/local/rrd/stats.rrd:stats_suc:AVERAGE'
'DEF:ds2=/usr/local/rrd/stats.rrd:stats_fail:AVERAGE'
'LINE1:ds1#00FF00:Succcessful Deliveries '
'LINE2:ds2#0000FF:Failed Deliveries j'
-t "Message Status"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/bytes.png -a PNG -h 125 -s -129600
-v "bytes"
'DEF:ds1=/usr/local/rrd/bytes.rrd:bytes_in:AVERAGE'
'DEF:ds2=/usr/local/rrd/bytes.rrd:bytes_out:AVERAGE'
'LINE1:ds1#00FF00:bytes In '
'LINE2:ds2#0000FF:bytes out j'
-t "Transfer (smtpd)"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/conc.png -a PNG -h 125 -s -129600
-v "Sessions"
'DEF:ds1=/usr/local/rrd/concurrency.rrd:conc_local:AVERAGE'
'DEF:ds2=/usr/local/rrd/concurrency.rrd:conc_remote:AVERAGE'
'DEF:ds3=/usr/local/rrd/concurrency.rrd:conc_smtp:AVERAGE'
'LINE1:ds1#00FF00:Local '
'LINE2:ds2#0000FF:Remote '
'LINE3:ds3#00AAAA:SMTP j'
-t "Concurrency (smtpd/send)"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/smtp.png -a PNG -h 125 -s -129600
-v "Sessions"
'DEF:ds1=/usr/local/rrd/smtp.rrd:smtp_allow:AVERAGE'
'DEF:ds2=/usr/local/rrd/smtp.rrd:smtp_deny:AVERAGE'
'LINE1:ds1#00FF00:Accepted SMTP'
'LINE2:ds2#0000FF:Denied SMTP j'
-t "SMTP"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/pop3.png -a PNG -h 125 -s -129600
-v "Sessions"
'DEF:ds1=/usr/local/rrd/pop3.rrd:pop3_accept:AVERAGE'
'DEF:ds2=/usr/local/rrd/pop3.rrd:pop3_deny:AVERAGE'
'LINE1:ds1#00FF00:Accepted pop3'
'LINE2:ds2#0000FF:Denied pop3 j'
-t "pop3"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/popconc.png -a PNG -h 125 -s -129600
-v "Sessions"
'DEF:ds1=/usr/local/rrd/pop3conc.rrd:pop3conc:AVERAGE'
'LINE1:ds1#00FF00:pop3 '
-t "pop3 concurrency"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/messages.month.png -a PNG -h 125 -s -2592000
-v "Messages"
'DEF:ds1=/usr/local/rrd/mess.rrd:mess_del:AVERAGE'
'DEF:ds2=/usr/local/rrd/mess.rrd:mess_at:AVERAGE'
'LINE1:ds1#00FF00:Message Deliveries'
'LINE2:ds2#0000FF:Message Del Attemptsj'
-t "Messages"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/queue.month.png -a PNG -h 125 -s -2592000
-v "Messages"
'DEF:ds1=/usr/local/rrd/queue.rrd:queue_msg:AVERAGE'
'DEF:ds2=/usr/local/rrd/queue.rrd:queue_unmsg:AVERAGE'
'LINE1:ds1#00FF00:Queue Msgs '
'LINE2:ds2#0000FF:Queue Unprocessed Msgs j'
-t "Queue Size"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/stats.month.png -a PNG -h 125 -s -2592000
-v "Messages"
'DEF:ds1=/usr/local/rrd/stats.rrd:stats_suc:AVERAGE'
'DEF:ds2=/usr/local/rrd/stats.rrd:stats_fail:AVERAGE'
'LINE1:ds1#00FF00:Succcessful Deliveries '
'LINE2:ds2#0000FF:Failed Deliveries j'
-t "Message Status"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/bytes.month.png -a PNG -h 125 -s -2592000
-v "bytes"
'DEF:ds1=/usr/local/rrd/bytes.rrd:bytes_in:AVERAGE'
'DEF:ds2=/usr/local/rrd/bytes.rrd:bytes_out:AVERAGE'
'LINE1:ds1#00FF00:bytes In '
'LINE2:ds2#0000FF:bytes out j'
-t "Transfer (smtpd)"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/conc.month.png -a PNG -h 125 -s -2592000
-v "Sessions"
'DEF:ds1=/usr/local/rrd/concurrency.rrd:conc_local:AVERAGE'
'DEF:ds2=/usr/local/rrd/concurrency.rrd:conc_remote:AVERAGE'
'DEF:ds3=/usr/local/rrd/concurrency.rrd:conc_smtp:AVERAGE'
'LINE1:ds1#00FF00:Local '
'LINE2:ds2#0000FF:Remote '
'LINE3:ds3#00AAAA:SMTP j'
-t "Concurrency (smtpd/send)"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/smtp.month.png -a PNG -h 125 -s -2592000
-v "Sessions"
'DEF:ds1=/usr/local/rrd/smtp.rrd:smtp_allow:AVERAGE'
'DEF:ds2=/usr/local/rrd/smtp.rrd:smtp_deny:AVERAGE'
'LINE1:ds1#00FF00:Accepted SMTP'
'LINE2:ds2#0000FF:Denied SMTP j'
-t "SMTP"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/pop3.month.png -a PNG -h 125 -s -2592000
-v "Sessions"
'DEF:ds1=/usr/local/rrd/pop3.rrd:pop3_accept:AVERAGE'
'DEF:ds2=/usr/local/rrd/pop3.rrd:pop3_deny:AVERAGE'
'LINE1:ds1#00FF00:Accepted pop3'
'LINE2:ds2#0000FF:Denied pop3 j'
-t "pop3"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/popconc.month.png -a PNG -h 125 -s -2592000
-v "Sessions"
'DEF:ds1=/usr/local/rrd/pop3conc.rrd:pop3conc:AVERAGE'
'LINE1:ds1#00FF00:pop3 '
-t "pop3 concurrency"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/messages.month.png -a PNG -h 125 -s -2592000
-v "Messages"
'DEF:ds1=/usr/local/rrd/mess.rrd:mess_del:AVERAGE'
'DEF:ds2=/usr/local/rrd/mess.rrd:mess_at:AVERAGE'
'LINE1:ds1#00FF00:Message Deliveries'
'LINE2:ds2#0000FF:Message Del Attemptsj'
-t "Messages"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/queue.month.png -a PNG -h 125 -s -2592000
-v "Messages"
'DEF:ds1=/usr/local/rrd/queue.rrd:queue_msg:AVERAGE'
'DEF:ds2=/usr/local/rrd/queue.rrd:queue_unmsg:AVERAGE'
'LINE1:ds1#00FF00:Queue Msgs '
'LINE2:ds2#0000FF:Queue Unprocessed Msgs j'
-t "Queue Size"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/stats.month.png -a PNG -h 125 -s -2592000
-v "Messages"
'DEF:ds1=/usr/local/rrd/stats.rrd:stats_suc:AVERAGE'
'DEF:ds2=/usr/local/rrd/stats.rrd:stats_fail:AVERAGE'
'LINE1:ds1#00FF00:Succcessful Deliveries '
'LINE2:ds2#0000FF:Failed Deliveries j'
-t "Message Status"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/bytes.month.png -a PNG -h 125 -s -2592000
-v "bytes"
'DEF:ds1=/usr/local/rrd/bytes.rrd:bytes_in:AVERAGE'
'DEF:ds2=/usr/local/rrd/bytes.rrd:bytes_out:AVERAGE'
'LINE1:ds1#00FF00:bytes In '
'LINE2:ds2#0000FF:bytes out j'
-t "Transfer (smtpd)"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/conc.month.png -a PNG -h 125 -s -2592000
-v "Sessions"
'DEF:ds1=/usr/local/rrd/concurrency.rrd:conc_local:AVERAGE'
'DEF:ds2=/usr/local/rrd/concurrency.rrd:conc_remote:AVERAGE'
'DEF:ds3=/usr/local/rrd/concurrency.rrd:conc_smtp:AVERAGE'
'LINE1:ds1#00FF00:Local '
'LINE2:ds2#0000FF:Remote '
'LINE3:ds3#00AAAA:SMTP j'
-t "Concurrency (smtpd/send)"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/smtp.month.png -a PNG -h 125 -s -2592000
-v "Sessions"
'DEF:ds1=/usr/local/rrd/smtp.rrd:smtp_allow:AVERAGE'
'DEF:ds2=/usr/local/rrd/smtp.rrd:smtp_deny:AVERAGE'
'LINE1:ds1#00FF00:Accepted SMTP'
'LINE2:ds2#0000FF:Denied SMTP j'
-t "SMTP"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/pop3.month.png -a PNG -h 125 -s -2592000
-v "Sessions"
'DEF:ds1=/usr/local/rrd/pop3.rrd:pop3_accept:AVERAGE'
'DEF:ds2=/usr/local/rrd/pop3.rrd:pop3_deny:AVERAGE'
'LINE1:ds1#00FF00:Accepted pop3'
'LINE2:ds2#0000FF:Denied pop3 j'
-t "pop3"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/popconc.month.png -a PNG -h 125 -s -2592000
-v "Sessions"
'DEF:ds1=/usr/local/rrd/pop3conc.rrd:pop3conc:AVERAGE'
'LINE1:ds1#00FF00:pop3 '
-t "pop3 concurrency"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/messages.week.png -a PNG -h 125 -s -604800
-v "Messages"
'DEF:ds1=/usr/local/rrd/mess.rrd:mess_del:AVERAGE'
'DEF:ds2=/usr/local/rrd/mess.rrd:mess_at:AVERAGE'
'LINE1:ds1#00FF00:Message Deliveries'
'LINE2:ds2#0000FF:Message Del Attemptsj'
-t "Messages"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/queue.week.png -a PNG -h 125 -s -604800
-v "Messages"
'DEF:ds1=/usr/local/rrd/queue.rrd:queue_msg:AVERAGE'
'DEF:ds2=/usr/local/rrd/queue.rrd:queue_unmsg:AVERAGE'
'LINE1:ds1#00FF00:Queue Msgs '
'LINE2:ds2#0000FF:Queue Unprocessed Msgs j'
-t "Queue Size"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/stats.week.png -a PNG -h 125 -s -604800
-v "Messages"
'DEF:ds1=/usr/local/rrd/stats.rrd:stats_suc:AVERAGE'
'DEF:ds2=/usr/local/rrd/stats.rrd:stats_fail:AVERAGE'
'LINE1:ds1#00FF00:Succcessful Deliveries '
'LINE2:ds2#0000FF:Failed Deliveries j'
-t "Message Status"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/bytes.week.png -a PNG -h 125 -s -604800
-v "bytes"
'DEF:ds1=/usr/local/rrd/bytes.rrd:bytes_in:AVERAGE'
'DEF:ds2=/usr/local/rrd/bytes.rrd:bytes_out:AVERAGE'
'LINE1:ds1#00FF00:bytes In '
'LINE2:ds2#0000FF:bytes out j'
-t "Transfer (smtpd)"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/conc.week.png -a PNG -h 125 -s -604800
-v "Sessions"
'DEF:ds1=/usr/local/rrd/concurrency.rrd:conc_local:AVERAGE'
'DEF:ds2=/usr/local/rrd/concurrency.rrd:conc_remote:AVERAGE'
'DEF:ds3=/usr/local/rrd/concurrency.rrd:conc_smtp:AVERAGE'
'LINE1:ds1#00FF00:Local '
'LINE2:ds2#0000FF:Remote '
'LINE3:ds3#00AAAA:SMTP j'
-t "Concurrency (smtpd/send)"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/smtp.week.png -a PNG -h 125 -s -604800
-v "Sessions"
'DEF:ds1=/usr/local/rrd/smtp.rrd:smtp_allow:AVERAGE'
'DEF:ds2=/usr/local/rrd/smtp.rrd:smtp_deny:AVERAGE'
'LINE1:ds1#00FF00:Accepted SMTP'
'LINE2:ds2#0000FF:Denied SMTP j'
-t "SMTP"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/pop3.week.png -a PNG -h 125 -s -604800
-v "Sessions"
'DEF:ds1=/usr/local/rrd/pop3.rrd:pop3_accept:AVERAGE'
'DEF:ds2=/usr/local/rrd/pop3.rrd:pop3_deny:AVERAGE'
'LINE1:ds1#00FF00:Accepted pop3'
'LINE2:ds2#0000FF:Denied pop3 j'
-t "pop3"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/popconc.week.png -a PNG -h 125 -s -604800
-v "Sessions"
'DEF:ds1=/usr/local/rrd/pop3conc.rrd:pop3conc:AVERAGE'
'LINE1:ds1#00FF00:pop3 '
-t "pop3 concurrency"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/messages.week.png -a PNG -h 125 -s -604800
-v "Messages"
'DEF:ds1=/usr/local/rrd/mess.rrd:mess_del:AVERAGE'
'DEF:ds2=/usr/local/rrd/mess.rrd:mess_at:AVERAGE'
'LINE1:ds1#00FF00:Message Deliveries'
'LINE2:ds2#0000FF:Message Del Attemptsj'
-t "Messages"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/queue.week.png -a PNG -h 125 -s -604800
-v "Messages"
'DEF:ds1=/usr/local/rrd/queue.rrd:queue_msg:AVERAGE'
'DEF:ds2=/usr/local/rrd/queue.rrd:queue_unmsg:AVERAGE'
'LINE1:ds1#00FF00:Queue Msgs '
'LINE2:ds2#0000FF:Queue Unprocessed Msgs j'
-t "Queue Size"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/stats.week.png -a PNG -h 125 -s -604800
-v "Messages"
'DEF:ds1=/usr/local/rrd/stats.rrd:stats_suc:AVERAGE'
'DEF:ds2=/usr/local/rrd/stats.rrd:stats_fail:AVERAGE'
'LINE1:ds1#00FF00:Succcessful Deliveries '
'LINE2:ds2#0000FF:Failed Deliveries j'
-t "Message Status"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/bytes.week.png -a PNG -h 125 -s -604800
-v "bytes"
'DEF:ds1=/usr/local/rrd/bytes.rrd:bytes_in:AVERAGE'
'DEF:ds2=/usr/local/rrd/bytes.rrd:bytes_out:AVERAGE'
'LINE1:ds1#00FF00:bytes In '
'LINE2:ds2#0000FF:bytes out j'
-t "Transfer (smtpd)"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/conc.week.png -a PNG -h 125 -s -604800
-v "Sessions"
'DEF:ds1=/usr/local/rrd/concurrency.rrd:conc_local:AVERAGE'
'DEF:ds2=/usr/local/rrd/concurrency.rrd:conc_remote:AVERAGE'
'DEF:ds3=/usr/local/rrd/concurrency.rrd:conc_smtp:AVERAGE'
'LINE1:ds1#00FF00:Local '
'LINE2:ds2#0000FF:Remote '
'LINE3:ds3#00AAAA:SMTP j'
-t "Concurrency (smtpd/send)"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/smtp.week.png -a PNG -h 125 -s -604800
-v "Sessions"
'DEF:ds1=/usr/local/rrd/smtp.rrd:smtp_allow:AVERAGE'
'DEF:ds2=/usr/local/rrd/smtp.rrd:smtp_deny:AVERAGE'
'LINE1:ds1#00FF00:Accepted SMTP'
'LINE2:ds2#0000FF:Denied SMTP j'
-t "SMTP"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/pop3.week.png -a PNG -h 125 -s -604800
-v "Sessions"
'DEF:ds1=/usr/local/rrd/pop3.rrd:pop3_accept:AVERAGE'
'DEF:ds2=/usr/local/rrd/pop3.rrd:pop3_deny:AVERAGE'
'LINE1:ds1#00FF00:Accepted pop3'
'LINE2:ds2#0000FF:Denied pop3 j'
-t "pop3"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/popconc.week.png -a PNG -h 125 -s -604800
-v "Sessions"
'DEF:ds1=/usr/local/rrd/pop3conc.rrd:pop3conc:AVERAGE'
'LINE1:ds1#00FF00:pop3 '
-t "pop3 concurrency"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/messages.year.png -a PNG -h 125 -s -31449600
-v "Messages"
'DEF:ds1=/usr/local/rrd/mess.rrd:mess_del:AVERAGE'
'DEF:ds2=/usr/local/rrd/mess.rrd:mess_at:AVERAGE'
'LINE1:ds1#00FF00:Message Deliveries'
'LINE2:ds2#0000FF:Message Del Attemptsj'
-t "Messages"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/queue.year.png -a PNG -h 125 -s -31449600
-v "Messages"
'DEF:ds1=/usr/local/rrd/queue.rrd:queue_msg:AVERAGE'
'DEF:ds2=/usr/local/rrd/queue.rrd:queue_unmsg:AVERAGE'
'LINE1:ds1#00FF00:Queue Msgs '
'LINE2:ds2#0000FF:Queue Unprocessed Msgs j'
-t "Queue Size"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/stats.year.png -a PNG -h 125 -s -31449600
-v "Messages"
'DEF:ds1=/usr/local/rrd/stats.rrd:stats_suc:AVERAGE'
'DEF:ds2=/usr/local/rrd/stats.rrd:stats_fail:AVERAGE'
'LINE1:ds1#00FF00:Succcessful Deliveries '
'LINE2:ds2#0000FF:Failed Deliveries j'
-t "Message Status"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/bytes.year.png -a PNG -h 125 -s -31449600
-v "bytes"
'DEF:ds1=/usr/local/rrd/bytes.rrd:bytes_in:AVERAGE'
'DEF:ds2=/usr/local/rrd/bytes.rrd:bytes_out:AVERAGE'
'LINE1:ds1#00FF00:bytes In '
'LINE2:ds2#0000FF:bytes out j'
-t "Transfer (smtpd)"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/conc.year.png -a PNG -h 125 -s -31449600
-v "Sessions"
'DEF:ds1=/usr/local/rrd/concurrency.rrd:conc_local:AVERAGE'
'DEF:ds2=/usr/local/rrd/concurrency.rrd:conc_remote:AVERAGE'
'DEF:ds3=/usr/local/rrd/concurrency.rrd:conc_smtp:AVERAGE'
'LINE1:ds1#00FF00:Local '
'LINE2:ds2#0000FF:Remote '
'LINE3:ds3#00AAAA:SMTP j'
-t "Concurrency (smtpd/send)"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/smtp.year.png -a PNG -h 125 -s -31449600
-v "Sessions"
'DEF:ds1=/usr/local/rrd/smtp.rrd:smtp_allow:AVERAGE'
'DEF:ds2=/usr/local/rrd/smtp.rrd:smtp_deny:AVERAGE'
'LINE1:ds1#00FF00:Accepted SMTP'
'LINE2:ds2#0000FF:Denied SMTP j'
-t "SMTP"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/pop3.year.png -a PNG -h 125 -s -31449600
-v "Sessions"
'DEF:ds1=/usr/local/rrd/pop3.rrd:pop3_accept:AVERAGE'
'DEF:ds2=/usr/local/rrd/pop3.rrd:pop3_deny:AVERAGE'
'LINE1:ds1#00FF00:Accepted pop3'
'LINE2:ds2#0000FF:Denied pop3 j'
-t "pop3"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/popconc.year.png -a PNG -h 125 -s -31449600
-v "Sessions"
'DEF:ds1=/usr/local/rrd/pop3conc.rrd:pop3conc:AVERAGE'
'LINE1:ds1#00FF00:pop3 '
-t "pop3 concurrency"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/messages.year.png -a PNG -h 125 -s -31449600
-v "Messages"
'DEF:ds1=/usr/local/rrd/mess.rrd:mess_del:AVERAGE'
'DEF:ds2=/usr/local/rrd/mess.rrd:mess_at:AVERAGE'
'LINE1:ds1#00FF00:Message Deliveries'
'LINE2:ds2#0000FF:Message Del Attemptsj'
-t "Messages"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/queue.year.png -a PNG -h 125 -s -31449600
-v "Messages"
'DEF:ds1=/usr/local/rrd/queue.rrd:queue_msg:AVERAGE'
'DEF:ds2=/usr/local/rrd/queue.rrd:queue_unmsg:AVERAGE'
'LINE1:ds1#00FF00:Queue Msgs '
'LINE2:ds2#0000FF:Queue Unprocessed Msgs j'
-t "Queue Size"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/stats.year.png -a PNG -h 125 -s -31449600
-v "Messages"
'DEF:ds1=/usr/local/rrd/stats.rrd:stats_suc:AVERAGE'
'DEF:ds2=/usr/local/rrd/stats.rrd:stats_fail:AVERAGE'
'LINE1:ds1#00FF00:Succcessful Deliveries '
'LINE2:ds2#0000FF:Failed Deliveries j'
-t "Message Status"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/bytes.year.png -a PNG -h 125 -s -31449600
-v "bytes"
'DEF:ds1=/usr/local/rrd/bytes.rrd:bytes_in:AVERAGE'
'DEF:ds2=/usr/local/rrd/bytes.rrd:bytes_out:AVERAGE'
'LINE1:ds1#00FF00:bytes In '
'LINE2:ds2#0000FF:bytes out j'
-t "Transfer (smtpd)"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/conc.year.png -a PNG -h 125 -s -31449600
-v "Sessions"
'DEF:ds1=/usr/local/rrd/concurrency.rrd:conc_local:AVERAGE'
'DEF:ds2=/usr/local/rrd/concurrency.rrd:conc_remote:AVERAGE'
'DEF:ds3=/usr/local/rrd/concurrency.rrd:conc_smtp:AVERAGE'
'LINE1:ds1#00FF00:Local '
'LINE2:ds2#0000FF:Remote '
'LINE3:ds3#00AAAA:SMTP j'
-t "Concurrency (smtpd/send)"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/smtp.year.png -a PNG -h 125 -s -31449600
-v "Sessions"
'DEF:ds1=/usr/local/rrd/smtp.rrd:smtp_allow:AVERAGE'
'DEF:ds2=/usr/local/rrd/smtp.rrd:smtp_deny:AVERAGE'
'LINE1:ds1#00FF00:Accepted SMTP'
'LINE2:ds2#0000FF:Denied SMTP j'
-t "SMTP"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/pop3.year.png -a PNG -h 125 -s -31449600
-v "Sessions"
'DEF:ds1=/usr/local/rrd/pop3.rrd:pop3_accept:AVERAGE'
'DEF:ds2=/usr/local/rrd/pop3.rrd:pop3_deny:AVERAGE'
'LINE1:ds1#00FF00:Accepted pop3'
'LINE2:ds2#0000FF:Denied pop3 j'
-t "pop3"
/usr/local/bin/rrdtool graph /usr/local/rrd/graph/popconc.year.png -a PNG -h 125 -s -31449600
-v "Sessions"
'DEF:ds1=/usr/local/rrd/pop3conc.rrd:pop3conc:AVERAGE'
'LINE1:ds1#00FF00:pop3 '
-t "pop3 concurrency"
Set graphs to be generated
chmod +x graph.sh
#add the folowing to your crontab as above
0-59/5 * * * * /usr/local/rrd/graph.sh 1>/dev/null 2>/dev/null
#create a symbolic link to somewhere in your web root to the graph directory
ln -s /usr/local/rrd/graph /usr/local/www/data/graph