Web-Vmstat یک برنامه کوچک است که با java و html نوشته شده است و آمار سیستم لینوکس را، مانند هارد، پردازنده، I/O، پروسس ها به صورت real time نمایش می دهد. کامند لاین مانیتورینگ vmstat را در یک صفحه وب زیبا به همراه چارت ها (SmoothieCharts) و دیاگرام ها از طریق استریم های WebSocket و با برنامه WebSocket ببینید.
من یک ویدیو از کارکرد برنامه در سیستم Gentoo تهیه کرده ام.
دانلود بخش اول ویدیو : web vnstats.part1.rar
دانلود بخش دوم ویدیو : web vnstats.part2.rar
پیش نیازها
در یک سیستم لینوکس ابزارهای زیر باید نصب شده باشند.
در این آموزش نحوه نصب Web-Vmstat را بر روی CentOS 6.5 خواهیم دید، البته این پروسه برای تمام توزیع های لینوکس قابل اجراست، فقط اسکریپت های init متفاوت است (اختیاری)، که به شما کمک می کند به آسانی کل پروسس را مدیریت کنید.
همچنین توصیه میشود مطالعه کنید :
دستور top در لینوکس به همراه 12 مثال عملی
نحوه نصب atop برای مانیتور کردن فعالیت های لاگین و پروسس های سیستم لینوکس
دستور Glances برای مانیتورینگ Real Time پیشرفته در لینوکس
دستور nmon در لینوکس برای مانیتور کردن ram ،cpu ،disk ،network ،nfs ،file system ،kernel
نحوه نصب Iotop در RHEL - CentOS و Fedora برای مانیتور کردن I/O هارد دیسک
Netdata ابزاری برای مانیتور کردن کارایی سرور به صورت لحظه ای در لینوکسی
ابزار iftop (مانیتورینگ پهنای باند) در سیستم های RHEL / CentOS / Fedora
ابزار nload برای مانیتور میزان استفاده پهنای باند شبکه به صورت لحظه ای در لینوکس
گام اول : نصب Web-Vmstat
1. قبل از شروع نصب web-vmstat اطمینان حاصل کنید که دستورات مورد نیاز بالا بر روی سیستم تان نصب شده اند. شما می توانید از مدیریت بسته ها مانند yum یا apt-get و دستورات دیگر برای نصب آنها استفاده کنید. برای مثال، در سیستم centos، ما از دستور yum برای نصب استفاده می کنیم.
2. حالا به وب سایت رسمی web-vmstat بروید و آخرین ورژن را با زدن دکمه Download ZIP یا با استفاده از wget از کامند لاین دانلود کنید.
3. ارشیو master.zip دانلود شده را با استفاده از ابزار unzip ،extract کرده و وارد فولدر extract شده بشوید.
4. فولدر وب فایلهای جاوا و html مورد نیاز برای اجرای برنامه در محیط وب را نگه داری می کند. یک فولدر بسازید و تمام فایل های وب را که می خواهید میزبانی کنید به آن پوشه منتقل کنید.
در این آموزش از مسیر /opt/web_vmstats/ برای میزبانی فایلهای وب استفاده می کنیم، اما شما می توانید هر مسیری را که دوست دارید در سیستم خودتان بسازید، فقط مسیر واقعی وب را حفظ کنید.
5. گام بعدی دانلود و نصب برنامه websocketd streaming هست. به صفحه رسمی WebSocket بروید و پکیج ای که با معماری سیستم شما جور است را دانلود کنید (Linux 64-bit, 32-bit or ARM) .
در سیستم های 32 بیتی
در سیستم های 64 بیتی
6. با دستور unzip آرشیو WebSocket را extract کنید و باینری websocketd را در مسیر اجرایی سیستم کپی کنید تا قابل دسترسی بشود.
7. حالا شما با استفاده از دستور زیر اجرای websocketd را تست کنید.
توضیح هر پارامتر در زیر آمده است.
گام دوم : ایجاد فایل init
8. این گام اختیاری است و فقط با سیستم هایی که اسکریپت init را ساپورت می کنند کار می کند. برای مدیریت پروسس websocket به عنوان یک دیمون سیستم، یک فایل سرویس init در مسیر /etc/init.d/ با محتوای زیر بسازید.
محتوای زیر را به آن اضافه کنید.
9. بعد از ایجاد فایل، مجوز های اجرایی را به آن بدهید و پروسس را با سوئیچ های start و stop مدیریت کنید.
10. اگر فایروالتان فعال است فایل فایروال /etc/sysconfig/iptables را ادیت کنید و پورتی که توسط websocketd استفاده می شود را باز کنید تا بتواند با بیرون در ارتباط باشد.
اگر شما پورت 8080 را استفاده می کنید مانند این آموزش ، خط زیر را به فایل iptables بعد از رولی که پورت 22 را باز می کند اضافه کنید.
11. در انتها پروسس iptables را restart کنید تا رول جدید اعمال شود.
مرورگر را باز کنید و url زیر را وارد کنید تا نمودارهای آماری سیستم vmstat را مشاهده کنید.
12. برای نمایش نام، ورژن و جزئیات دیگر در مورد ماشین تان و سیستم عاملتان به مسیر فایلهای web-vmstat بروید و دستورات زیر را اجرا کنید.
13. بعد فایل index.html را باز کنید و کد جاوا اسکریپت زیر را قبل از خط <main id=”charts”> اضافه کنید.
از کد جاوا اسکریپت زیر استفاده کنید.
14. برای دیدن نتیجه نهایی صفحه وب http://system_IP:8080 را رفرش کنید و شما باید اطلاعات وآمارها در باره ماشین تان را مانند اسکرین شات زیر ببینید.
من یک ویدیو از کارکرد برنامه در سیستم Gentoo تهیه کرده ام.
دانلود بخش اول ویدیو : web vnstats.part1.rar
دانلود بخش دوم ویدیو : web vnstats.part2.rar
پیش نیازها
در یک سیستم لینوکس ابزارهای زیر باید نصب شده باشند.
- Wget برای دانلود فایل ها با استفاده از پروتکل های HTTP ،HTTPS و FTP
- یک ویرایشگر متن مانند nano یا vi
- دستور unzip برای اکسترکت کردن فایل های فشرده (Archive Files)
در این آموزش نحوه نصب Web-Vmstat را بر روی CentOS 6.5 خواهیم دید، البته این پروسه برای تمام توزیع های لینوکس قابل اجراست، فقط اسکریپت های init متفاوت است (اختیاری)، که به شما کمک می کند به آسانی کل پروسس را مدیریت کنید.
همچنین توصیه میشود مطالعه کنید :
دستور top در لینوکس به همراه 12 مثال عملی
نحوه نصب atop برای مانیتور کردن فعالیت های لاگین و پروسس های سیستم لینوکس
دستور Glances برای مانیتورینگ Real Time پیشرفته در لینوکس
دستور nmon در لینوکس برای مانیتور کردن ram ،cpu ،disk ،network ،nfs ،file system ،kernel
نحوه نصب Iotop در RHEL - CentOS و Fedora برای مانیتور کردن I/O هارد دیسک
Netdata ابزاری برای مانیتور کردن کارایی سرور به صورت لحظه ای در لینوکسی
ابزار iftop (مانیتورینگ پهنای باند) در سیستم های RHEL / CentOS / Fedora
ابزار nload برای مانیتور میزان استفاده پهنای باند شبکه به صورت لحظه ای در لینوکس
گام اول : نصب Web-Vmstat
1. قبل از شروع نصب web-vmstat اطمینان حاصل کنید که دستورات مورد نیاز بالا بر روی سیستم تان نصب شده اند. شما می توانید از مدیریت بسته ها مانند yum یا apt-get و دستورات دیگر برای نصب آنها استفاده کنید. برای مثال، در سیستم centos، ما از دستور yum برای نصب استفاده می کنیم.
کد:
# yum install wget nano unzip
2. حالا به وب سایت رسمی web-vmstat بروید و آخرین ورژن را با زدن دکمه Download ZIP یا با استفاده از wget از کامند لاین دانلود کنید.
کد:
# wget https://github.com/joewalnes/web-vmstats/archive/master.zip
3. ارشیو master.zip دانلود شده را با استفاده از ابزار unzip ،extract کرده و وارد فولدر extract شده بشوید.
کد:
# unzip master.zip # cd web-vmstats-master
4. فولدر وب فایلهای جاوا و html مورد نیاز برای اجرای برنامه در محیط وب را نگه داری می کند. یک فولدر بسازید و تمام فایل های وب را که می خواهید میزبانی کنید به آن پوشه منتقل کنید.
در این آموزش از مسیر /opt/web_vmstats/ برای میزبانی فایلهای وب استفاده می کنیم، اما شما می توانید هر مسیری را که دوست دارید در سیستم خودتان بسازید، فقط مسیر واقعی وب را حفظ کنید.
کد:
# mkdir /opt/web_vmstats # cp -r web/* /opt/web_vmstats/
5. گام بعدی دانلود و نصب برنامه websocketd streaming هست. به صفحه رسمی WebSocket بروید و پکیج ای که با معماری سیستم شما جور است را دانلود کنید (Linux 64-bit, 32-bit or ARM) .
در سیستم های 32 بیتی
کد:
# wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_386.zip
کد:
# wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_amd64.zip
6. با دستور unzip آرشیو WebSocket را extract کنید و باینری websocketd را در مسیر اجرایی سیستم کپی کنید تا قابل دسترسی بشود.
کد:
# unzip websocketd-0.2.9-linux_amd64.zip # cp websocketd /usr/local/bin/
7. حالا شما با استفاده از دستور زیر اجرای websocketd را تست کنید.
کد:
# websocketd --port=8080 --staticdir=/opt/web_vmstats/ /usr/bin/vmstat -n 1
- -port=8080 : یک شماره پورت برای اتصال به پروتکل HTTP – شما می توانید از هر پورتی استفاده کنید.
- –staticdir=/opt/web_vmstats/ : مسیری که فایل های وب web-vmstat میزبانی می شوند.
- /usr/bin/vmstat -n 1 : دستورvmstat لینوکس که وضعیتش را هر ثانیه آپدیت می کند.
گام دوم : ایجاد فایل init
8. این گام اختیاری است و فقط با سیستم هایی که اسکریپت init را ساپورت می کنند کار می کند. برای مدیریت پروسس websocket به عنوان یک دیمون سیستم، یک فایل سرویس init در مسیر /etc/init.d/ با محتوای زیر بسازید.
کد:
# nano /etc/init.d/web-vmstats
کد:
#!/bin/sh # source function library . /etc/rc.d/init.d/functions start() { echo "Starting webvmstats process..." /usr/local/bin/websocketd --port=8080 --staticdir=/opt/web_vmstats/ /usr/bin/vmstat -n 1 & } stop() { echo "Stopping webvmstats process..." killall websocketd } case "$1" in start) start ;; stop) stop ;; *) echo "Usage: stop start" ;; esac
9. بعد از ایجاد فایل، مجوز های اجرایی را به آن بدهید و پروسس را با سوئیچ های start و stop مدیریت کنید.
کد:
# chmod +x /etc/init.d/web-vmstats # /etc/init.d/web-vmstats start
10. اگر فایروالتان فعال است فایل فایروال /etc/sysconfig/iptables را ادیت کنید و پورتی که توسط websocketd استفاده می شود را باز کنید تا بتواند با بیرون در ارتباط باشد.
کد:
# nano /etc/sysconfig/iptables
کد:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
11. در انتها پروسس iptables را restart کنید تا رول جدید اعمال شود.
کد:
# service iptables restart # service web-vmstats start
کد:
http://system_IP:8080
12. برای نمایش نام، ورژن و جزئیات دیگر در مورد ماشین تان و سیستم عاملتان به مسیر فایلهای web-vmstat بروید و دستورات زیر را اجرا کنید.
کد:
# cd /opt/web_vmstats # cat /etc/issue.net | head -1 > version.txt # cat /proc/version >> version.txt
13. بعد فایل index.html را باز کنید و کد جاوا اسکریپت زیر را قبل از خط <main id=”charts”> اضافه کنید.
کد:
# nano index.html
کد:
<div align='center'><h3><pre id="contents"></pre></h3></div> <script> function populatePre(url) { var xhr = new XMLHttpRequest(); xhr.onload = function () { document.getElementById('contents').textContent = this.responseText; }; xhr.open('GET', url); xhr.send(); } populatePre('version.txt'); </script>
14. برای دیدن نتیجه نهایی صفحه وب http://system_IP:8080 را رفرش کنید و شما باید اطلاعات وآمارها در باره ماشین تان را مانند اسکرین شات زیر ببینید.