برنامه نویسی

اسکریپت شل برای نظارت بر منابع سرور لینوکس

توضیحات تصویر

فهرست مطالب

مقدمه

اوه! بعد از مدت ها، بالاخره تصمیم گرفتم یک پست وبلاگ ساده در Dev بنویسم. بنابراین، بیایید شیرجه بزنیم!

همه ما می دانیم که نظارت موثر سرور برای حفظ ثبات و عملکرد سیستم ضروری است. در این پست وبلاگ، من به شما نشان خواهم داد که چگونه یک اسکریپت پوسته پیشرفته ایجاد کنید که استفاده از CPU، استفاده از حافظه، فضای دیسک، فعالیت شبکه، فرآیندهای در حال اجرا و زمان آپدیت سیستم را در زمان واقعی نظارت می کند.

پیش نیازها

قبل از شروع، مطمئن شوید که:

  • نمونه اوبونتو: هر سیستم یا ماشین مجازی مبتنی بر اوبونتو.
  • دانش اولیه Shell Scripting: آشنایی با دستورات ترمینال و اصول اسکریپت نویسی.

مرحله 1: یک فایل در اوبونتو ایجاد کنید

با ایجاد یک فایل برای اسکریپت خود شروع کنید. یک ترمینال باز کنید و از ویرایشگر متن دلخواه خود استفاده کنید. در اینجا، ما از vim استفاده خواهیم کرد:

vim monitor_linux.sh
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 2: اسکریپت Shell را بنویسید

اسکریپت زیر را به فایل اضافه کنید:

#!/bin/bash

while true; do
 clear
 echo "System Resource Monitoring"
 echo "--------------------------"

 # Display CPU usage
 echo "CPU Usage:"
 top -n 1 -b | grep "Cpu"

 # Display memory usage
 echo -e "\nMemory Usage:"
 free -h

 # Display disk space usage
 echo -e "\nDisk Space Usage:"
 df -h

 # Display top 5 processes by memory usage
 echo -e "\nTop 5 Processes by Memory Usage:"
 ps -eo pid,ppid,cmd,%mem --sort=-%mem | head -6

 # Display network usage
 echo -e "\nNetwork Usage (bytes received and transmitted):"
 echo "Interface  RX Bytes  TX Bytes"
 cat /proc/net/dev | tail -n +3 | awk '{print $1, $2, $10}'

 # Display system uptime
 echo -e "\nSystem Uptime:"
 uptime -p

 sleep 5 # Wait for 5 seconds before the next update
done
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: اسکریپت را اجرایی کنید

به اسکریپت مجوزهای اجرایی بدهید:

chmod +x monitor_linux.sh
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 4: اسکریپت را اجرا کنید

اسکریپت را برای نظارت بر سرور خود اجرا کنید:

./monitor_linux.sh
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اسکریپت اطلاعات سیستم به روز شده را هر 5 ثانیه نمایش می دهد. برای متوقف کردن اسکریپت، لطفا از CTRL + C استفاده کنید.

در اینجا جزئیات این اسکریپت آمده است:

  • استفاده از CPU: دستور بالا میزان استفاده فعلی از CPU را نشان می دهد.
  • استفاده از حافظه: دستور free آمار حافظه را در قالبی قابل خواندن برای انسان نشان می دهد.
  • استفاده از فضای دیسک: دستور df میزان استفاده از فضای دیسک را برای همه سیستم های فایل نصب شده نشان می دهد.
  • 5 فرآیند برتر: دستور ps 5 فرآیند مصرف کننده حافظه را فهرست می کند.
  • استفاده از شبکه: بایت های دریافت و ارسال شده برای هر رابط شبکه را با استفاده از /proc/net/dev نمایش می دهد.
  • System Uptime: فرمان uptime مدت زمان کارکرد سیستم را نشان می دهد.

نتیجه گیری

این اسکریپت ساده پوسته نمای جامعی از معیارهای عملکرد سرور لینوکس شما ارائه می دهد. شما به راحتی می توانید آن را بیشتر سفارشی کنید تا ویژگی های نظارتی اضافی مانند آمار ورودی/خروجی، استفاده از مبادله یا مکانیسم های هشدار را شامل شود.

من قصد دارم در آینده پست های فنی بیشتری را به اشتراک بگذارم که موضوعاتی مانند AWS، Kubernetes، Prometheus، Elastic و موارد دیگر را پوشش می دهد. تا دفعه بعد، یادگیری مبارک!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا