Files
2026-08-10 16:12:09 +02:00

44 lines
1.3 KiB
Perl
Executable File

#!/usr/bin/perl
####################################################################### telemetry collector - v1.0.0 (mwx'2020)
use LWP::UserAgent;
chomp($host=`hostname`);$host=~s/\..*$//i;
$url = 'http://monitor.rz-berlin.mpg.de/telemetry.php';
############################################################################################ collect disk usage
$data = "df,$host,";
open(IN,"/bin/df -k -T |");
while(<IN>) {
@df=split(' ');
if ($df[1]=~/^ext/ || $df[1]=~/^nfs/) {
$total=($df[2]/1024/1024);
$avail=($df[4]/1024/1024);
$used=$total - $avail;
$per=$used*100/$total;
$data.=sprintf("$df[6],%.3f,%.3f,%.3f,%.2f,",$total,$avail,$used,$per);
}
}
$data .= time();
print "$data\n";
my $ua = new LWP::UserAgent();
$response = $ua->post($url, Content => $data);
########################################################################################### collect system load
open(UPTIME,"/usr/bin/uptime |");chomp($_=<UPTIME>);
if (/load\s*averages*\:\s*[\d\.]+\,\s*[\d\.]+\,\s*([\d\.]+)/) {
$load=$1;
}
$data = "load,$host,$load,".time();
print "$data\n";
my $ua = new LWP::UserAgent();
$response = $ua->post($url, Content => $data);
########################################################################################################### END