Cara Membuat Bot Telegram untuk Monitoring MikroTik, Lengkap dengan Script PPPoE dan Netwatch

Cara Membuat Bot Telegram untuk Monitoring MikroTik, Lengkap dengan Script PPPoE dan Netwatch

Memantau jaringan MikroTik secara manual bisa menjadi pekerjaan yang melelahkan, terutama jika perangkat yang dikelola jumlahnya cukup banyak. Administrator jaringan harus membuka Winbox, memeriksa status router, melihat koneksi client, mengecek akses point, hingga memastikan tidak ada perangkat yang mengalami gangguan.

Masalahnya, gangguan jaringan tidak selalu terjadi pada jam kerja. Perangkat bisa saja terputus pada malam hari atau ketika administrator sedang tidak berada di depan komputer.

Salah satu solusi yang cukup praktis adalah mengintegrasikan MikroTik dengan bot Telegram. Dengan metode ini, router dapat mengirimkan notifikasi secara otomatis ke grup Telegram ketika terjadi event tertentu, misalnya client PPPoE terputus, kembali terhubung, akses point mati, atau router tertentu tidak dapat dijangkau.

Metode seperti ini cocok diterapkan pada jaringan kantor, hotspot, ISP kecil, maupun RT/RW Net.

Berikut cara membuat bot Telegram untuk monitoring MikroTik dari awal.

Mengapa Menggunakan Bot Telegram untuk Monitoring MikroTik?

Integrasi Telegram dengan MikroTik memberikan beberapa keuntungan. Administrator tidak perlu terus-menerus membuka Winbox hanya untuk mengetahui apakah perangkat tertentu masih aktif.

Notifikasi dapat dikirim langsung ke grup Telegram sehingga kondisi jaringan bisa dipantau melalui smartphone.

Beberapa manfaatnya antara lain:

  • Mengetahui ketika client PPPoE terputus.
  • Mengetahui ketika client kembali terhubung.
  • Memantau akses point dan router.
  • Mengetahui perangkat yang sering mengalami gangguan.
  • Mempercepat respons ketika terjadi masalah jaringan.
  • Membantu mengetahui jalur jaringan yang membutuhkan perbaikan.
  • Mengurangi kemungkinan pelanggan lebih dulu mengeluh sebelum gangguan ditangani.

Konsepnya sederhana. MikroTik mendeteksi sebuah event, kemudian menjalankan script. Script tersebut menggunakan API Telegram untuk mengirimkan pesan ke grup monitoring.

1. Membuat Bot Telegram melalui BotFather

Langkah pertama adalah membuat bot Telegram yang nantinya bertugas mengirimkan pesan.

Buka aplikasi Telegram, kemudian cari akun resmi @BotFather yang memiliki tanda verifikasi.

Setelah masuk ke ruang chat BotFather, tekan Start atau kirim perintah:

/newbot

BotFather kemudian akan meminta nama bot.

Masukkan nama sesuai kebutuhan, misalnya:

Monitoring MikroTik

Setelah itu, BotFather akan meminta username bot. Username tersebut harus unik dan umumnya diakhiri dengan kata bot.

Contohnya:

monitoring_mikrotik_bot

Jika berhasil, BotFather akan memberikan sebuah bot token.

Token tersebut sangat penting karena digunakan MikroTik untuk mengakses API bot Telegram.

Jangan membagikan token kepada orang lain. Siapa pun yang memiliki token tersebut pada dasarnya dapat menggunakan bot melalui API.

Untuk artikel ini, token akan ditulis sebagai:

BOT_TOKEN_ANDA

Jangan menggunakan token contoh dari artikel atau membagikan token asli di forum maupun media sosial.

2. Membuat Grup Telegram Monitoring

Setelah bot dibuat, langkah berikutnya adalah membuat grup Telegram yang digunakan sebagai tempat menerima notifikasi.

Buat grup baru seperti biasa, kemudian tambahkan administrator jaringan atau anggota lain yang perlu menerima informasi gangguan.

Setelah itu, masukkan bot yang sudah dibuat sebelumnya ke dalam grup.

Cari username bot yang dibuat melalui BotFather, lalu tambahkan sebagai anggota grup.

Pada tahap ini bot sudah berada di dalam grup, tetapi MikroTik masih membutuhkan informasi penting lainnya, yaitu chat ID grup.

Baca juga : Cara Daftar Perlinsos Digital untuk Bansos PKH dan BPNT, Lengkap dengan Cara Cek Statusnya

3. Mendapatkan Chat ID Grup

Telegram menyediakan API yang dapat digunakan untuk melihat informasi pesan yang diterima bot.

Format API yang digunakan adalah:

https://api.telegram.org/botBOT_TOKEN_ANDA/getUpdates

