سفارش تبلیغ
صبا ویژن

لینک من
نمایش لینکهای شما در لینک من
هاست و ثبت دامنه آنلاین
نیازمندیهای شهر
درج آگهی و تبلیغ رایگان
ایستگاه نیازمندی
هاست رایگان



Google

در این وبلاگ
در کل اینترنت



آیا نیاز به نظارت بر عملکرد سرور لینوکس خود دارید؟ پس سعی کنید با راهنمایی های این نوشته، با استفاده از دستورات موجود در اغلب نسخه های این سیستم عامل و چند ابزار افزودنی، این کار را به نحو احسن انجام دهید. خوشبختانه اغلب توزیع های لینوکسی مجهز به دهها ابزار مانیتورینگ و نظارت بر عملکرد سیستم هستند. این ابزارها معیارهایی را مشخص می کنند که می تواند برای به دست آوردن اطلاعات در مورد فعالیت های سیستم مورد استفاده قرار گیرد. شما می توانید از چنین ابزارهایی برای یافتن علل احتمالی مشکل در عملکرد سرور استفاده کنید. دستورات بحث شده در زیر، برخی از دستورات پایه برای زمانی است که نوبت به تجزیه و تحلیل سیستم و اشکال زدائی خرابی های سرور می رسد. مانند:
1- پیدا کردن و تشخیص تنگناهای کار سیستم.
2- موانع مرتبط با دیسک سخت (یا هر فضای ذخیره سازی دیگری).
3- موانع مرتبط با پردازنده و حافظه.
4- موانع مرتبط با شبکه.

 

شماره ?: top - مشخص کردن بیشترین فعالیت های پردازشی (Process Activity Command)
این برنامه امکان نمایش پویا و بلادرنگ سیستم را فراهم می کند، مانند روند فعالیت های واقعی پردازشی. به طور پیش فرض ، برنامه به ترتیب بیشترین فعالیت های پردازشی بر روی سرور را نمایش میدهد و لیست هر 5 ثانیه یک بار ریفرش می شود.

pic-1-top-output-269x300.png

کلیدهای پرکاربرد برنامه (Hot Keys)
برنامه top command چند کلید پرکاربرد مفید دارد به شرح زیر :
t: روشن و خاموش کردن نمایش خلاصه اطلاعات.
m: روشن و خاموش کردن اطلاعات حافظه.
A: دسته بندی صفحه نمایش به ترتیب بیشترین مصرف کنندگان منابع مختلف سیستم. مفید برای شناسایی سریع وظایف با نیاز عملکردی بالا در سیستم.
f: واردکردن تنظیمات تعاملی صفحه در بالای صفحه. مفید برای راه اندازی یک وظیفه خاص از بالای صفحه.
o: شما را قادر میسازد به صورت تعاملی ترتیب وظایف را جابه جا کنید.
r: ری نایس کردن یک دستور
k: بستن یک دستور.
z: روشن یا خاموش کردن حالت رنگ / تک رنگ (مونو)

 

شماره ?: vmstat - فعالیت سیستم، اطلاعات مربوط به سخت افزار و سیستم
فرمان vmstat اطلاعاتی در مورد پروسه ها ، حافظه ، صفحه بندی ، بلوک های IO ، تله ها (traps)، و فعالیت های پردازنده را گزارش می کند.

# vmstat 3

خروجی نمونه :

procs --------memory------- ---swap-- --io- --system-- --cpu--- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 2540988 522188 5130400 0 0 2 32 4 2 4 1 96 0 0 1 0 0 2540988 522188 5130400 0 0 0 720 1199 665 1 0 99 0 0 0 0 0 2540956 522188 5130400 0 0 0 0 1151 1569 4 1 95 0 0 0 0 0 2540956 522188 5130500 0 0 0 6 1117 439 1 0 99 0 0 0 0 0 2540940 522188 5130512 0 0 0 536 1189 932 1 0 98 0 0 0 0 0 2538444 522188 5130588 0 0 0 0 1187 1417 4 1 96 0 0 0 0 0 2490060 522188 5130640 0 0 0 18 1253 1123 5 1 94 0 0

