我创建了这个脚本,我想在collectd中使用它。
我想使用collectd-perl plugin,但我不知道如何使用它。
目标是计算服务器发送的邮件数量。
#!/usr/bin/perl
use strict;
use warnings;
my $pathvalue = 'value.txt';
my ($value, $old_value) = (countModule(), old_value());
########## Main #############
main();
####### Functions #############
sub old_value {
open(FIC,$pathvalue) or die return 0;
my @fic = <FIC> ;
foreach my $line (@fic)
{
chomp($line) ;
return $line; #return the old value
}
}
sub countModule
{
my $file = "mail.log";
open my $fh, "<",$file or die return 0;
my @contents = <$fh>;
my @filtered = grep (/status=sent/ ,@contents);
my $count = scalar @filtered;
return $count;
}
sub new_value {
my ($value) = @_;
open (FICHIER, ">$pathvalue") || die ("Vous ne pouvez pas créer le fichier");
print FICHIER "$value";
close (FICHIER);
}
sub main {
new_value(countModule());
if ($value >= $old_value) {
print $value-$old_value;
}else{
print $value;
}
}