44 lines
1.3 KiB
Perl
Executable File
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
|