| Server IP : 3.111.61.48 / Your IP : 216.73.216.67 Web Server : Apache System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64 User : ubuntu ( 1000) PHP Version : 8.2.31 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /etc/script/ServerMonitor/ |
Upload File : |
import psutil
import smtplib
from email.mime.text import MIMEText
import time
# CONFIG
CPU_THRESHOLD = 80
RAM_THRESHOLD = 80
DISK_THRESHOLD = 90
CHECK_INTERVAL = 60 # seconds
EMAIL_FROM = "your@gmail.com"
EMAIL_TO = "target@gmail.com"
SMTP_SERVER = "smtp.gmail.com"
SMTP_PORT = 587
EMAIL_PASS = "your_app_password"
def send_email(subject, message):
msg = MIMEText(message)
msg['Subject'] = subject
msg['From'] = EMAIL_FROM
msg['To'] = EMAIL_TO
with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as server:
server.starttls()
server.login(EMAIL_FROM, EMAIL_PASS)
server.send_message(msg)
def check_system():
cpu = psutil.cpu_percent()
ram = psutil.virtual_memory().percent
disk = psutil.disk_usage('/').percent
alerts = []
if cpu > CPU_THRESHOLD:
alerts.append(f"CPU high: {cpu}%")
if ram > RAM_THRESHOLD:
alerts.append(f"RAM high: {ram}%")
if disk > DISK_THRESHOLD:
alerts.append(f"Disk high: {disk}%")
if alerts:
send_email("System Alert", "\n".join(alerts))
while True:
check_system()
time.sleep(CHECK_INTERVAL)