نمایش حافظه مورد استفاده Slabinfo

# vmstat -m

دریافت اطلاعات درباره صفحات حافظه فعال / غیر فعال

# vmstat -a

 

شماره ?: w - مشاهده کاربران که به سیستم وارد شده اند و اعمالی که انجام داده اند .
فرمان w اطلاعاتی را از کاربرانی که به سیستم وارد شده اند و فرآیندها و اعمال انجام شده توسط هر یک را به ما نشان می دهد.

# w username # w vivek

خروجی نمونه :

17:58:47 up 5 days, 20:28, 2 users, load average: 0.36, 0.26, 0.24 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 10.1.3.145 14:55 5.00s 0.04s 0.02s vim /etc/resolv.conf root pts/1 10.1.3.145 17:43 0.00s 0.03s 0.00s w

 

شماره ?: uptime - مشخص کردن اینکه سیستم از کی روشن و در حال کار است
فرمان uptime می تواند برای مشاهده و تعیین اینکه سرور چه مدت در حال اجرا بوده است، مورد استفاده قرار گیرد. زمان کنونی ، مدت زمان در حال اجرای سیستم، تعداد کاربرانی که در حال حاظر داخل سیستم هستند و میانگین بار روی سیستم در یک، پنج و پانزده دقیقه گذشته را می توان مشاهده نمود.

# uptime

خروجی :

18:02:41 up 41 days, 23:42, 1 user, load average: 0.00, 0.00, 0.00

عدد یک را می توان به عنوان مقدار بار مطلوب در نظر گرفت. میزان بار می تواند از سیستمی به سیستم دیگر متغیر باشد. برای یک سیستم تک پردازنده بین 1 تا 3 وسیستم هایSMP (چند پردازنده) مقدار بار از ? تا ?0 می تواند قابل قبول باشد.

 

شماره ?: ps - نمایش پردازش ها
دستور ps تصویری لحظه ای (snapshot) از فرآیندهای جاری را گزارش می دهد. برای انتخاب همه فرآیندها از عبارات -A یا -e در ادامه دستور استفاده کنید.

# ps -A

خروجی نمونه :

PID TTY TIME CMD 1 ? 00:00:02 init 2 ? 00:00:02 migration/0 3 ? 00:00:01 ksoftirqd/0 4 ? 00:00:00 watchdog/0 5 ? 00:00:00 migration/1 6 ? 00:00:15 ksoftirqd/1 .... ..... 4881 ? 00:53:28 java 4885 tty1 00:00:00 mingetty 4886 tty2 00:00:00 mingetty 4887 tty3 00:00:00 mingetty 4888 tty4 00:00:00 mingetty 4891 tty5 00:00:00 mingetty 4892 tty6 00:00:00 mingetty 4893 ttyS1 00:00:00 agetty 12853 ? 00:00:00 cifsoplockd 12854 ? 00:00:00 cifsdnotifyd 14231 ? 00:10:34 lighttpd 14232 ? 00:00:00 php-cgi 54981 pts/0 00:00:00 vim 55465 ? 00:00:00 php-cgi 55546 ? 00:00:00 bind9-snmp-stat 55704 pts/1 00:00:00 ps

ps درست مثل top است اما اطلاعات بیشتری برای ما فراهم می کند.

 

نمایش فرمت خروجی به شکل طولانی و کامل

# ps -Al

برای فعال کردن حالت فوق العاده کامل این دستور: (با این کار عناصر خط دستور برای هر پردازش به نمایش در می آیند )

# ps -AlF

برای مشاهده تریدها (LWP و NLWP)

# ps -AlFH

برای مشاهده تریدها پس از پردازش

# ps -AlLm

چاپ همه فرایند های روی سرور

# ps ax # ps axu

چاپ یک درخت فرآیند

# ps -ejH # ps axjf # pstree

چاپ اطلاعات امنیتی

# ps -eo euser,ruser,suser,fuser,f,comm,label # ps axZ # ps -eM

مشاهده هر پروسه در حال اجرا به عنوان کاربر Vivek

