جستجو برای:
سبد خرید 0
  • صفحه اصلی
  • دوره‌های آموزشی
  • وبلاگ
  • درباره ما
  • قوانین و مقررات
  • همکاری با ما
  • تماس با ما
محتوای باز
ورود
[suncode_otp_login_form]
گذرواژه خود را فراموش کرده اید؟
عضویت
[suncode_otp_registration_form]
  • خانه
  • کتاب آنلاین
  • درباره سایت
  • درباره لوگو
  • تماس با ما
محتوای باز
  • صفحه اصلی
  • دوره‌های آموزشی
  • وبلاگ
  • درباره ما
  • قوانین و مقررات
  • همکاری با ما
  • تماس با ما
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0
[wcas-search-form]

اطلاعات سیستم و مانیتورینگ در لینوکس

8 اسفند 1404
ارسال شده توسط فرشید نوتاش حقیقت
برنامه‌نویسی، خط فرمان، دواپس، شبکه و امنیت

نظارت بر یک سیستم لینوکس (مانیتورینگ) به معنای بررسی عملکرد سخت‌افزار و نرم‌افزار رایانه شما است. این کار به ردیابی عملکرد، یافتن فرآیندهای سنگین از نظر منابع و تشخیص زودهنگام مشکلات کمک می‌کند.

  • شناخت پردازنده، حافظه (RAM)، دیسک‌ها و فرآیندهای در حال اجرا.
  • مشاهده این منابع به صورت بلادرنگ.
  • درک پیکربندی سخت‌افزار و محیط عملیاتی.

۱. بررسی اطلاعات سیستم

دستورات اطلاعات سیستم، جزئیاتی در مورد تنظیمات رایانه شما، از جمله سیستم عامل، نسخه هسته و اجزای سخت‌افزاری ارائه می‌دهند. این اطلاعات برای عیب‌یابی، بررسی سیستم و آماده‌سازی برای نصب نرم‌افزار مفید است.

مثال ۱. جزئیات کلی سیستم مانند نسخه هسته، نوع دستگاه و نام سیستم عامل را نشان می‌دهد.

دستور

uname -a

خروجی

چه کاری انجام می‌دهد

  • تمام شناسه‌های هسته و سیستم موجود را در یک خط چاپ می‌کند: نام هسته، نام میزبان، نسخه/نسخه هسته، سخت‌افزار دستگاه و سیستم‌عامل.
  • از آن برای تایید سریع نسخه و معماری هسته (مثلا x86_64 در مقابل aarch64) هنگام تطبیق درایورها یا بسته‌ها استفاده کنید.

مثال ۲. اطلاعات سیستم را در قالبی مرتب، شامل نام سیستم عامل، نسخه هسته و جزئیات مجازی‌سازی نمایش می‌دهد.

دستور

hostnamectl

خروجی

چه کاری انجام می‌دهد

  • هویت سیستم را در یک بلوک مرتب نشان می‌دهد: نام میزبان ایستا/گذرا، شناسه دستگاه، شاسی، سیستم عامل، هسته و اطلاعات مجازی‌سازی.
  • برای تایید نام/نسخه توزیع و اینکه آیا درون یک ماشین مجازی یا کانتینر هستید، مفید است.

مثال ۳. اطلاعات CPU مانند نام مدل، تعداد هسته‌ها و رشته‌ها را فهرست می‌کند.

دستور

lscpu

خروجی

چه کاری انجام می‌دهد

  • خلاصه‌ای از توپولوژی و ویژگی‌های CPU: نام مدل، سوکت‌ها، هسته‌ها، رشته‌ها در هر هسته و پرچم‌هایی مانند SSE/AVX.
  • از آن برای تخمین ظرفیت موازی (هسته‌ها/رشته‌ها) و تأیید مجازی‌سازی یا پشتیبانی از دستورالعمل‌های ویژه استفاده کنید.

مثال ۴. جزئیات مربوط به دیسک‌ها، پارتیشن‌ها و نقاط اتصال را در یک جدول واضح نمایش می‌دهد.

دستور

lsblk

خروجی

