如何使用perl脚本在collectd中发送值?

时间:2015-09-21 10:54:38

标签: perl collectd

我创建了这个脚本,我想在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;
    }
}

0 个答案:

没有答案