# ps -U vivek -u vivek u

تنظیم خروجی در قالب تعریف شده توسط کاربر

# ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm # ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm # ps -eopid,tt,user,fname,tmout,f,wchan

فقط نمایش شناسه های فرایند Lighttpd

# ps -C lighttpd -o pid=

یا

# pgrep lighttpd

یا

# pgrep -u vivek php-cgi

نمایش نام 55977 PID

# ps -p 55977 -o comm=

یافتن 10 فرآیند برتر پر مصرف برای حافظه

# ps -auxf | sort -nr -k 4 | head -10

یافتن 10 فرآیند برتر پر مصرف برای پردازنده

# ps -auxf | sort -nr -k 3 | head -10

 

شماره ?: free - نمایش وضعیت حافظه
فرمان free به نمایش مقدار کل فضای آزاد و فضای مصرف شده و حافظه مبادله شده در سیستم می پردازد. همچنین نمایش بافرهای استفاده شده توسط هسته سیستم عامل را نشان می دهد (kernel).

# free

خروجی نمونه :

total used free shared buffers cached Mem: 12302896 9739664 2563232 0 523124 5154740 -/+ buffers/cache: 4061800 8241096 Swap: 1052248 0 1052248

 

شماره ?: iostat - میانگین بار پردازنده و فعالیت هارد دیسک
دستور iostat وضعیت سی پی یو، دستگاه های ورودی/خروجی، پارتیشن ها و فایل های سیستمی شبکه (NFS) را گزارش می کند.

# iostat

خروجی نمونه :

Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 06/26/2009 avg-cpu: %user %nice %system %iowait %steal %idle 3.50 0.09 0.51 0.03 0.00 95.86 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 22.04 31.88 512.03 16193351 260102868 sda1 0.00 0.00 0.00 2166 180 sda2 22.04 31.87 512.03 16189010 260102688 sda3 0.00 0.00 0.00 1615 0

 

شماره ?: sar - جمع آوری و گزارش فعالیتهای سیستم
فرمان sar برای جمع آوری، گزارش و ذخیره اطلاعات فعالیت سیستم استفاده می شود. مثلا برای دیدن شمارنده شبکه (network counter)، این دستور را وارد کنید :

# sar -n DEV | more

برای نشان دادن شمارنده شبکه از بیست و چهارم :

# sar -n DEV -f /var/log/sa/sa24 | more

شما همچنین می توانید با استفاده از sar زمان واقعی را نمایش دهید :

# sar 4 5

خروجی نمونه :

Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 06/26/2009 06:45:12 PM CPU %user %nice %system %iowait %steal %idle 06:45:16 PM all 2.00 0.00 0.22 0.00 0.00 97.78 06:45:20 PM all 2.07 0.00 0.38 0.03 0.00 97.52 06:45:24 PM all 0.94 0.00 0.28 0.00 0.00 98.78 06:45:28 PM all 1.56 0.00 0.22 0.00 0.00 98.22 06:45:32 PM all 3.53 0.00 0.25 0.03 0.00 96.19 Average: all 2.02 0.00 0.27 0.01 0.00 97.70

 

شماره ?: mpstat ؛ کارکرد سیستم های چند پردازنده ای
فرمان mpstat فعالیت های هر پردازنده را به صورت جداگانه نشان می دهد. پردازنده صفر (0 processor) اولین پردازنده لیست است. دستور mpstat -P ALL نیز برای نشان دادن متوسط استفاده سی پی یو از هر پردازنده است:

# mpstat -P ALL

خروجی نمونه :

Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 06/26/2009 06:48:11 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s 06:48:11 PM all 3.50 0.09 0.34 0.03 0.01 0.17 0.00 95.86 1218.04 06:48:11 PM 0 3.44 0.08 0.31 0.02 0.00 0.12 0.00 96.04 1000.31 06:48:11 PM 1 3.10 0.08 0.32 0.09 0.02 0.11 0.00 96.28 34.93 06:48:11 PM 2 4.16 0.11 0.36 0.02 0.00 0.11 0.00 95.25 0.00 06:48:11 PM 3 3.77 0.11 0.38 0.03 0.01 0.24 0.00 95.46 44.80 06:48:11 PM 4 2.96 0.07 0.29 0.04 0.02 0.10 0.00 96.52 25.91 06:48:11 PM 5 3.26 0.08 0.28 0.03 0.01 0.10 0.00 96.23 14.98 06:48:11 PM 6 4.00 0.10 0.34 0.01 0.00 0.13 0.00 95.42 3.75 06:48:11 PM 7 3.30 0.11 0.39 0.03 0.01 0.46 0.00 95.69 76.89

 

