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


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

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

      Delete
    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

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

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

    ReplyDelete
    Replies
    1. kalau limit uptimenya tidak ada tidak keluar batasnya

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

    ReplyDelete
    Replies
    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 :)

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

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

      Delete
  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..?

    ReplyDelete
    Replies
    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

      Delete

Tidak ada gading yang tak retak.Tak ada kesalahan yang tak terma'afkan. Hanya yang maha segalanya yang sempurna.

Mari kita pererat tali silaturahmi dengan meninggalkan komentar yang bermutu dan membangun :)