Panduan
8 min baca
1 pembaca

Membuat Bot Telegram untuk Alert Notifikasi Perangkat Network dengan Python dan BotFather

Pelajari cara membuat bot Telegram untuk mengirim alert otomatis dari perangkat network menggunakan Python dan BotFather. Tutorial ini membahas integrasi notifikasi monitoring switch, router, dan LibreNMS untuk membantu tim IT, network engineer, DevOps, dan sysadmin mempercepat respons terhadap gangguan jaringan.

Foto profil TeknoWiz Indonesia

TeknoWiz Indonesia

Owner

Membuat Bot Telegram untuk Alert Notifikasi Perangkat Network dengan Python dan BotFather

Pengenalan Bot Telegram untuk Monitoring Network

Monitoring perangkat network membutuhkan sistem alert yang cepat dan mudah diakses. Email sering terlambat dibaca, sedangkan notifikasi real-time melalui aplikasi chat lebih efektif untuk tim operasional.

Bot Telegram menjadi solusi praktis untuk mengirim alert otomatis dari sistem monitoring seperti LibreNMS ke grup engineer. Integrasi ini membantu mendeteksi masalah switch, router, firewall, server, atau perangkat jaringan lain lebih cepat.

Python digunakan sebagai penghubung antara sistem monitoring dan Telegram Bot API. Dengan beberapa library sederhana, script Python dapat menerima data alert lalu meneruskannya ke channel atau grup Telegram.

Arsitektur Sistem Alert Network dengan Telegram

Alur sistem terdiri dari beberapa komponen utama. LibreNMS melakukan monitoring perangkat, Python memproses pesan alert, lalu Telegram bot mengirimkan notifikasi ke engineer.

  • LibreNMS: Monitoring SNMP perangkat network seperti switch, router, access point, dan server.
  • Telegram Bot: Endpoint penerima dan pengirim pesan menggunakan Telegram Bot API.
  • Python Script: Middleware untuk format pesan, autentikasi, dan pengiriman alert.
  • Telegram Group: Tempat tim menerima notifikasi gangguan secara real-time.

Membuat Bot Telegram Menggunakan BotFather

Langkah pertama membuat bot adalah menggunakan BotFather. BotFather adalah bot resmi Telegram untuk membuat dan mengelola bot.

Langkah Membuat Bot

  • Buka Telegram: Cari akun @BotFather.
  • Buat bot baru: Jalankan command /newbot.
  • Tentukan nama bot: Masukkan nama tampilan bot.
  • Tentukan username: Username harus berakhiran bot, contoh network_alert_bot.
  • Simpan token: BotFather memberikan API token yang digunakan Python untuk mengakses Telegram Bot API.

Token bot bersifat rahasia. Jangan menyimpan token langsung pada repository publik atau membagikannya ke pengguna lain.

Persiapan Environment Python

Server yang menjalankan script Python membutuhkan Python 3 dan library Telegram. Gunakan virtual environment agar dependency tetap terisolasi.

python3 -m venv telegram-env
source telegram-env/bin/activate

pip install python-telegram-bot requests

Library python-telegram-bot digunakan untuk komunikasi dengan Telegram API. Library requests membantu melakukan HTTP request jika integrasi mengambil data dari sistem lain.

Membuat Script Python Telegram Alert

Script berikut mengirim pesan alert sederhana ke Telegram menggunakan bot token dan chat ID.

from telegram import Bot

BOT_TOKEN = "MASUKKAN_TOKEN_BOT"
CHAT_ID = "MASUKKAN_CHAT_ID"

bot = Bot(token=BOT_TOKEN)

message = ""
message += "ALERT NETWORK\n"
message += "Switch core mengalami packet loss tinggi\n"
message += "Status: Warning"

bot.send_message(
    chat_id=CHAT_ID,
    text=message
)

print("Alert terkirim")

Ketika script dijalankan, Telegram bot mengirim pesan ke chat tujuan. Format pesan dapat dikembangkan dengan menambahkan informasi hostname, IP address, severity, dan waktu kejadian.

Mendapatkan Telegram Chat ID

Telegram membutuhkan Chat ID sebagai tujuan pengiriman pesan. Chat ID dapat diperoleh dengan mengirim pesan ke bot lalu membaca response Telegram API.

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

Response JSON akan menampilkan informasi chat termasuk ID pengguna atau grup.

  • User ID: Digunakan untuk alert pribadi engineer.
  • Group ID: Digunakan untuk notifikasi tim network operation.
  • Channel ID: Digunakan untuk broadcast alert monitoring.

Integrasi LibreNMS dengan Telegram Bot

LibreNMS memiliki sistem alert yang dapat menjalankan notifikasi ketika kondisi perangkat berubah. Integrasi Telegram dapat dilakukan melalui alert transport atau webhook.

Contoh skenario monitoring:

  • Interface Down: Switch kehilangan koneksi port uplink.
  • High CPU Usage: Router mengalami beban CPU tinggi.
  • High Memory Usage: Perangkat network mendekati batas penggunaan RAM.
  • Device Down: Perangkat tidak merespons monitoring SNMP.

Contoh Format Alert Network

🚨 NETWORK ALERT

Device: SW-CORE-JKT-01
IP: 10.10.10.1
Status: DOWN
Severity: Critical
Time: 14:30:22

Format pesan yang jelas membantu engineer melakukan troubleshooting tanpa membuka dashboard monitoring terlebih dahulu.

Pengembangan Bot untuk Kebutuhan Production

Bot sederhana dapat dikembangkan menjadi sistem alert production dengan beberapa peningkatan.

  • Environment Variable: Simpan token Telegram menggunakan file .env atau secret manager.
  • Logging: Simpan aktivitas bot untuk audit dan troubleshooting.
  • Error Handling: Tangani kegagalan koneksi Telegram API.
  • Message Template: Buat format alert standar agar mudah dibaca.
  • Multiple Channel: Pisahkan alert network, server, dan security.

Keuntungan Menggunakan Telegram Alert untuk Network Monitoring

  • Respons Lebih Cepat: Engineer menerima gangguan langsung melalui perangkat mobile.
  • Kolaborasi Tim: Grup Telegram memudahkan koordinasi saat incident.
  • Biaya Rendah: Tidak membutuhkan platform notification tambahan.
  • Fleksibel: Python mudah dikembangkan sesuai kebutuhan infrastruktur.

Kesimpulan

Membuat bot Telegram untuk alert perangkat network menggunakan Python dan BotFather memberikan sistem notifikasi yang cepat, fleksibel, dan mudah dikembangkan.

Kombinasi LibreNMS, Python, dan Telegram membantu tim IT meningkatkan monitoring switch, router, dan infrastruktur jaringan. Langkah berikutnya adalah menghubungkan bot dengan sistem alert production, menambahkan keamanan token, serta membuat standar format notifikasi agar proses troubleshooting lebih efisien.

Diskusi Komunitas

Tanggapan & Diskusi Teknis0

Punya studi kasus, pertanyaan arsitektur, atau pandangan lain terkait topik ini? Mari bertukar wawasan secara konstruktif.

Komentar sebagai pembaca tamu. Alamat email Anda aman dan tidak akan pernah dipublikasikan.
🛡️
Verifikasi Keamanan TamuAnti-Spam

Berapakah hasil dari 4 + 3 ?

Format:
Gunakan Markdown sederhana untuk format kode atau kutipan0/1.000 karakter
Dimoderasi: Tanggapan akan melalui persetujuan editorial sebelum tampil ke publik.

Memuat tanggapan diskusi...