Simple Network Monitoring [AJAX, PHP, MySQLi] + Dengan Fitur Email Report


Alhamdulillah jadi juga applikasinya gan :D. Sebenarnya program ini saya buat sebagai bahan laporan prakerin saya nanti, tapi karena masa prakerin saya masih tersisa 1/2 bulan lagi jadi saya Share disini untuk bahan belajar bersama.

Dengan applikasi ini kita bisa mengetahui apakah PC X terkoneksi pada jaringan ataukah tidak. Cara kerjanya simple seperti namanya :D dia hanya melakukan perintah PING ke IP PC X dan nantinya akan menghasilkan output berbentuk array, array inilah yang kemudin diproses sehingga kita bisa mengetahui statusnya apakah : Connected, Destination Host Unreachable, Destination Net Unreachable, Request Time Out ataukah Disconnected.

Untuk template disini saya menggunakan Bootstrap (Admin LTE). Berikut screenshot previewnya :

Halaman login :



Halaman home (Blok Utama)
Edit data Client

Tambah IP Client
Tambah Blok Baru

Log Email Report

Rubah Katasandi


List Blok 

Screenshot lainnya



Laporan Email


Tutorial peng-installan :

  1. Ekstrak file yang telah didownload ke folder \htdocs
  2. Edit file koneksi di folder lib/db/dbconfig.php sesuaikan dengan database kamu.
  3. Buat sebuah database baru kemudian import file net-monitoring.sql ke database.
  4. Untuk Login gunakan Email: admin@gmail.com Pass : admin
  5. Selesai.

Konfigurasi Email :

  1. Disini saya menggunakan PHPMailer.
  2. Edit file /asset/ex_mail.php sesuaikan dengan email yang akan kamu gunakan untuk mengirim laporan
    $mail->isSMTP();
    $mail->Host = 'smtp.gmail.com';
    $mail->SMTPAuth = true;
    $mail->Username = 'email@gmail.com'; // Email anda disini
    $mail->Password = 'Katasandi'; // Katasandi email anda
    $mail->SMTPSecure = 'tls';
   
    $mail->From = 'email@gmail.com'; // Email disamakan saja
    $mail->FromName = 'Monitoring ITCN3';
    $mail->addAddress('taret@gmail.com', 'Target nama'); // Target email
   
    $mail->addReplyTo('email@gmail.com', 'Monitoring ITCN3'); // isi saja sama seperti email yg anda gunakan untuk mengirim