چه کاری انجام می‌دهد

  • دستگاه‌های بلوک را به صورت یک درخت واضح فهرست می‌کند: دیسک‌ها، پارتیشن‌ها، لایه‌های LVM، اندازه‌ها و نقاط اتصال.
  • گزینه‌هایی مانند –fs یا -o NAME,SIZE,TYPE,MOUNTPOINT را برای مشاهده انواع سیستم فایل و محل اتصال دستگاه‌ها اضافه کنید.

مثال ۵. میزان استفاده از حافظه (RAM و swap) را بر حسب واحدهای قابل خواندن توسط انسان نشان می‌دهد.

دستور

free -h

میزان استفاده از RAM و swap را با واحدهای قابل خواندن توسط انسان، از جمله کل، استفاده شده، آزاد و حافظه موجود، گزارش می‌دهد.

مثال ۶. به شما می‌گوید که چه مقدار فضای دیسک در هر سیستم فایل نصب شده استفاده شده و در دسترس است.

دستور

df -h

خروجی

چه کاری انجام می‌دهد

  • فضای دیسک استفاده شده/موجود به ازای هر سیستم فایل نصب شده را بر حسب واحدهای انسانی، به علاوه نقاط اتصال نشان می‌دهد.
  • اسکن با استفاده از %، حجم‌های تقریبا پر را تشخیص می‌دهد؛ برای مشاهده انواع سیستم فایل برای اطلاعات بیشتر، آن را با -T ترکیب کنید.

۲. نظارت بر عملکرد سیستم به صورت بلادرنگ

نظارت بر عملکرد نشان می‌دهد که منابع سیستم شما (پردازنده، حافظه، دیسک، شبکه) در حال حاضر چگونه استفاده می‌شوند. این ابزار برای تشخیص تاخیر، بار یا تنگناها مفید است.

مثال ۱. میزان استفاده از CPU و حافظه توسط فرآیندها را به صورت زنده نشان می‌دهد و به طور خودکار به‌روزرسانی می‌شود.

دستور

top

خروجی

چه کاری انجام می‌دهد

  • نمایشگر فرآیند به صورت زنده و در حال به‌روزرسانی با استفاده از CPU/حافظه، میانگین بار و آمار هر فرآیند.
  • برای یافتن فرآیندهای سنگین، بر اساس CPU یا MEM مرتب کنید؛ از کلیدهای تعاملی (مثلاً shift+P/M) برای تغییر مرتب‌سازی استفاده کنید.

مثال ۲. یک نسخه رنگارنگ‌تر و کاربرپسندتر از بالا که در آن می‌توانید به راحتی اسکرول کنید و مرتب‌سازی انجام دهید.

دستور

htop

خروجی

چه کاری انجام می‌دهد

  • جایگزین برتر رنگارنگ و تعاملی با قابلیت پیمایش، نمای درختی و مرتب‌سازی/فیلترینگ آسان.
  • برای حذف سریع فرآیندها و مشاهده میزان مصرف هر هسته عالی است؛ ممکن است نیاز به نصب داشته باشد.

مثال ۳. نمایش آمار سیستم (پردازنده، حافظه و ورودی/خروجی) که هر ۲ ثانیه به‌روزرسانی می‌شود.

دستور

vmstat 2

چه کاری انجام می‌دهد

  • شمارنده‌های CPU، حافظه، swap و I/O را در یک بازه زمانی ثابت (در اینجا هر ۲ ثانیه) چاپ می‌کند.
  • برای تشخیص فشار بر CPU یا حافظه، r (اجرای صف)، si/so (ورود/خروج swap) و wa (انتظار I/O) را بررسی کنید.

مثال ۴. نشان می‌دهد که دیسک‌های شما چقدر مشغول هستند و آیا دیسکی بیش از حد بارگذاری شده است یا خیر.

دستور

iostat -xz 1

خروجی

چه کاری انجام می‌دهد

  • میزان استفاده، توان عملیاتی و تاخیر به ازای هر دیسک را ارائه می‌دهد؛ -x آمار تفصیلی را اضافه می‌کند، -z دستگاه‌های بیکار را حذف می‌کند، 1 تعداد رفرش‌های 1 ثانیه را تنظیم می‌کند.
  • مقدار بالای %util یا avgqu-sz با افزایش await نشان دهنده‌ی دیسک‌های اشباع یا بیش از حد بارگذاری شده است.

