Juni 20, 2026
ChatGPT Image 20 Jun 2026, 18.16.36
Script monitoring Bash dengan alert Telegram otomatis saat CPU, RAM, atau Disk kritis. Ringan, gratis, dan mudah diterapkan di server Linux.

“Monitoring yang baik bukan tentang alat yang mahal, tetapi tentang mengetahui masalah sebelum pengguna mengeluh.”

Monitoring server merupakan salah satu tugas penting bagi administrator sistem. Namun, tidak semua lingkungan membutuhkan solusi monitoring yang kompleks seperti Prometheus, Grafana, Zabbix, atau Nagios.

Untuk VPS kecil, server internal, laboratorium jaringan, maupun server sekolah, sering kali dibutuhkan solusi yang sederhana, ringan, dan cepat diterapkan.

Salah satu cara paling efektif adalah menggunakan script Bash yang secara otomatis memantau penggunaan CPU, RAM, dan Disk, kemudian mengirimkan notifikasi ke Telegram ketika terjadi kondisi kritis.

Kelebihan metode ini adalah tidak memerlukan instalasi software tambahan selain Bash dan Curl yang umumnya sudah tersedia di hampir semua distribusi Linux.


Mengapa Monitoring Telegram Sangat Efektif?

Telegram menjadi pilihan populer karena:

  • Gratis digunakan
  • Notifikasi real-time
  • Mudah dikonfigurasi
  • Tidak memerlukan email server
  • Dapat digunakan di VPS maupun server lokal
  • Mendukung grup dan channel

Ketika server mengalami lonjakan penggunaan sumber daya, administrator dapat langsung menerima notifikasi di smartphone.


Parameter yang Dipantau

Script ini memantau tiga komponen utama server:

1. Penggunaan CPU

CPU yang terlalu tinggi dapat mengindikasikan:

  • Proses berjalan berlebihan
  • Serangan bot atau DDoS
  • Aplikasi mengalami loop
  • Database overload

Perintah yang digunakan:

top -bn1 | grep "Cpu(s)" | awk '{print $2}'

Threshold yang direkomendasikan:

CPU > 80%

2. Penggunaan RAM

RAM yang hampir habis dapat menyebabkan:

  • Server menjadi lambat
  • Swap aktif berlebihan
  • Aplikasi crash
  • OOM Killer menghentikan proses

Perintah yang digunakan:

free | awk '/Mem/{printf("%.0f", $3/$2 * 100)}'

Threshold yang direkomendasikan:

RAM > 85%

3. Penggunaan Disk

Storage penuh merupakan salah satu penyebab paling umum layanan gagal berjalan.

Dampaknya antara lain:

  • Database gagal menulis data
  • Log tidak dapat disimpan
  • Website error
  • Backup gagal

Perintah yang digunakan:

df / | awk 'NR==2{print $5}' | tr -d '%'

Threshold yang direkomendasikan:

Disk > 90%

Cara Mengirim Alert ke Telegram

Telegram menyediakan API sederhana untuk mengirim pesan menggunakan bot.

Format perintah:

curl -s -X POST https://api.telegram.org/bot$TOKEN/sendMessage \
-d chat_id=$CHAT_ID \
-d text="$MSG"

Parameter yang diperlukan:

TOKEN

Didapatkan dari BotFather.

Contoh:

123456789:AAxxxxxxxxxxxxxxxxxxxxxxxx

CHAT_ID

ID pengguna, grup, atau channel Telegram tujuan.

Contoh:

123456789

Contoh Script Monitoring Lengkap

#!/bin/bash

TOKEN="TOKEN_BOT"
CHAT_ID="CHAT_ID"

CPU=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'.' -f1)
RAM=$(free | awk '/Mem/{printf("%.0f", $3/$2 * 100)}')
DISK=$(df / | awk 'NR==2{print $5}' | tr -d '%')

MSG=""

if [ "$CPU" -gt 80 ]; then
MSG="$MSG CPU Server Tinggi: ${CPU}%\n"
fi

if [ "$RAM" -gt 85 ]; then
MSG="$MSG RAM Server Tinggi: ${RAM}%\n"
fi

if [ "$DISK" -gt 90 ]; then
MSG="$MSG Disk Server Hampir Penuh: ${DISK}%\n"
fi

if [ ! -z "$MSG" ]; then
curl -s -X POST https://api.telegram.org/bot$TOKEN/sendMessage \
-d chat_id=$CHAT_ID \
-d text="$MSG"
fi