Ganti BOT_TOKEN_ANDA dengan token milik bot.

Sebelum membuka URL tersebut, kirim sebuah pesan di grup tempat bot berada. Tujuannya agar Telegram mencatat aktivitas tersebut pada API bot.

Jika berhasil, halaman API akan menampilkan data dalam format JSON. Cari bagian yang berisi informasi chat.

Di dalamnya biasanya terdapat:

"id": -xxxxxxxxxx

Angka tersebut merupakan chat ID grup.

Chat ID grup biasanya memiliki tanda minus di bagian depan. Jangan menghilangkan tanda tersebut ketika memasukkannya ke script MikroTik.

Simpan chat ID tersebut. Untuk contoh artikel ini kita gunakan:

CHAT_ID_GRUP

4. Menguji Bot Mengirim Pesan

Sebelum memasang script monitoring, sebaiknya lakukan pengujian terlebih dahulu.

Format API untuk mengirim pesan adalah:

https://api.telegram.org/botBOT_TOKEN_ANDA/sendMessage?chat_id=CHAT_ID_GRUP&text=Tes%20monitoring%20MikroTik

Jika URL tersebut dibuka melalui browser dan konfigurasi benar, bot akan mengirim pesan ke grup Telegram.

Contohnya:

Tes monitoring MikroTik

Jika pesan muncul di grup, berarti bot sudah dapat berkomunikasi dengan Telegram API.

Tahap ini penting karena jika pengujian gagal, sebaiknya masalah token, chat ID, atau akses API diselesaikan terlebih dahulu sebelum masuk ke konfigurasi MikroTik.

5. Menghubungkan Bot dengan MikroTik

MikroTik dapat mengirim permintaan HTTP/HTTPS menggunakan tool fetch.

Secara sederhana, formatnya seperti berikut:

/tool fetch url="https://api.telegram.org/botBOT_TOKEN_ANDA/sendMessage?chat_id=CHAT_ID_GRUP&text=Pesan%20dari%20MikroTik" mode=https keep-result=no

Ada dua informasi yang harus diganti:

  • BOT_TOKEN_ANDA → token bot Telegram.
  • CHAT_ID_GRUP → chat ID grup monitoring.

Parameter keep-result=no digunakan agar hasil request tidak perlu disimpan sebagai file di router.

6. Monitoring Client PPPoE dengan Telegram

Jika MikroTik digunakan untuk menyediakan layanan PPPoE, monitoring dapat dibuat lebih mudah karena PPP Profile menyediakan event On Up dan On Down.

On Up digunakan ketika client berhasil terhubung atau melakukan koneksi ulang.

On Down digunakan ketika client terputus.

Dengan demikian, administrator bisa langsung menerima notifikasi ketika pelanggan mengalami disconnect.

Script On Down

Masuk ke:

PPP → Profiles → pilih profile → Scripts → On Down

Kemudian masukkan script berikut:

:local nama $user
:local bot "BOT_TOKEN_ANDA"
:local chat "CHAT_ID_GRUP"

:local last [/ppp secret get [find name=$nama] last-logged-out]
:local fup [/ppp secret get [find name=$nama] profile]
:local active [/ppp active print count]
:local secret [/ppp secret print count]
:local off ($secret - $active)

/tool fetch url=("https://api.telegram.org/bot" . $bot . "/sendMessage?chat_id=" . $chat . "&text=❌%20ROUTER%20DISCONNECTED%0AUser:%20" . $nama . "%0AProfile:%20" . $fup . "%0ALast%20Logout:%20" . $last . "%0ATotal%20PPPoE%20Active:%20" . $active . "%0ATotal%20PPPoE%20Off:%20" . $off) mode=https keep-result=no

Pesan yang dikirim dapat memberikan informasi seperti username, profile, waktu logout terakhir, jumlah client aktif, dan jumlah client yang sedang tidak aktif.

Script On Up

Selanjutnya, masukkan script pada kolom On Up:

:local nama $user
:local bot "BOT_TOKEN_ANDA"
:local chat "CHAT_ID_GRUP"

:local ips [/ppp active get [find where name=$nama] address]
:local up [/ppp active get [find where name=$nama] uptime]
:local caller [/ppp active get [find where name=$nama] caller-id]
:local service [/ppp active get [find where name=$nama] service]
:local fup [/ppp secret get [find name=$nama] profile]

:local active [/ppp active print count]
:local secret [/ppp secret print count]
:local off ($secret - $active)