Update : Bagi yang sebelumnya mengalami error (tidak bisa memilih blok) ketika melakukan Add new client, script sudah saya update jadi silahkan download lagi di github (link dibawah).
Atau kalian bisa edit secara manual file /view/add_client.php, cari baris ini :

    <select class="form-control select2" style="width: 
    <?php
      $sql = "SELECT*FROM blok ORDER BY name_blok ASC";
      $query = $conn->query($sql);
           while ($get = $query->fetch_assoc()) {
                 extract($get);
                 echo "<option value='$id_blok'>$name_blok</option>";
           } 
     ?>
     </select>

    Tambahkan artibut name="stasiun" pada form select.

    <select name="stasiun" class="form-control select2" style="width: 

    <?php
      $sql = "SELECT*FROM blok ORDER BY name_blok ASC";
      $query = $conn->query($sql);
           while ($get = $query->fetch_assoc()) {
                 extract($get);
                 echo "<option value='$id_blok'>$name_blok</option>";
           } 
     ?>
     </select>

    Simpang. Sekarang script sudah berjalan normal :D


    Mohon maaf kalau masih ada kekurangan karena saya pun masih sama-sama belajar :D oleh karena itu masukan yang membangun sangat saya butuhkan :D ..  Terimakasih,

    Catatan: Simple Network Monitoring ini untuk sementara hanya bisa dijalankan di OS Windows.

    Download Simple Network Monitoring
    Miror

    67 comments

    mantap kang..

    suwun ilmu ne

    Reply

    Silahkan bang, terimakasih kembali :D

    Reply

    Terimakasih bang..
    Sama2 bang :D

    Reply

    izin download kang...
    ilmu bermanfaat terimakasih (y)

    Reply

    Siap bang.. sama2 bang sukses selalu

    Reply

    di push ke github, biar banyak yang kontrib

    Reply

    Okay bang ane usahakan, terimakasih

    Reply

    statis maksdnya hrus di rubah manual di codingnya? Iya gan :D

    Reply

    directory homenya gak ada mas? setelah login sukses di arahkan ke home, tapi homenya gak ada..

    Reply

    Bro ada eror nih. Fatal error: Class 'mysqli' not found in ib/db/dbconfig.php on line 7. Line 7: $conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname);. Salahnya dmn yah?

    Reply

    pakai xamppnnya php versi berapa gan?

    Reply

    Bukan directory Mas, itu pakai htaccess. pastiin file .htaccess sudah terekstrak.
    Sudah saya coba lagi berjalan lancar di xampp saya. kalo file .htaccessnya udh ada tapi ttp ngga mau coba kesini https://www.google.co.id/search?q=enable+.htaccess+xampp&oq=enable+.ht&aqs=chrome.5.69i57j0l5.6695j0j7&sourceid=chrome&es_sm=122&ie=UTF-8

    Reply

    Sudah saya cek dan berjalan normal gan. mungkin xampp yg abang gunakan versi phpnya belum support MySQLi, saran download xampp yg terbaru.

    Reply
    This comment has been removed by the author.

    ini proses send report email gmn ya ?

    mau ngetes report nya nih masuk ga ke email

    Reply

    Sistem bakal ngirim email otomatis jika terdeteksi status selain "Connected". pertama bakal ngecek ke database dulu mana aja IP yg statusnya ngga "connected" kalau ketemu dia bakal ngejalanin aksi kirim email. buat ngetes ruabah saja manual dari databasenya menjadi selain "Connected" atau masukin IP sembarang.

    Reply

    Om
    ijin unduh yakkkk buat bahan belajar :D
    Cmiww

    terus berkarya

    Reply

    Notice: Trying to get property of non-object in C:\xampp\htdocs\net-monitoring\asset\proses.php on line 14

    Fatal error: Call to a member function fetch_assoc() on boolean in C:\xampp\htdocs\net-monitoring\asset\proses.php on line 17
    kalo error nya seperti ini bagaimana massolusinya ?
    thanks :D

    Reply

    1. Cek database udah terkoneksi dengan benar atau belum
    2. Cek apakah database (net_monitoring.sql) sudah di import atau belum
    2. Cek veri xampp yang agan pakai sudah support MySQLi atau belum

    Reply

    maaf mas kok saya saat sudah berhasil login, tidak munculnya mas malah 404 notfound

    Reply
    This comment has been removed by the author.

    Fatal error: Using $this when not in object context
    kalau errornya seperti ini apanya ya gan?

    Reply

    source code php pinger ada 2 itu bedanya apa ya? antara ping-daop3.php dan ping-st-test?

    Reply

    Notice: Trying to get property of non-object in /opt/lampp/htdocs/Simple-Net-Monitoring.1-master/asset/proses.php on line 14

    Fatal error: Call to a member function fetch_assoc() on a non-object in /opt/lampp/htdocs/Simple-Net-Monitoring.1-master/asset/proses.php on line 17

    masalah ini macam mana ye?

    Reply

    Wah mantap nih, izin nyoba ya bos, lagi tertarik soal monitoring juga soalnya. Dikembangin sekalian pake SNMP gan biar fiturnya banyak haha.

    anyway kalo agan tertarik kita bisa diskusi, bisa kontak di febriansc@gmail.com

    Reply

    bang mau tanya ,kalo gak ada pemberitahuan ke email gimana yah ? padahal konfigurasi email sesuai email sayanya sudah..

    Reply

    mohon bantuannya gan ,pemberitahuan tidak masuk ke email ,konfigurasi email sudah dilakukan.

    Reply

    izin sedot dan coba kembangkan buat tugas akhir gan... boleh yak?

    Reply

    izin download ya mas...
    insya alloh ilmunya bermanfaat terimakasih, saya modifikasi ya mas..

    Reply

    klo mau test ke email harus di hosting atau localhost juga bisa?

    Reply

    kalo untuk dicoba pada dua pc, nah setting ip address kedua pc ersebut gimana yah gan? di localhost?

    Reply

    mas mau tanya kalau aplikasi ini di pindah ke server ubuntu tidak bisa berjalan ya untuk connect, dissconnectnya ?

    Reply

    Notice: Trying to get property of non-object in C:\xampp\htdocs\Simple-Net-Monitoring.1-master\asset\proses.php on line 14

    Fatal error: Uncaught Error: Call to a member function fetch_assoc() on boolean in C:\xampp\htdocs\Simple-Net-Monitoring.1-master\asset\proses.php:17 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Simple-Net-Monitoring.1-master\asset\proses.php on line 17

    klo gini kendalanya apa gan ya ?

    Reply

    Gan setelah di install kok status nya disconnected terus ya ? padahal di ping via cmd ada reply kok (wifi). atu apakah aplikasi ini hanya untuk jaringan lan (rj45) saja ?
    atau harus ada fitur windows yang harus di on kan (snmp & tcpip services) ???

    Reply

    ijin sedot bang, buat referensi tugas matkul
    Thank

    Reply

    gimana caranya kok saya ga bisa ya.. uda diketik localhost/namaapp nya tetep ga bisa

    Reply

    gan,nanya...
    ini kan defaultnya admin.
    kalau misalkan dibuat ada user guest misalnya.. yang hanya bisa monitor tanpa fungsi add client bisa?

    bagian code mana yang harus diubah?

    Reply

    coba menjawab gan..
    sepertinya hanya bisa untuk jaringan dengan segment IP yang sama.
    misal : sesama wifi atau sesama jaringan kabel saja

    coba agan juga lihat pingger, kalau dilihat dari script dia hanya mem ping sekali saja. ping -n 1

    Reply

    ada bagian yang harus di ubah kalau tidak salah. coba cek file php file di view\pingger

    Reply

    Terimakasih udah bantu jawab gan

    Reply

    Settingan firewallnya di cek lagi mas. Atau coba ping manual melalui CMD hasilnya seeperti apa ?

    Reply

    terima kasih gan, boleh saya coba

    Reply

    maaf mas mau tanya cara sent log ke email nya itu auto ? semisal iya brp menit sekali ? terima kasih
    soalnya saya masih sangat awam soal snmp

    Reply

    gan cara ngeset biar client di per stasiun nampil lebih dari 5 gimana?

    Reply

    xampp nya dah aktif blom?

    Reply

    izin sedot gan,ilmu nya bermanfaat, btw cara kerja nya gimana gan ? ini harus hosting apa bisa pake pake localhost aja ?

    Reply

    bang, kalo mau nonaktifin fungsi report email gimana?

    Reply

    Mau tanya , cara login email nya gimana ya ? binggung soalnya masih amatiran nih ..

    Reply
    This comment has been removed by the author.

    need your help with ypur system. please email me on drasya.4313@gmail.com

    Reply

    ga ada versi codeigternya ya

    Reply

    Ada contact yg bisa di hubungin mas ?

    Reply

    Terima kasih, Sangat Membantu

    Reply

    Ada contact yg bsa dihub gan

    Reply

    bisa ajarin saya gmailnya kok ngk bisa ya? saya bayar dah

    Reply

    master mau tanya..fungsi field hour_logs pada table log itu apa ya?

    Reply

    mas untuk pwd_user nya pake fungsi apa ya itu? thx

    Reply

    mas untuk pwd_usernya pake fungsi apa ya itu untuk ubah ke kode rahasia? thx

    Reply

    ijin bertanya brooo, apakah aplikasi ini menggunakan ICMP?

    Reply

    Notice: Trying to get property 'num_rows' of non-object in C:\xampp\htdocs\monitoring\asset\proses.php on line 14

    Fatal error: Uncaught Error: Call to a member function fetch_assoc() on boolean in C:\xampp\htdocs\monitoring\asset\proses.php:17 Stack trace: #0 {main} thrown in C:\xampp\htdocs\monitoring\asset\proses.php on line 17

    Reply
    This comment has been removed by the author.

    Status jaringan yg array tidak bisa refresh otomatis ya?

    Reply

    kalau dibuat tampilan dashboard gambar down / up apakah ini udah real time gak ya

    Reply

    Post a Comment