شماره ??: pmap ؛ میزان مصرف حافظه هر فرآیند
فرمان pmap نقشه مموری یک پروسه را گزارش می دهد. از این دستور می توان برای یافتن علل مشکلات و موانع ایجاد شده توسط حافظه استفاده نمود.

# pmap -d PID

برای نمایش اطلاعات حافظه مربوط به یک پردازش برای pid # 47394، این کد را وارد کنید :

# pmap -d 47394

خروجی نمونه :

47394: /usr/bin/php-cgi Address Kbytes Mode Offset Device Mapping 0000000000400000 2584 r-x-- 0000000000000000 008:00002 php-cgi 0000000000886000 140 rw--- 0000000000286000 008:00002 php-cgi 00000000008a9000 52 rw--- 00000000008a9000 000:00000 [ anon ] 0000000000aa8000 76 rw--- 00000000002a8000 008:00002 php-cgi 000000000f678000 1980 rw--- 000000000f678000 000:00000 [ anon ] 000000314a600000 112 r-x-- 0000000000000000 008:00002 ld-2.5.so 000000314a81b000 4 r---- 000000000001b000 008:00002 ld-2.5.so 000000314a81c000 4 rw--- 000000000001c000 008:00002 ld-2.5.so 000000314aa00000 1328 r-x-- 0000000000000000 008:00002 libc-2.5.so 000000314ab4c000 2048 ----- 000000000014c000 008:00002 libc-2.5.so ..... ...... .. 00002af8d48fd000 4 rw--- 0000000000006000 008:00002 xsl.so 00002af8d490c000 40 r-x-- 0000000000000000 008:00002 libnss_files-2.5.so 00002af8d4916000 2044 ----- 000000000000a000 008:00002 libnss_files-2.5.so 00002af8d4b15000 4 r---- 0000000000009000 008:00002 libnss_files-2.5.so 00002af8d4b16000 4 rw--- 000000000000a000 008:00002 libnss_files-2.5.so 00002af8d4b17000 768000 rw-s- 0000000000000000 000:00009 zero (deleted) 00007fffc95fe000 84 rw--- 00007ffffffea000 000:00000 [ stack ] ffffffffff600000 8192 ----- 0000000000000000 000:00000 [ anon ] mapped: 933712K writeable/private: 4304K shared: 768000K

توجه کنید که خط آخر بسیار مهم است:
mapped: 933712K - کل مقدار حافظه مپ شده برای فایل ها
writeable/private: 4304K - مقدار فضای آدرس دهی شده خصوصی
shared: 768000K - مقدار فضای آدرس دهی شده ای که این فرآیند با دیگران به اشتراک می گذارد


شماره های ?? و ??: netstat و ss - آمار شبکه
فرمان netstat به نمایش اتصالات شبکه ، جداول مسیریابی، آمار مربوط به رابط کاربری، اتصالات masquerade و عضویت چندپخشی می پردازد. فرمان ss برای خالی کردن وضعیت سوکت استفاده می شود. این فرمان امکان مشاهده اطلاعات مشابه netstat را می دهد. برای کسب اطلاعات بیشتر در مورد فرمان های ss و netstat به منابع زیر مراجعه کنید:

ss: Display Linux TCP / UDP Network and Socket Information Get Detailed Information About Particular IP address Connections Using netstat Command 