مثال ۵. میزان استفاده از شبکه را به صورت بلادرنگ نمایش می‌دهد که در آن اتصالات بیشترین داده را ارسال یا دریافت می‌کنند.

دستور

iftop

خروجی

چه کاری انجام می‌دهد

  • نظارت بر پهنای باند به ازای هر اتصال به صورت آنی که نشان می‌دهد چه کسی بیشترین داده را ارسال/دریافت می‌کند.
  • از آن برای شناسایی میزبان‌های پر سر و صدا و تأیید اینکه آیا افزایش ناگهانی سرعت شبکه محلی است یا از راه دور، استفاده کنید.

۳. بررسی سخت‌افزار و دستگاه‌ها

گاهی اوقات، مشکلات به جای نرم‌افزار، از سخت‌افزار ناشی می‌شوند. این دستورات به شما کمک می‌کنند تا بفهمید چه چیزی واقعا نصب شده و کار می‌کند.

مثال ۱. تمام دستگاه‌های PCI (اتصال اجزای جانبی) مانند کارت‌های گرافیک، آداپتورهای شبکه و غیره را فهرست می‌کند.

دستور

lspci

خروجی

چه کاری انجام می‌دهد

  • باس‌ها و دستگاه‌ها را می‌شمارد تا تایید کند چه سخت‌افزاری توسط هسته شناسایی شده است.
  • برای عیب‌یابی درایور و فهرست‌بندی پردازنده‌های گرافیکی، کارت‌های شبکه و لوازم جانبی USB مفید است.

مثال ۲. دستگاه‌های USB متصل فعلی را فهرست می‌کند.

دستور

lsusb

خروجی

چه کاری انجام می‌دهد

  • دستگاه‌های USB متصل را به همراه شناسه‌های فروشنده/محصول و توصیف‌کننده‌های اولیه نشان می‌دهد.
  • قبل از بررسی dmesg یا درایورها، به تأیید شناسایی دستگاه USB کمک می‌کند.

مثال ۳. جزئیات سخت‌افزار مانند سازنده، مدل و نسخه BIOS را نشان می‌دهد.

دستور

sudo dmidecode -t system

خروجی

چه کاری انجام می‌دهد

  • داده‌های میان‌افزار (DMI/SMBIOS) را می‌خواند تا سازنده سیستم، نام محصول، سریال و نسخه BIOS/UEFI را گزارش دهد.
  • از انواع خاص ‎-t‎ (مثلا bios، system، memory) برای استخراج اطلاعات دارایی‌ها و سخت‌افزارهای هدف استفاده کنید.

۴. مشاهده لاگ‌ها و رویدادهای سیستم

لاگ‌ها حاوی پیام‌هایی از سیستم و سرویس‌ها هستند و توضیح می‌دهند که چرا مشکلی پیش آمده است.

مثال ۱. خطاها و هشدارهای اخیر سیستم را نشان می‌دهد.

دستور

journalctl -xe

چه کاری انجام می‌دهد

  • گزارش‌های اخیر را با توضیحات بیشتر و نکات اولویت‌بندی، با تمرکز بر خطاها و رویدادهای حیاتی نشان می‌دهد.
  • اولین توقف ایده‌آل پس از یک شکست؛ سرویس -u را برای چرخش به گزارش‌های خاص سرویس اضافه کنید.

مثال ۲. لاگ‌های مربوط به یک سرویس خاص را نمایش می‌دهد.

دستور

journalctl -u servicename

چه کاری انجام می‌دهد

  • گزارش‌های مربوط به یک سرویس خاص systemd را فیلتر می‌کند و جدول زمانی و خرابی‌ها را مشخص می‌کند.
  • برای بررسی‌های محدود به زمان، –since/–until را اضافه کنید؛ برای دنبال کردن رویدادهای زنده از -f استفاده کنید.

مثال ۳. پیام‌های هسته (مثلا سخت‌افزار شناسایی‌شده، درایورها یا خرابی‌ها) را نشان می‌دهد.

دستور

dmesg -T

