2 Ocak 2015 Cuma

Web sayfası yüklenme performansını izleyen bir script (Perl)

Merhaba,

Perl ile web sayafalarının performansını izlemek için bir scripti paylaşmak istiyorum.
Web üzerinde bulduğum bir scripti değiştirip düzenleyerek alttaki hale getirdim.
Scriptimiz web sayfasını http protokolü ile ham kod halinde bilgisayarımıza indirecek ve işlemin başlaması ile bitişi arasındaki süreyi tutarak sayfanın nekadar sürede açıldığını (indirildiğini) bulacak.

Sayfanın indirilebilip indirilemediğine bakacak. İndirilebiliyor ise ham kodu ekrana basacak.

İndirme işlemi belirledigimiz sureden uzun sürüyor ise alarm oluşturacak.


#!/usr/local/bin/perl -w
use LWP::UserAgent;
use Crypt::SSLeay;
use HTTP::Cookies;
use HTTP::Headers;
use HTTP::Request;
use HTTP::Response;
use Time::HiRes 'time','sleep';
$browser = 'Mozilla/4.04 [en]';
$rooturl = 'http://www.myperltestportal.com/';
$cookie_jar = HTTP::Cookies->new;
$ua = LWP::UserAgent->new;
MAIN: {
 $ua->agent($browser);
 $latency = &get("index.php");
 if($response->content =~ m/404 Not Found/) {
    last;
 } else {
    if($latency > 0.5) {
         print "\n\nGECIKME VAR\n\n";
         last;
    } else {
         print "\n\nGECIKME YOK\n\n";
         last;
     }
 }
 sleep 5;
}
sub get {
 local ($path) = @_;
 $request = new HTTP::Request('GET', "$rooturl$path");
 if ($response) {
     $cookie_jar->extract_cookies($response);
     $cookie_jar->add_cookie_header($request);
 }
 $start = time(  );
 $response = $ua->request($request);
 $end = time(  );
 $latency = $end - $start;
if (!$response->is_success) {
      print $request->as_string(  ), " Basarisiz: ", $response->error_as_HTML;
 }
$GOSTER=OK;
  if($response->content =~ m/404 Not Found/) {
       print "\n\n*****\n\n404 ERROR\n\n*****\n\n";
  } else {
       if ($GOSTER eq "OK") {
             print "\n\nWEB SAYFASI DOSYA ICERIGI\n";
             print $response->content;
             print "\n###\n".$path." Dosyasi Kaynaktan Basari Ile Alindi \n\n###\n";
             print "\n".$path." Dosyasinin Yuklenmesi ".$latency."Surmustur.\n";
       }
 }
 $latency;
}


Linux / Unix sistemlerde disk doluluğunu izleyen bir script

Merhaba,

Linux makinelerde disk doluluğunu bulup belli bir yüzdenin altında ise alarm üreten bir script yazalım.


use strict;
use warnings;
use Filesys::
DiskSpace;


 # /log izlenecek
my $dir = "/log";

my $kritik_seviye=10;

# /log için df ciktisini alalim - burada ciktidaki tab ile ayrilmis kolonlar aliniyor - linux versiyonuna # gore degisiklik gosterebilir.
my ($fs, $fs_description, $used, $available, $filesystemused, $fmountedon) = df $dir;

# /log icin bos alan yuzdesini hesaplayalim
my $logfree = (($available) / ($available+$filesystemused)) * 100.0;


# display message
my $cikti = sprintf("$dir icin bos disk alani == %0.2f\n",$logfree);print $cikti;


if($logfree < $kritik_seviye{
    print "Alarm";
    #Bu asamada email yada sms gonderilebilir
}


Teşekkürler,
Cem Selmanoğulları