Script Mikrotik Untuk Mengetahui Login Logout Dan Batas Waktunya User Hotspot


Mikrotik menyediakan log untuk memantau aktifitas dari mikrotik, termasuk salah satunya adalah catatan adanya user yang keluar masuk atau login logout ketika menggunakan hotspot. Tetapi bagi saya fitur tersebut kurang begitu cukup membantu bagi saya yang menggunakan RB 941-2nd hAP. Semenjak saya menggunakan RB ini saya menjadi sangat tergantung dengan yang namanya log di RB tersebut.

Mengapa saya menjadi begitu tergantung dengan log di Mikrotik RB tersebut?

Karena, aktifitas yang terjadi semacam login dan logout sangat begitu penting buat saya, log dari mikrotik saya hubungkan dengan aplikasi MikroTik Syslog Daemon atau lebih dikenal dengan nama MT Syslog. Fungsi MT Syslog adalah menampung log-log dari mikrotik, sehingga log dari mikrotik bisa dibaca secara remote menggunakan aplikasi MT Syslog ini.



Log dari mikrotik sangat berguna sekali ketika RB reboot secara tiba-tiba. Dan itulah alasan utama saya mengapa log dari mikrotik menjadi begitu sangat penting. Ketika RB reboot atau mati karena listrik dari PLN padam, jam-jam di user yang sedang online (/ip hotspot active) saat itu akan ter-RESET kembali ke jam awal (limit uptime di /ip hotspot user). Dan tentu saja hal ini sangat merugikan saya.

Misal, ada seorang user sebut saja A sudah online selama 4 jam 56 menit (uptime di /ip hotspot active), dan limit uptime/batas waktu onlinenya adalah 5 jam. Jadi kurang 4 menit lagi jam online (session time di /ip hotspot active) untuk user A tersebut akan habis. Tetapi, secara tiba-tiba listrik dari PLN padam. Alhasil, uptimenya tidak akan dihitung sebagai waktu yang sah, dan intinya sisa jam user A tersebut ketika online setelah listrik hidup kembali akan kembali menjadi 5 jam, tidak jadi tersisa 4 menit.

Kembali ke pembahasan log. Jadi, karena pentingnya log tersebut, saya berpikir untuk menggunakan log sebagai pencatat waktu login dan logout disertai dengan batas waktu yang dipunyainya, dan tujuannya ketika RB mengalami reboot atau mati tiba-tiba, saya tetap mempunyai catatan waktu login dan batas waktu (limit uptime) yang dipunyai suatu user. Sehingga dari log tersebut bisa saya gunakan untuk keperluan sinkronisasi pada jam-jam user yang online tadi.

Untuk mewujudkannya saya menggunakan script di login dan logout user. Penempatan scriptnya ada di User Profile hotspot (/ip hotspot profile) tab script (pada winbox).



Seperti apa scriptnya? Seperti berikut:

Script login:


local a $user
:log warning message=("MASUK $a: ".[/system identity get name]."|".[/ip hotspot active get [find user=$a] mac-address]."|".[/ip hotspot active get [find user=$a] address]."|batas:".[/ip hotspot user get [find name=$a] limit-uptime]."|terpakai:".[/ip hotspot user get [find name=$a] uptime]);



Script logout:


local a $user
:log error message=("KELUAR $a: batas:".[/ip hotspot user get [find name=$a] limit-uptime]."|terpakai:".[/ip hotspot user get [find name=$a] uptime]);

Penjelasan:

- Script login akan dieksekusi ketika suatu user login hotspot
- Log di script login bertipe "warning", tujuannya agar pesan yang tampil jika dilihat di winbox akan berwarna biru

Tampilan message script login mikrotik berwarna biru


- Sedangkan script logout akan dieksekusi ketika suatu user melakukan logout baik sengaja (menekan tombol logout) atau tidak disengaja (tidak dapat sinyal wifi, hp mati, dan sebagainya)
- Dan log di script logout bertipe "error", tujuannya agar pesan yang tampil jika dilihat di winbox akan berwarna merah
- Perbedaan warna tersebut untuk memudahkan pembacaan log pada winbox, di MT Syslog jelas tidak berwarna (hanya hitam)

Tampilan message script logout mikrotik berwarna merah


20 Responses to "Script Mikrotik Untuk Mengetahui Login Logout Dan Batas Waktunya User Hotspot"

  1. Balasan
    1. jam di mikrotik kmbali tereset ya gan?
      pake ntp semua bkalan normal
      hehehe
      userman lbih jos lagi

      Hapus
    2. ntp sudah diset, jam mikrotik berjalan normal setelah reboot tapi jam (limit uptime) setiap user yang sebelumnya online waktu sebelum mati lampu mendadak akan tereset kembali ke waktu sebelumnya alias tidak terpotong waktu aktifnya (uptime)

      nb : rb yang dipakai tidak support userman

      Hapus
  2. Balasan
    1. Belum ketemu cara selain pakai script, setidaknya ini cara ternyaman yang saya gunakan untuk menampilkan pesan di log mikrotik

      Hapus
  3. Berhasil gan, Tapi ko batas nya g muncul ya punya saya cuma terpakainya aja yang muncul

    BalasHapus
  4. Saya ini aman-aman saja kok meski RB reboot manual atau secara paksa uptime nya tidak ter-reset ko om.

    BalasHapus
    Balasan
    1. Waktu tulisan ini dibuat saya masih pakai RB dengan paket versi yang lama dan uptime masih tereset meski SNTP sudah disetel. Kalau sekarang sudah aman. Terima kasih sudah berkunjung :)

      Hapus
  5. pake userman semua tuntas tanpa ribet .. gak perlu script segala :D ... #hanya masukan yaa :D

    BalasHapus
    Balasan
    1. siap gan, sayangnya mikrotik saya belum mendukung userman, terima kasih sudah berkunjung :)

      Hapus
  6. gimana kalau waktunya melewati yang di tentukan
    contoh user batas 1 jam,
    tapi ternya pas saya liat statusnya 1 jam lebih online tidak logout automatis
    cara gimana..?

    BalasHapus
    Balasan
    1. apa uptime-nya melebihi limit timenya? kalau iya kemungkinan ada bug di mikrotik, segera matikan koneksi user tersebut melalui winbox di menu ip > hotspot > active

      dan upgrade mikrotik ke versi package terbaru

      Hapus
    2. Punya ane juga sama. Ada kadang user yg lewat limitnya. Ga tau pengaruhnya apa. Yg pasti ane pantau terus yg aktif, lewat dikit ane hapus. Hehe...

      Hapus
    3. sya juga alami mirip gan Usman, session time out disetting 12 jam, tapi nyatanya setelah hari berikutnya (sudah lebih dari 12 jam dari login) user bisa autologin

      Hapus
  7. malam gan, bagaimana cara membuat walaupun user sedang off/tidak terkoneksi di jaringan tapi waktu limit time tetap berjalan, saya buat user langsung lewat winbox, limit uptime 30d, tapi karena mereka sering off, jadi waktunya berhenti

    BalasHapus
    Balasan
    1. manfaatkan script untuk cek waktu user dengan interval tertentu

      Hapus
  8. terimakash banyak om, bos, saya sudah lama 10 hari searh sricb ini baru ketemu, sukses berjalan lancar di hap lite, gak ada lagi lewat waktunya, trims

    BalasHapus
  9. Mbah, untuk paket terbaru buat HAP lite, OS versi berapa? supaya setelah mati lampu ga terreset lagi up time nya ke 0??

    BalasHapus