چه کاری انجام می‌دهد

  • پیام‌های بافر حلقه هسته را با مهرهای زمانی قابل خواندن توسط انسان چاپ می‌کند.
  • برای تشخیص سخت‌افزار، مشکلات درایور و ردپاهای خرابی بلافاصله پس از بوت یا خطاها، اینجا را ببینید.

۵. بررسی میزان استفاده از دیسک و فایل

مانیتورینگ دیسک به جلوگیری از مشکلات فضا کمک می‌کند و عملکرد را پایدار نگه می‌دارد.

مثال ۱. میزان استفاده و نوع فایل سیستم را نشان می‌دهد.

df -hT

چه کاری انجام می‌دهد

  • میزان استفاده را بر اساس هر سیستم فایل، شامل نوع آن، نمایش می‌دهد؛ اندازه‌های قابل خواندن توسط انسان، اسکن را ساده می‌کند.
  • برای تایید اینکه کدام mount در حال پر شدن است و از چه سیستم فایلی استفاده می‌کند (مثلا ext4، xfs، btrfs) مفید است.

مثال ۲. به شما می‌گوید که یک پوشه یا دایرکتوری چقدر بزرگ است.

دستور

du -sh /path

خروجی

چه کاری انجام می‌دهد

  • حجم کل یک دایرکتوری را با یک عدد واحد و قابل فهم برای انسان خلاصه می‌کند.
  • با du -h –max-depth=1 ترکیب کنید تا بزرگترین زیرپوشه را پیدا کنید.

۶. مدیریت سرویس‌ها و راه‌اندازی

لینوکس از سرویس‌ها برای اجرای برنامه‌ها در پس‌زمینه استفاده می‌کند (مانند سرورهای وب یا پایگاه داده). شما می‌توانید به راحتی آنها را بررسی و کنترل کنید.

مثال ۱. نشان می‌دهد که آیا یک سرویس در حال اجرا است یا خیر.

دستور

systemctl status service-name

چه کاری انجام می‌دهد

  • وضعیت سرویس، آخرین لاگ‌ها، PID اصلی و خرابی‌های اخیر را در یک نما نشان می‌دهد.
  • برای بررسی سریع سلامت و تأیید اینکه آیا راه‌اندازی مجدد یا خرابی رخ می‌دهد، عالی است.

مثال ۲. سرویس را شروع و فعال می‌کند تا در هنگام بوت اجرا شود.

دستور

systemctl enable --now service-name

چه کاری انجام می‌دهد

  • فعال کردن شروع سرویس هنگام بوت و شروع فوری آن.
  • پس از نصب یا پیکربندی استفاده می‌شود تا سرویس پس از راه‌اندازی مجدد نیز پابرجا بماند.

مثال ۳. سرویس‌هایی را که شروع به کارشان با شکست مواجه شده است، فهرست می‌کند.

دستور

systemctl --failed

چه کاری انجام می‌دهد

  • واحدهایی را که شروع به کار نکرده‌اند، به همراه دلایل و توضیحات مختصر فهرست می‌کند.
  • پس از بوت شدن، از اینجا شروع کنید تا موارد مورد نیاز را اولویت‌بندی کنید.

توجه: برخی از این دستورات و خروجی‌ها عمداً حذف شده‌اند یا ممکن است در محیط‌های خاصی به دلیل محدودیت‌های حریم خصوصی، مجوز یا امنیتی (مثلاً ترمینال‌های سندباکس، ماشین‌های مجازی آزمایشگاهی مدیریت‌شده یا امتیازات محدود کاربر) اجرا نشوند.

۷. بررسی‌های اولیه امنیتی و کاربری

امنیت با دانستن اینکه چه کسی وارد سیستم شده است و چه کاری می‌تواند انجام دهد، آغاز می‌شود.

مثال ۱. شناسه و گروه‌های کاربر فعلی را نمایش می‌دهد.

دستور

id

خروجی

چه کاری انجام می‌دهد

  • هویت کاربر را چاپ می‌کند: شناسه کاربری (UID)، گروه اصلی و گروه‌های تکمیلی.
  • از آن برای تأیید عضویت در گروه‌های ممتاز مانند sudo یا docker استفاده کنید.

مثال ۲. نشان می‌دهد که کاربر فعلی چه دستوراتی را می‌تواند با مجوزهای sudo اجرا کند.

