#!/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() { @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($_=); 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