Akmal Asyam Hariri
Sebagai mahasiswa Data science, saya percaya bahwa teknologi sederhana sekalipun bisa sangat berguna jika dimanfaatkan dengan tepat. Dari pemikiran itu, saya merancang sebuah program monitoring sistem berbasis Shell Script yang dapat berjalan otomatis melalui terminal (CLI) dan terhubung langsung ke layanan Telegram Bot.
Awalnya, saya penasaran bagaimana cara mendapatkan informasi kondisi sistem (CPU dan RAM) secara berkala tanpa perlu memeriksa manual. Maka saya mulai membuat script yang membaca data dari sistem menggunakan top dan free, lalu mencatat hasilnya ke dalam log lokal.
Namun, saya tidak ingin hasil pemantauan hanya tersimpan secara lokal. Oleh karena itu, saya mengintegrasikan Telegram Bot API agar laporan penggunaan CPU dan RAM bisa dikirim langsung ke ponsel saya setiap satu menit.
Saya ingin program ini praktis, otomatis, dan bisa digunakan di berbagai perangkat. Ke depannya, saya berharap sistem ini bisa dikembangkan lebih lanjut, misalnya dengan menambahkan notifikasi suhu, penggunaan disk, atau dikombinasikan dengan dashboard visual seperti Grafana.
Sebagai mahasiswa yang mempelajari sistem operasi Linux, saya menyadari pentingnya memantau penggunaan CPU dan RAM secara real-time. Oleh karena itu, saya mengembangkan sebuah sistem monitoring sederhana berbasis Shell Script yang berjalan melalui Command Line Interface (CLI). Program ini secara otomatis mengambil data penggunaan CPU dan RAM menggunakan perintah top dan free, lalu mengirimkannya ke Telegram melalui integrasi Bot API. Selain itu, program dijadwalkan berjalan setiap satu menit menggunakan cron, dan seluruh hasil pemantauan dicatat ke dalam file log lokal agar bisa ditinjau sewaktu-waktu.
Bagi saya, proyek ini adalah contoh bagaimana teknologi sederhana seperti Shell Script bisa digunakan untuk membuat solusi monitoring yang praktis, efisien, dan tetap ringan dijalankan di berbagai perangkat. Di masa depan, saya berencana mengembangkan fitur tambahan seperti pemantauan suhu, kapasitas disk, atau integrasi dengan platform visualisasi data seperti Grafana, sehingga program ini tidak hanya berguna secara pribadi, tetapi juga layak diterapkan pada skala sistem yang lebih besar
Proyek ini bertujuan untuk merancang dan mengimplementasikan sistem pemantauan kinerja CPU dan RAM secara real-time dengan pendekatan berbasis command line interface (CLI). Sistem ini memberikan solusi praktis dan efisien bagi pengguna untuk mengetahui kondisi performa perangkat tanpa perlu melakukan pemantauan manual secara terus-menerus. Secara khusus, tujuan dari proyek ini meliputi:
Fungsi utama dari sistem ini adalah untuk memberikan pemantauan kinerja sistem secara otomatis dan memberitahukan pengguna terhadap kondisi penggunaan CPU dan RAM. Fungsi spesifik dari sistem ini antara lain:
Berikut adalah tools dan teknologi utama yang digunakan dalam implementasi proyek ini
Alat/Komponen | Fungsi |
---|---|
Shell Script (Bash) | Bahasa utama untuk logika pemantauan dan pengiriman data |
Command Line Interface (CLI) | Antarmuka eksekusi untuk menjalankan script secara otomatis |
Cron | Scheduler Linux untuk menjalankan script tiap 1 menit |
top, free, awk, bc | Utilitas Linux untuk membaca data CPU dan RAM |
Telegram Bot AP | Sarana untuk mengirimkan pesan otomatis ke pengguna melalui Telegram |
curl | Digunakan untuk melakukan request HTTP ke API Telegram |
notify-send (opsional) | Memberikan notifikasi desktop lokal saat penggunaan tinggi |
Dengan tujuan, fungsi, dan tools yang terstruktur dengan baik, sistem ini dapat memberikan pemantauan yang stabil dan real-time tanpa memerlukan resource besar. Proyek ini sekaligus membuktikan bahwa CLI dan scripting sederhana dapat digunakan untuk membangun sistem monitoring yang fungsional dan efektif
(Program Ini Mengunakan Virtual Machine Ubuntu lewat VirtualBox)
1. Langkah Pertama yaitu menyalakan Virtual Machine Ubuntu lewat VirtualBox
Ini Tampilan Jika User sudah masuk kedalam Virtual Machine Ubuntu yang sudah User nyalakan sebelumnya lalu User menekan Enter untuk melanjutkan.
2.Ini tampilan jika anda sudah Menekan Enter
User diminta untuk memasukan Password yang sudah di buat sebelumnya
3. Ini adalah tampilan jika user sudah memasukan Password
Lalu Pengguna menekan tombol "Super" (biasanya logo Windows di keyboard) atau mengklik ikon Ubuntu di kiri bawah, tujuannya adalah menampilkan semua aplikasi yang terinstal di sistem Ubuntu kamu
4. Inilah Tampilan jika sudah menekan tombol Ubuntu dikiri bawah tadi
Cari ikon "Terminal" di daftar aplikasi. Ikonnya bergambar layar hitam Klik kiri satu kali pada ikon Terminal tersebut Terminal akan terbuka, dan kamu bisa mulai mengetik perintah seperti ini (ada di bawah)
Ctrl + Alt + J untuk langsung membuka Terminal tanpa klik ikon -Lalu buat Folder bary dengan mengetik
mkdir ~/(nama folder yang mau di buat) lalu ketik cd ~(nama folder yang sudah di buat) untuk mengaktifkan folder tersebut
ini adalah contoh dengan nama folder monitor_sistem.sh
Lalu Ketik: nano ./monitor_sistem.sh
maka program akan muncul seperti ini
1. Penulisan Code
#!/bin/bash: Menandakan bahwa script ini ditulis dalam bahasa Bash
TOKEN dan CHAT_ID: Digunakan untuk mengirim pesan ke Telegram Bot
LOG_FILE: Lokasi file log yang akan menyimpan histori penggunaan CPU dan RAM
BATAS_CPU dan BATAS_RAM: Batas maksimal penggunaan CPU dan RAM sebelum dianggap "melewati batas"
TIMESTAMP: Menyimpan waktu saat script dijalankan (zona waktu Jakarta)
JALANKAN_FILE: Digunakan untuk mengontrol apakah notifikasi Telegram diaktifkan (dengan membuat file ini)
=================Pengecekan Dependency============
Penjelasan:
====ambil data sistem====
Penjelasan:
2. Tampilan Ke terminal
echo "==== MONITOR SISTEM ===="
echo "Waktu: $TIMESTAMP"
echo "Penggunaan CPU: $CPU_PAKAI%"
echo "Penggunaan RAM: $RAM_PAKAI%"
echo "Log disimpan di: $LOG_FILE"
Penjelasan:
====Simpan LOG====
Penjelasan:
========kirim ke telegram========
if [ -f "$JALANKAN_FILE" ]; then
PESAN="Pemantauan Sistem
Waktu: $TIMESTAMP
CPU: $CPU_PAKAI%
RAM: $RAM_PAKAI%"
2. PESAN="Pemantauan Sistem ..."
Contoh nilai setelah diisi bisa jadi seperti:
Pemantauan Sistem
Waktu: 2025-06-27 10:32:12
CPU: 34.20%
RAM: 68.90%
>code ke 2 :
curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendMessage" \
-d chat_id="$CHAT_ID" \
-d parse_mode="Markdown" \
-d text="$PESAN" > /dev/null
else
echo "Notifikasi Telegram dimatikan (file .jalanin tidak ada)"
fi
curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendMessage" \
-d chat_id="$CHAT_ID"
-d parse_mode="Markdown"
-d text="$PESAN"
> /dev/null
else & fi
Jika file .jalanin tidak ditemukan, maka masuk ke blok else ini
echo "Notifikasi Telegram dimatikan (file .jalanin tidak ada)"
Menampilkan pesan ke terminal bahwa notifikasi Telegram tidak dikirim karena file kontrol tidak ada.
fi
Menutup pernyataan if yang dimulai sebelumnya (pengecekan file .jalanin)
==========Peringatan Lokal jika Melebihi Batas=========
Penjelasan: