Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Backports:SLE-15-SP4:FactoryCandidates
mailgraph
mailgraph_for_nagios-plugins-mailgraph.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File mailgraph_for_nagios-plugins-mailgraph.patch of Package mailgraph
Index: mailgraph-1.14/mailgraph.pl =================================================================== --- mailgraph-1.14.orig/mailgraph.pl +++ mailgraph-1.14/mailgraph.pl @@ -473,6 +473,7 @@ my $points_per_sample = 3; my $daemon_logfile = '/var/log/mailgraph/mailgraph.log'; my $daemon_pidfile = '/var/run/mailgraph.pid'; my $daemon_rrd_dir = '/var/lib/mailgraph'; +my $statfile=''; # global variables my $logfile; @@ -481,6 +482,7 @@ my $rrd_virus = "mailgraph_virus.rrd"; my $year; my $this_minute; my %sum = ( sent => 0, received => 0, bounced => 0, rejected => 0, virus => 0, spam => 0 ); +my %sum_stat = %sum; my $rrd_inited=0; my %opt = (); @@ -509,6 +511,7 @@ sub usage print " -y, --year starting year of the log file (default: current year)\n"; print " --host=HOST use only entries for HOST (regexp) in syslog\n"; print " -d, --daemon start in the background\n"; + print " -s, --statfile f statistic file (for nagios plugin check_mailgraph) f\n"; print " --daemon-pid=FILE write PID to FILE instead of /var/run/mailgraph.pid\n"; print " --daemon-rrd=DIR write RRDs to DIR instead of /var/log\n"; print " --daemon-log=FILE write verbose-log to FILE instead of /var/log/mailgraph.log\n"; @@ -527,7 +530,7 @@ sub main { Getopt::Long::Configure('no_ignore_case'); GetOptions(\%opt, 'help|h', 'cat|c', 'logfile|l=s', 'logtype|t=s', 'version|V', - 'year|y=i', 'host=s', 'verbose|v', 'daemon|d!', + 'year|y=i', 'host=s', 'verbose|v', 'daemon|d!', 'statfile|s=s', 'daemon_pid|daemon-pid=s', 'daemon_rrd|daemon-rrd=s', 'daemon_log|daemon-log=s', 'ignore-localhost!', 'ignore-host=s@', 'only-mail-rrd', 'only-virus-rrd', 'rrd_name|rrd-name=s', @@ -543,6 +546,7 @@ sub main $daemon_pidfile = $opt{daemon_pid} if defined $opt{daemon_pid}; $daemon_logfile = $opt{daemon_log} if defined $opt{daemon_log}; $daemon_rrd_dir = $opt{daemon_rrd} if defined $opt{daemon_rrd}; + $statfile = $opt{statfile} if defined $opt{statfile}; $rrd = $opt{rrd_name}.".rrd" if defined $opt{rrd_name}; $rrd_virus = $opt{rrd_name}."_virus.rrd" if defined $opt{rrd_name}; @@ -957,6 +961,7 @@ sub process_line($) sub event($$) { my ($t, $type) = @_; + $sum_stat{$type}++; update($t) and $sum{$type}++; } @@ -979,6 +984,9 @@ sub update($) RRDs::update $rrd_virus, "$sm:0:0" unless $opt{'only-mail-rrd'}; } } + if ("$statfile" ne ""){ + update_stat(); + } $this_minute = $m; $sum{sent}=0; $sum{received}=0; @@ -989,6 +997,14 @@ sub update($) return 1; } +sub update_stat() +{ + open (my $stath, ">", $statfile) or die "unable to open $statfile to write mail statistic $!"; + print $stath "sent:$sum_stat{sent} received:$sum_stat{received} bounced:$sum_stat{bounced} rejected:$sum_stat{rejected} virus:$sum_stat{virus} spam:$sum_stat{spam}\n"; + close($stath); + return 1; +} + main; __END__ @@ -1013,6 +1029,7 @@ B<mailgraph> [I<options>...] -y, --year starting year of the log file (default: current year) --host=HOST use only entries for HOST (regexp) in syslog -d, --daemon start in the background + -s, --statfile f statistic file (for check_mailgraph) f\n"; --daemon-pid=FILE write PID to FILE instead of /var/run/mailgraph.pid --daemon-rrd=DIR write RRDs to DIR instead of /var/log --daemon-log=FILE write verbose-log to FILE instead of /var/log/mailgraph.log
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor