Feb 142023
 

Để kiểm tra tình trạng ổ đĩa, CPU và RAM trên máy chủ Linux và cảnh báo khi vượt quá giới hạn cấu hình thông qua Telegram, bạn có thể sử dụng script bash dưới đây:

#!/bin/bash

# Set the threshold for disk, CPU, and RAM usage
DISK_THRESHOLD=80 # in %
CPU_THRESHOLD=80 # in %
RAM_THRESHOLD=80 # in %

# Set the Telegram bot token and chat ID
TELEGRAM_BOT_TOKEN="your_bot_token"
TELEGRAM_CHAT_ID="your_chat_id"

# Check disk usage and send a warning if it exceeds the threshold
disk_usage=$(df -h / | awk '/\// {print $(NF-1)}' | sed 's/%//')
if [ "$disk_usage" -ge "$DISK_THRESHOLD" ]; then
    message="WARNING: Disk usage is at ${disk_usage}%"
    curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" -d "chat_id=${TELEGRAM_CHAT_ID}" -d "text=$message"
fi

# Check CPU usage and send a warning if it exceeds the threshold
cpu_usage=$(top -b -n 1 | awk '/^%Cpu/ {print $2}' | cut -d '.' -f 1)
if [ "$cpu_usage" -ge "$CPU_THRESHOLD" ]; then
    message="WARNING: CPU usage is at ${cpu_usage}%"
    curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" -d "chat_id=${TELEGRAM_CHAT_ID}" -d "text=$message"
fi

# Check RAM usage and send a warning if it exceeds the threshold
ram_usage=$(free | awk '/^Mem/ {print $3/$2 * 100.0}' | cut -d '.' -f 1)
if [ "$ram_usage" -ge "$RAM_THRESHOLD" ]; then
    message="WARNING: RAM usage is at ${ram_usage}%"
    curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" -d "chat_id=${TELEGRAM_CHAT_ID}" -d "text=$message"
fi

Giải thích các bước trong script:

  1. Thiết lập ngưỡng cho việc sử dụng đĩa, CPU và RAM.
  2. Thiết lập mã thông báo bot Telegram và ID trò chuyện.
  3. Kiểm tra việc sử dụng đĩa và gửi cảnh báo nếu nó vượt quá ngưỡng.
  4. Kiểm tra việc sử dụng CPU và gửi cảnh báo nếu nó vượt quá ngưỡng.
  5. Kiểm tra việc sử dụng RAM và gửi cảnh báo nếu nó vượt quá ngưỡng.