(ASK) Kirim notifikasi email

Pertanyaan umum seputar distribusi Ubuntu yang menjadi distro wajib members ubuntu-indonesia.com
User avatar
arfanzl
Posts: 1
Joined: 14 Jan 2014, 11:00

(ASK) Kirim notifikasi email

Postby arfanzl » 14 Jan 2014, 11:29

Permisi semuanya..

sebelumnya salam kenal, ane member baru disini.
mau langsung tanya banyak, mudah2an dapet infonya..

Jadi gini, ane lagi ngerjain TA. Judulnya Aplikasi Monitoring Node Down(Berbasis IP) dengan notifikasi alert email.

Ada 2 cara yang ane lakuin:
1. Menjalankan script Perl di scheduler crontab(untuk ngeping IP yang ada didatabase)
2. Script PHP untuk menampilkan status OFF dari database ke tampilan(interface)



Untuk mendapati IP yang Down, Instruksinya ngejalanin Sript perl di server linux ubuntu dengan ngejalanin scheduler crontab setiap 1 menit sekali

###################### PING PERANGKAT ###########################
$sql = "SELECT * FROM `".$tabel."`";
$query_handle = $connect->prepare($sql);
$query_handle->execute();
while($Row=$query_handle->fetchrow_hashref){
$node = $Row->{nama};
$ip_address = $Row->{ipaddress};
$device_id = $Row->{id};
$where = 'device_id = "'.device_id.'"';
#$check = $this->dbi->GetNum('alert',$where);
#$alert_time=date('Y-m-d H:i:s');
#$last_check=date('Y-m-d H:i:s');
$p = Net::Ping->new( "icmp", 2, 32 );
if ( $p->ping($ip_address) ) {
$ping_state = on;
print "$ip_address is alive.\n" ;
}else{
$ping_state = off;
print "$ip_address is dead.\n";
}
update_link();
print $node."(".$ip_address.") : ".$ping_state."\n";

$query_update->finish;
$p->close();
}
$connect->disconnect;
################################################################

sub update_link
{

$query_data_update = "UPDATE `".$database."`.`device` SET `status` = '".$ping_state."' WHERE `ipaddress` LIKE '".$ip_address."' " ;
#print $query_data_update."\n";
$query_update = $connect->prepare($query_data_update);
$query_update->execute();

if ($ping_state==off){
simpan_log();
simpan_alert();
}
}


sub simpan_log{
$query_data_update = "INSERT INTO log2 (`device_id`,`log_time`,`status`) VALUES ('$device_id',now(),'$ping_state')";
#print $query_data_update;
$query_update = $connect->prepare($query_data_update);
$query_update->execute();

}

sub simpan_alert{

$query_data_update = "INSERT INTO alert (`ipaddress`,`device_id`,`status`,`last_check`) VALUES ('$ip_address','$device_id','$ping_state',now())";
#print $query_data_update;
$query_update = $connect->prepare($query_data_update);
$query_update->execute();
}

Hasil dari isntruksi script diatas yang konek database, dengan penampakannya :

Image.

Setalah terisi didatabase, Script PHP berfungsi menampilkan Alert ditampian(interface) web, kira2 begini penampakannya..

Image

Nah yang mau ane tanyain disini, gimana caranya agar bisa kirim email disaat NODE(IP) disaat status = OFF, email-to yang akan dikirim tersedia di Field dari table di databasenya.

Image

Terimakasih atas perhatiannya, Semoga ane dapat pencerahannya.. Thx

Return to “Pertanyaan Umum”

Who is online

Users browsing this forum: No registered users and 30 guests