/tool fetch url=("https://api.telegram.org/bot" . $bot . "/sendMessage?chat_id=" . $chat . "&text=✅%20ROUTER%20CONNECTED%0AUser:%20" . $nama . "%0AIP:%20" . $ips . "%0ACaller%20ID:%20" . $caller . "%0AService:%20" . $service . "%0AUptime:%20" . $up . "%0AProfile:%20" . $fup . "%0ATotal%20PPPoE%20Active:%20" . $active . "%0ATotal%20PPPoE%20Off:%20" . $off) mode=https keep-result=no

Setelah script aktif, setiap kali client PPPoE terhubung, informasi koneksi akan dikirim ke grup Telegram.

7. Monitoring Router dan Access Point dengan Netwatch

Bagaimana jika perangkat yang ingin dipantau bukan client PPPoE?

Untuk router, access point, atau perangkat dengan IP statis, salah satu cara paling praktis adalah menggunakan Netwatch.

Netwatch dirancang untuk memantau apakah sebuah host dapat dijangkau atau tidak.

Masuk ke:

Tools → Netwatch

Kemudian tambahkan host baru.

Masukkan alamat IP perangkat yang ingin dipantau, misalnya IP access point atau router. Tentukan interval pemeriksaan sesuai kebutuhan.

Script ketika Perangkat Down

Pada bagian Down, masukkan:

:local bot "BOT_TOKEN_ANDA"
:local chat "CHAT_ID_GRUP"

/tool fetch url=("https://api.telegram.org/bot" . $bot . "/sendMessage?chat_id=" . $chat . "&text=❌%20" . $host . "%20DISCONNECTED") mode=https keep-result=no

Ketika perangkat tidak dapat dijangkau, MikroTik akan mengirim notifikasi ke Telegram.

Script ketika Perangkat Kembali Up

Pada bagian Up, masukkan:

:local bot "BOT_TOKEN_ANDA"
:local chat "CHAT_ID_GRUP"

/tool fetch url=("https://api.telegram.org/bot" . $bot . "/sendMessage?chat_id=" . $chat . "&text=✅%20" . $host . "%20CONNECTED") mode=https keep-result=no

Dengan konfigurasi tersebut, administrator akan mendapatkan notifikasi ketika perangkat kembali dapat dijangkau.

8. Scheduler untuk Monitoring Berkala

Selain Netwatch, MikroTik juga memiliki Scheduler yang dapat digunakan untuk menjalankan script secara berkala.

Scheduler berguna ketika kebutuhan monitoring tidak secara langsung berkaitan dengan status satu host.

Misalnya, administrator ingin menjalankan pemeriksaan setiap dua menit. Script dapat dibuat terlebih dahulu pada menu System → Scripts, kemudian Scheduler digunakan sebagai pemicu eksekusinya.

Dengan kombinasi script dan scheduler, administrator dapat membuat sistem monitoring yang lebih fleksibel.

Hal yang Perlu Diperhatikan

Sebelum menerapkan sistem ini pada jaringan produksi, ada beberapa hal yang sebaiknya diperhatikan.

Pertama, jaga kerahasiaan bot token. Jika token bocor, segera buat token baru melalui BotFather.

Kedua, jangan membuat notifikasi terlalu agresif. Jika jaringan memiliki banyak perangkat yang sering naik-turun, grup Telegram bisa dipenuhi pesan dalam waktu singkat.

Ketiga, lakukan pengujian pada satu atau dua perangkat terlebih dahulu. Pastikan pesan benar-benar terkirim sebelum konfigurasi diterapkan ke seluruh jaringan.

Keempat, perhatikan format URL. Karakter tertentu pada pesan perlu di-encode agar tidak menyebabkan URL API bermasalah.

Kesimpulan

Mengintegrasikan bot Telegram dengan MikroTik merupakan cara sederhana untuk membuat sistem monitoring jaringan yang lebih responsif.

Dengan bot tersebut, administrator tidak perlu terus membuka Winbox untuk mengetahui kondisi perangkat. MikroTik dapat mengirimkan informasi secara otomatis ketika client PPPoE terputus, kembali terhubung, access point tidak dapat dijangkau, atau router mengalami gangguan.

Untuk PPPoE, event On Up dan On Down dapat digunakan sebagai pemicu. Sementara itu, perangkat seperti access point dan router dengan IP statis dapat dipantau menggunakan Netwatch. Scheduler juga bisa digunakan ketika script perlu dijalankan secara berkala.

Hasil akhirnya adalah sistem monitoring yang memungkinkan administrator mengetahui masalah lebih cepat. Dalam pengelolaan jaringan pelanggan, kecepatan merespons gangguan sangat penting karena masalah yang diketahui lebih awal dapat segera ditangani sebelum berkembang menjadi keluhan pelanggan.

Dengan konfigurasi yang tepat, bot Telegram bukan hanya menjadi alat untuk mengirim pesan, tetapi juga dapat menjadi salah satu komponen penting dalam sistem pemantauan jaringan MikroTik.