Tutorial kali ini saya akan membuat sistem monitoring jaringan menggunakan telegram.
Untuk bisa membuat monitoring jaringan dengan telegram kita bisa memanfaat fitur Netwatch dan Fetch yang ada di MikroTik
Membuat bot dan mendapatkan token
Cari nama akun pembuat bot yang bernama BotFather
Ketikkan perintah
/start
Membuat bot baru, ketikkan perintah
/newbot
Ketika muncul pertanyaan “Alright, a new bot. How are we going to call it? Please choose a name for your bot.
” Berikan nama untuk bot yang akan kita buat
Bot Monitoring Jaringan
Ketika muncul pertanyaan “Good. Now let’s choose a username for your bot. It must end in bot
. Like this, for example: TetrisBot or tetris_bot.” Berikan username dengan akhiran kata bot
example_monitoringbot
Lalu akan muncul hasil pembuatan bot. Salin dan simpen token untuk kebutuhan selanjutnya
Done! Congratulations on your new bot. You will find it at t.me/example_monitoringbot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you've finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure the bot is fully operational before you do this.
Use this token to access the HTTP API:
5924150328:AAGx5btHZtACmbzQpj786wIyv3AJZbxYqmQ
Keep your token secure and store it safely, it can be used by anyone to control your bot.
For a description of the Bot API, see this page: https://core.telegram.org/bots/api
Salin dan simpan Token yang saya tandai warna orange
Mendapatkan chat ID
Buka web browser lalu ketikkan URL dengan format berikut
https://api.telegram.org/botTokenBot/getUpdates
Sehingga menjadi seperti berikut
https://api.telegram.org/bot5924150328:AAGx5btHZtACmbzQpj786wIyv3AJZbxYqmQ/getUpdates
*Catatan: Ganti text yang berwarna orange sesuai dengan token yang kamu dapatkan saat membuat bot
Lalu, Kirim sembarang pesan ke bot kita yang barusan dibuat dengan cara melakukan pencarian terlebih dahulu menggunakan username bot yang telah kita buat.
Refresh halaman yang sudah kita buka tadi
Akan muncul tampilan seperti berikut
{"ok":true,"result":[{"update_id":964965732,
"message":{"message_id":3,"from":{"id":457209685,"is_bot":false,"first_name":"Fariz","last_name":"Anwar (Axis)","username":"fariz_anwar","language_code":"en"},"chat":{"id":457209685,"first_name":"Fariz","last_name":"Anwar (Axis)","username":"fariz_anwar","type":"private"},"date":1674522649,"text":"HAI BOT"}}]}
Perhatikan chat yang kita kirim dengan text yang saya tandai warna hijau
Salin bagian chat ID yang saya tandai warna orange
Percobaan kirim pesan
Buka browser, lalu ketikkan URL dengan format berikut
https://api.telegram.org/botTokenBot/sendMessage?chat_id=ChatID&text=isi pesan
Sehingga menjadi seperti berikut
https://api.telegram.org/bot5924150328:AAGx5btHZtACmbzQpj786wIyv3AJZbxYqmQ/sendMessage?chat_id=457209685&text=tes pesan 123
Hasilnya adalah bot berhasil mengirim pesan kepada kita seperti berikut
Konfigurasi mikrotik netwach
Setelah kita mendapatkan token dan chat ID, langkah selanjutnya adalah mengkonfigurasi mikrotik dengan netwatch.
Buka winbox, dan pergi ke menu Tool > Netwatch. lalu isikan seperti berikut
Keterangan:
Host: IP/Domain mesin/perangkat yang akan kita monitoring Interval: Jarak melakukan ping (netwatch bekerja dengan cara melakukan ping) Timeout: Lamanya waktu ping tidak ada balasan, Contoh: Jika ping dilakukan dan tidak ada balasan selama 1000ms maka akan dinyatakan down
Menambahkan script perintah pada saat status Up dan down
Simple Script
Format
/tool fetch url="https://api.telegram.org/botTokenBot/sendmessage\?chat_id=ChatID&text=IsiText";
Sehingga menjadi seperti berikut
/tool fetch url="https://api.telegram.org/bot5924150328:AAGx5btHZtACmbzQpj786wIyv3AJZbxYqmQ/sendmessage\?chat_id=457209685&text=Router rumah= DOWN";
Advance Script
#MENAMBAHKAN VARIABEL
:local CHID "ChatID";
:local BotID "TokenBot";
:local Device "NamaPerangkatSembarangText";
:local HostStatus "Up/DownSembarangText";
#Untuk menambahkan Enter pada isi text tambahkan %0A
:local message "Nama Perangkat: $Device %0AIP: $host %0AStatus: $HostStatus";
#PERINTAH EKSEKUSI
/tool fetch url="https://api.telegram.org/bot$BotID/sendmessage\?chat_id=$CHID&text=$message";
Sehingga menjadi seperti berikut
#MENAMBAHKAN VARIABEL
:local CHID "457209685";
:local BotID "5924150328:AAGx5btHZtACmbzQpj786wIyv3AJZbxYqmQ";
:local Device "Router Rumah";
:local HostStatus "Up/Down";
#Untuk menambahkan Enter pada isi text tambahkan %0A
:local message "Nama Perangkat: $Device %0AIP: $host %0AStatus: $HostStatus";
#PERINTAH EKSEKUSI
/tool fetch url="https://api.telegram.org/bot$BotID/sendmessage\?chat_id=$CHID&text=$message";
Penutup
Selain mendapatkan laporan langsung dari bot kamu juga bisa mendapatkan laporan melalui sebuah grup dengan menambahkan bot yang telah dibuat sebagai anggota.
Untuk mendapatkan chat ID dari sebuah grup kamu bisa melakukan hal yang sama dengan cara mendapatkan chat ID obrolan biasa. chat id grup dibedakan dengan tand – didepan nya
Troubleshoot
TIDAK BISA MENAMBAHKAN TANDA (?) DIDALAM TERMINAL MIKROTIK
Ketika membuat script dan didalam script ada tanda ? untuk menambahkan symbol ? gunakan symbol \ (back slash) terlebih dahulu, jika kita memasukkan ? tanpa \ maka yang keluar adalah whats next command.
\?
Keterangan
Sumber/referensi: https://labkom.co.id/mikrotik/mikrotik-netwach-monitoring-status-access-point-hotspot-dengan-menggunakan-telegram