Script di atas hanya sekitar 30 baris namun sudah mampu memberikan notifikasi otomatis ketika kondisi server melewati batas yang ditentukan.


Menjalankan Otomatis dengan Cron

Agar monitoring berjalan terus-menerus, tambahkan Cron Job.

Edit crontab:

crontab -e

Tambahkan:

*/5 * * * * /root/monitor.sh

Artinya script akan dijalankan setiap 5 menit.


Tips Agar Monitoring Lebih Optimal

Tambahkan Hostname Server

Agar mudah mengidentifikasi server yang bermasalah.

Contoh:

HOST=$(hostname)

Lalu masukkan ke pesan alert.


Tambahkan Timestamp

Untuk mengetahui kapan masalah terjadi.

DATE=$(date)

Gunakan Cooldown Alert

Mencegah Telegram dibanjiri notifikasi ketika kondisi kritis berlangsung lama.

Misalnya:

  • Kirim alert maksimal 1 kali per jam
  • Simpan timestamp terakhir ke file

Pantau Service Penting

Selain CPU, RAM, dan Disk, Anda dapat memeriksa:

  • Nginx
  • Apache
  • MariaDB
  • PostgreSQL
  • Docker
  • SSH

Contoh:

systemctl is-active nginx

Kapan Script Monitoring Ini Cocok Digunakan?

Solusi ini ideal untuk:

  • VPS pribadi
  • Server sekolah
  • Server laboratorium
  • Hosting WordPress
  • Server UMKM
  • Server backup
  • Homelab
  • Proxmox node kecil

Jika infrastruktur masih sederhana, pendekatan ini jauh lebih ringan dibanding membangun stack monitoring lengkap.


Keunggulan Dibanding Monitoring Kompleks

FiturScript BashMonitoring Stack
Instalasi CepatYaTidak
RinganYaTidak
Resource KecilYaTidak
Dashboard VisualTidakYa
Alert TelegramYaYa
Cocok VPS KecilYaTidak

Bagi banyak administrator, solusi sederhana sering kali sudah cukup untuk mendeteksi masalah sebelum berdampak pada layanan.


Kesimpulan

Monitoring server tidak selalu harus menggunakan infrastruktur besar dan kompleks. Dengan Bash, Curl, Cron, dan Telegram, Anda sudah dapat membangun sistem monitoring ringan yang mampu memberikan notifikasi otomatis ketika CPU, RAM, atau Disk mencapai kondisi kritis.

Pendekatan ini sangat cocok untuk VPS, server Linux skala kecil hingga menengah, serta lingkungan pembelajaran yang membutuhkan solusi sederhana namun efektif.

Semakin cepat mengetahui masalah, semakin cepat pula tindakan perbaikan dapat dilakukan sebelum layanan terganggu.

Frequently Asked Questions (FAQ)

1. Apakah script ini bisa berjalan di semua Linux?

Ya. Hampir semua distribusi Linux modern mendukung Bash, Cron, dan Curl.

2. Apakah perlu menginstal software monitoring tambahan?

Tidak. Cukup Bash dan Curl.

3. Seberapa sering script sebaiknya dijalankan?

Umumnya setiap 5 menit menggunakan Cron.

4. Apakah bisa mengirim alert ke grup Telegram?

Bisa. Gunakan Chat ID grup Telegram.

5. Apakah script ini cocok untuk VPS kecil?

Sangat cocok karena penggunaan resource hampir tidak terasa.

6. Bisakah memonitor service seperti Nginx dan MySQL?

Bisa. Tambahkan pengecekan menggunakan systemctl.

7. Apakah alert dapat dikustomisasi?

Ya. Pesan Telegram dapat diubah sesuai kebutuhan.

Sudah mencoba script monitoring ini di server Anda? Bagikan pengalaman atau modifikasi script yang Anda gunakan pada kolom komentar.

Jika artikel ini bermanfaat, jangan lupa membagikannya ke rekan sysadmin, administrator jaringan, atau tim IT lainnya. Subscribe website ini untuk mendapatkan tutorial Linux, DevOps, server, dan jaringan terbaru yang praktis dan mudah diterapkan. Anda juga dapat membaca artikel lainnya seputar otomatisasi server, Bash scripting, serta monitoring infrastruktur Linux.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Protected By
Shield Security