دستور

sudo -l

خروجی

چه کاری انجام می‌دهد

  • طبق گفته sudoers، دستوراتی را که کاربر فعلی می‌تواند با امتیازات بالا اجرا کند، فهرست می‌کند.
  • برای ممیزی‌های با حداقل امتیاز و اعتبارسنجی دسترسی مدیر مورد انتظار مفید است.

مثال ۳. فهرستی از ۱۰ ورود آخر به سیستم شما.

دستور

last -n 10

خروجی

چه کاری انجام می‌دهد

  • ۱۰ جلسه ورود آخر را به همراه نام‌های کاربری، زمان‌ها و منابع نمایش می‌دهد.
  • به شناسایی ورودهای مشکوک یا تأیید پنجره‌های تعمیر و نگهداری کمک می‌کند.

۸. یک اسکریپت ساده برای سلامت سیستم

شما می‌توانید بررسی‌های سیستم را با یک اسکریپت کوتاه خودکار کنید. یک فایل به نام health.sh ایجاد کنید، این را در آن قرار دهید و آن را با bash health.sh اجرا کنید.

#!/usr/bin/env bash
echo "== SYSTEM =="
hostnamectl | egrep 'Operating System|Kernel|Architecture'

echo; echo "== CPU =="
lscpu | egrep 'Model name|CPU|Thread|Core|MHz'

echo; echo "== MEMORY =="
free -h

echo; echo "== DISK USAGE =="
df -hT | awk 'NR==1 || $7 ~ /^\/(home|var|root|\/|boot|data)/'

echo; echo "== NETWORK PORTS =="
ss -tuln | head -n 10

echo; echo "== LOAD AVERAGE (1/5/15) =="
awk '{print $1,$2,$3}' /proc/loadavg

echo; echo "== TOP PROCESSES =="
ps -eo pid,comm,%cpu,%mem --sort=-%cpu | head -n 10

این اسکریپت خلاصه‌ای از سلامت سیستم ارائه می‌دهد که به بررسی سریع و بی‌نقص آن قبل از عیب‌یابی یا استقرار سیستم کمک می‌کند.

geeksforgeeks

درباره فرشید نوتاش حقیقت

همیشه نیازمند یک منبع آموزشی فارسی در حوزه نرم‌افزارهای آزاد/ متن‌باز و سیستم‌عامل گنو/لینوکس بودم. از این رو این رسالت رو برای خودم تعریف کردم تا رسانه «محتوای باز» رو بوجود بیارم.

نوشته‌های بیشتر از فرشید نوتاش حقیقت
قبلی مجوزهای لینوکس (پرمیژن‌ها)
بعدی اضافه کردن یک فایروال لینوکس

دیدگاهتان را بنویسید لغو پاسخ

این سایت از اکیسمت برای کاهش جفنگ استفاده می‌کند. درباره چگونگی پردازش داده‌های دیدگاه خود بیشتر بدانید.

جستجو
جستجو برای:
دسته‌بندی موضوعی مقالات
  • برنامه‌نویسی
    • پایتون
    • دواپس
  • پایگاه‌داده
    • MariaDB
    • MySQL
  • تجارت الکترونیک
    • بازاریابی اینترنتی
    • دیجیتال مارکتینگ
    • شبکه‌های اجتماعی
  • جامعه کاربری
    • لاگ
  • دسته‌بندی نشده
  • شبکه و امنیت
  • طراحی وب
    • سئو
    • سیستم مدیریت محتوا
      • وردپرس
  • فناوری‌های نوظهور
    • اینترنت اشیاء
    • رایانش ابری
      • OpenStack
    • کلان‌داده‌ها
  • گنو/لینوکس
    • توزیع
      • CentOS
      • اوبونتو
      • دبیان
      • فدورا
    • چیست
    • خط فرمان
  • مهاجرت به آزاد/متن‌باز
  • نرم‌افزار
    • اداری
      • لیبره آفیس
        • ایمپرس
        • بیس
        • دراو
        • رایتر
        • کالک
    • کاربردی
    • گرافیک و انیمیشن
      • بلندر
      • گیمپ
نماد الکترونیکی (اینماد)
پرداخت‌یار

