Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update postfix_mailvolume #1633

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 19 additions & 5 deletions plugins/node.d/postfix_mailvolume
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ The following shows the default configuration.
[postfix*]
env.logdir /var/log
env.logfile syslog
env.use_journalctl 0
env.jc_cmd journalctl -u postfix

=head1 INTERPRETATION

Expand All @@ -33,11 +35,12 @@ None known

=head1 VERSION

v1.1 2018-03-24
* calculate extra field for mail volume that is actually delivered ("volume_delivered")
v1.2 2024-09-12
* enable reading from journalctl

=head1 AUTHOR

Copyright (C) 2024 alexx
Copyright (C) 2007-2008 Nicolai Langfeldt
Copyright (C) 2004-2005 Jimmy Olsen

Expand Down Expand Up @@ -66,12 +69,19 @@ use constant queue_id_expiry => 6 * 3600;

my $LOGDIR = $ENV{'logdir'} || '/var/log';
my $LOGFILE = $ENV{'logfile'} || 'syslog';

my $JC_CMD = $ENV{'jc_cmd'} || 'journalctl -u postfix';
my $USE_JC = $ENV{'use_journalctl'} || 0;

sub parseLogfile {
my ($fname, $start) = @_;

my ($LOGFILE, $rotated) = tail_open($fname, $start || 0);
my ($LOGFILE, $rotated);

if ($USE_JC and $USE_JC == 1){
open $LOGFILE, '-|', $JC_CMD or die $!;
}else{
($LOGFILE, $rotated) = tail_open($fname, $start || 0);
}
Comment on lines +78 to +84
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some formatting fixes.

Suggested change
my ($LOGFILE, $rotated);
if ($USE_JC and $USE_JC == 1){
open $LOGFILE, '-|', $JC_CMD or die $!;
}else{
($LOGFILE, $rotated) = tail_open($fname, $start || 0);
}
my ($LOGFILE, $rotated);
if ($USE_JC and $USE_JC == 1) {
open $LOGFILE, '-|', $JC_CMD or die $!;
} else {
($LOGFILE, $rotated) = tail_open($fname, $start || 0);
}


while (my $line = <$LOGFILE>) {
chomp ($line);
Expand Down Expand Up @@ -101,7 +111,11 @@ sub parseLogfile {
}
}
delete(@volumes_per_queue_id{@expired_queue_ids});
return tail_close($LOGFILE);
if ($USE_JC and $USE_JC == 1) {
return close($LOGFILE);
}else{
return tail_close($LOGFILE);
}
Comment on lines +114 to +118
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if ($USE_JC and $USE_JC == 1) {
return close($LOGFILE);
}else{
return tail_close($LOGFILE);
}
if ($USE_JC and $USE_JC == 1) {
return close($LOGFILE);
} else {
return tail_close($LOGFILE);
}

}

if ( $ARGV[0] and $ARGV[0] eq "autoconf" ) {
Expand Down