شماره ??: iptraf ؛ آمار بلادرنگ (Real-time) شبکه
فرمان iptraf روشی تعاملی و رنگی برای نظارت بر شبکه LAN است. این فرمان مبتنی بر نظارت ncurses آی پی های شبکه است، که آمار مختلف شبکه از جمله اطلاعات TCP، شمارش UDP، اطلاعات ICMP و OSPF، اطلاعات بار اترنت، آمار نودها، اشتباهات کنترلی (checksum) آی پی و غیره را تولید می کند. این فرمان می تواند اطلاعات زیر را در یک فرمت ساده و قابل استفاده ارائه کند:
• آمار ترافیک شبکه بر اساس اتصال TCP
• آمار ترافیک آی پی بر اساس رابط کاربری(interface) شبکه
• آمار ترافیک شبکه بر اساس پروتکل
• آمار ترافیک شبکه بر اساس پورت TCP/UDP و اندازه بسته دیتا (packet)
• آمار ترافیک شبکه بر اساس آدرس لایه دوم

 

 

شماره ??: tcpdump ؛ تجزیه و تحلیل تفسیری ترافیک شبکه
tcpdump دستور ساده ای است که روگرفت ترافیک در شبکه را نمایش می دهد. با این حال، باید درک خوبی از پروتکل TCP/IP داشته باشید تا بتوانید به خوبی از این ابزار استفاده کنید. برای مثال جهت نمایش اطلاعات ترافیک در مورد DNS ، این کد را وارد کنید :

# tcpdump -i eth1 "udp port 53"

مثال دیگر، برای نشان دادن بسته های اچ تی تی پی IPv4 به و از پورت 80 (تنها بسته هایی که شامل داده است، نه ، برای مثال ، بسته های SYN و ACK و بسته های ACK-only ) می توانید از این کد استفاده کنید :

# tcpdump "tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)"

برای دیدن تمام سشن های FTP آدرس 202.54.1.5 :

# tcpdump -i eth1 "dst 202.54.1.5 and (port 21 or 20"

برای دیدن تمام سشن های HTTP آدرس 192.168.1.5 :

# tcpdump -ni eth0 "dst 192.168.1.5 and tcp and port http"

شماره ??: strace؛ تماس های سیستم
این فرمان برای ردیابی تماس ها و سیگنال های سیستم است. این امر برای اشکال یابس وب سرور و حل مشکلات سرور مفید است. در این مقاله ببینید:

چگونگی ردیابی پروسه ها و اینکه چگونه این کار را انجام می گیرد.
 

شماره ??: Proc file system ؛ آمار مختلف Kernel
proc file system اطلاعات مفصلی در مورد دستگاه های سخت افزاری مختلف و سایر اطلاعات هسته لینوکس برای ما فراهم می کند. برای جزئیات بیشتر ببینید: جزئیات kernel /proc در لینوکس.

نمونه دستورات /proc شامل:

# cat /proc/cpuinfo # cat /proc/meminfo # cat /proc/zoneinfo # cat /proc/mounts

شماره ??: Nagios ؛ مانیتورینگ سرور و شبکه
نرم افزارNagios یکی از محبوب ترین برنامه های متن باز مانیتورینگ سیستم های کامپیوتری و شبکه می باشد. شما به راحتی می توانید بر تمام هاست های خود ، تجهیزات شبکه و خدمات نظارت داشته باشید. این برنامه وقتی که خطایی رخ دهد هشدار هایی برای تان ارسال می کند و هنگامی که مشکل برطرف شد نیز دوباره پیامی متناسب با آن می دهد. Nagios کاملا خودکار را به اختصار FAN می گویند ("Fully Automated Nagios".) ". هدف FAN فراهم کردن اکثر ابزارهای ارائه شده توسط انجمن Nagios در هنگام نصب برنامه است. FAN یک ایمیج سی دی رام در فرمت ایزو استاندارد ارائه می کند ، که نصب Nagios را روی سرور آسان می کند. اضافه بر این ، دسته وسیعی از ابزارها هم به منظور بهبود امکانات کاربر در هنگام کار با Nagios به این توزیع اضافه شده اند.

 

 




نوشته شده در تاریخ چهارشنبه 89/6/17 توسط
درباره سایت



maysam_rezazadeh@yahoo.com
X
p30-net