محتوای باز؛ مرجع آموزشی نرم‌افزارهای آزاد/ متن‌باز

از اینکه قصد همکاری با رسانه «محتوای باز» را دارید بسیار خرسندیم و این مایه مباهات ماست.

نحوه همکاری با ما چندان پیچیده نیست و شرایط آن در ادامه، ارائه گردیده است.

دستمزد مدرسین

پیش از بیان شرایط ضبط ویدئو شایان ذکر است اشاره‌ای به دستمزد مدرسین سایت داشته باشیم.

شما ممکن است در دو حالت تمایل به نشر ویدئو خود را داشته باشید: یا آن را رایگان در اختیار عموم قرار دهید و یا اینکه در قبال فروش آن از خریدار وجه مربوطه محصول را اخذ نمایید.

صرف نظر از هر حالت ممکنه، می‌بایست شرایطی که در ادامه ذکر شده‌اند را رعایت کرده باشید.

در حالت اول (رایگان) رسانه محتوای باز (Open Content)، نه وجهی از شما برای نشر ویدئو می‌گیرد و نه وجهی به شما پرداخت می‌نماید و دوره آموزشی شما را به رایگان منتشر می‌کند.

اما در حالت بعدی طریقه همکاری به روش درآمد از فروش خواهد بود، به گونه‌ای که 70 درصد از کل مبلغ فروش دوره آموزشی متعلق به مدرس دوره بوده و 30 درصد مابقی به رسانه محتوای باز تعلق می‌گیرد.

شرایط کلی ضبط دوره آموزشی

دوره آموزشی مربوطه، صرف نظر از هر محتوایی که دارد می‌بایست در یکی از توزیعات گنو/لینوکسی ضبط شده باشد. (به‌عنوان مثال دوره دروپال در اوبونتو، دوره آموزشی کار با آردوینو در دبیان و امثالهم). اگر دوره آموزشی شما در محیط ویندوز و یا هر پلتفرم/سیستم‌عامل دیگری ضبط شده باشد از همکاری با شما معذوریم.

پیشنهاد می‌گردد برای ضبط دوره آموزشی در توزیع گنو/لینوکس از ابزار قدرتمند OBS استفاده نمایید. البته این صرفا یک پیشنهاد است و شما می‌توانید از هر ابزار مناسب دیگری برای این کار بهره ببرید.

برای آشنایی یا تسلط بیشتر می‌توانید دوره رایگان آموزش OBS محمد عابدینی را ببینید:

مشاهده دوره آموزش OBS
شرایط کیفی ضبط دوره آموزشی

کیفیت صدا از اهمیت ویژه‌ای برخوردار می‌باشد و می‌بایست فاقد هر گونه نویز یا صدای اضافی دیگری (صدای محیط پیرامون) باشد.

دوره آموزشی تهیه شده صرفا باید برای رسانه محتوای باز تدوین شده باشد و در هیچ سایت مشابه دیگری قرار نگرفته باشد.

از قرار دادن موسیقی متن، در بک‌گراند دوره آموزشی شدیدا پرهیز کنید. این کار موجب حواس‌پرتی مخاطب و ضعیف شدن صدای مدرس می‌گردد.

دوره آموزشی ضبط شده می‌باید فاقد هر گونه لوگو یا آدرس سایت دیگری (در گوشه تصویر یا بک‌گراند صفحه دسکتاپ و هر جای دیگری) باشد.

در حین دوره، مدرس نباید به برند خاصی اشاره کند که جز رقبای ما به‌شمار می‌آیند.

مدرس باید در ابتدا در اواسط و در انتهای دوره به برند ما یعنی رسانه محتوای باز (Open Content) بصورت کلامی اشاره نماید.

مدرس، هنگام تدریس نباید تپق زده، سرفه یا عطسه کند یا صدای قورت دادن بزاقش شنیده شود و بایستی با صدای رسا، دوستانه و پرانرژی به تدریس بپردازد.

قبل از تدوین دوره آموزشی حتما با ما در تماس باشید و یک ویدیوی چنددقیقه‌ای (ترجیحا 5 الی 10 دقیقه)، بصورت نمونه‌کار برای ما بفرستید.

از همکاری با شما سپاسگزاریم.

فراخوان همکاری