بیگ بلو باتن (BigBlueButton) یک سیستم آموزش مجازی قدرتمند و متن باز است که همیشه در کنار کلاس های ادوبی کانکت، مورد توجه فراوان بوده است. از زمان شروع محدودیت های مربوط به کرونا، استفاده از بیگ بلو باتن توسط مدارس، دانشگاه ها و موسسات آموزش عالی، بیش از پیش رواج پیدا کرده است. البته ویژگی های بیگ بلو باتن محدود به کلاس های مجازی نبوده و از این سیستم به عنوان میزبانی برای برگزاری کنفرانس های مجازی هم بسیار استفاده می شود. با توجه به اینکه این سرویس روی سیستم عامل لینوکس کار می کند، نصب و پشتیبانی آن از اهمیت زیادی برخوردار است. همچنین سرور بیگ بلو باتن باید در دیتاسنترهای پرسرعت و سخت افزار اختصاصی میزبانی شود تا هنگام برقراری کنفرانس و کلاس مجازی با کاهش کیفیت روبرو نشوید.

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

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

 

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

 

پشتیبانی بیگ بلو باتن

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

 

ظرفیت بیگ بلو باتن

تعداد کاربران همزمان پشتیبانی شده در بیگ بلو باتن بستگی به منابع سرور مجازی (مانند سی پی یو، رم و پهنای باند) و همچنین اشتراکی یا اختصاصی بودن آن سرور دارد. توصیه ما این است که برای بیگ بلو باتن حتما از VDS یا سرور مجازی اختصاصی شرکت پیشگامان استفاده کنید و سراغ VPS یا سرور مجازی اشتراکی نروید. گرچه ظرفیت بیگ بلو باتن به تعداد کاربرانی که وبکم یا میکروفن خود را روشن کرده اند بستگی دارد، اما با استفاده معقول، یک سرور مجازی اختصاصی می تواند تا ۴۰۰ کاربر همزمان را ساپورت کند.

 

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

 

نصب و کانفیگ بیگ بلو باتن روی سرور خودتان

در صورتی که از قبل سرور خود را تهیه نموده اید یا موسسه شما دارای سرور محلی در مکان خودتان است، می توانید برای نصب، راه اندازی، بهینه سازی و کانفیگ https یا گواهینامه ssl اختصاصی بیگ بلو باتن با ما تماس بگیرید.

 

برگزاری سمینارهای مجازی

بصورت پیش فرض هر کلاس بیگ بلو باتن دارای محدودیت ۱۰۰ نفری است، اما شرکت پیشگامان برای برگزاری سمینارهای چند هزار نفره شما نیز راهکار دارد. با استفاده از خدمات بیگ بلو باتن پیشگامان، شما می توانید سمینارهای میزبانی شده خود را روی سرویس های پخش ویدیو مانند یوتوب و آپارات بصورت زنده برادکست یا پخش کنید. استفاده از این سرویس الزاما به معنی عمومی بودن سمینار شما نیست؛ با استفاده از یوتوب و آپارات میتوانید سمینارهای خود را به صورت خصوصی و فقط برای کاربرانی که رویداد شما را ثبت نام کرده اند استریم کنید.

 

هزینه سرور بیگ بلو باتن

هزینه های مربوط به سرور Big Blue Button شامل: اجاره ماهیانه سرور مجازی اختصاصی، هزینه نصب بیگ بلو باتن و همچنین هزینه کلاستربندی و نصب لودبالنسر Load Balancer (درصورت وجود) می باشد. برای اطلاع از قیمت ها و همچنین مشاوره برای انتخاب سرویسی که پاسخگوی نیازهای شما باشد با شرکت پیشگامان تماس گرفته تا کارشناسان ما شما را راهنمایی کنند.

تلفن های شرکت:

۰۲۱-۹۱۳۰۷۹۸۹

۰۵۱-۳۷۶۶۵۸۰۴

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

روش توسعه به صورت اجایل (Agile) یکی از مهم ترین متدولوژی‌هایی است که در دهه های اخیر به علم مهندسی نرم افزار اضافه شده است. هرچند که همه بر سر جزئیات این روش توافق ندارند اما در هر صورت تاثیر مثبتی که استفاده از آن بر تیم‌های نرم‌افزاری داشته است قابل انکار نیست.

 

شباهت ویژگی‌های گیت لب با سیستم مدیریت اجایل (Agile)

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

نگاشت مشخصه‌های مدیریت نرم افزار اجایل به ویژگی‌های گیت‌لب

مشخصه‌های روش اجایل ویژگی‌های گیت‌لب
داستان مشتری Issues
وظایف (Tasks) لیست تسک‌ها
اپیک (Epic) اپیک‌ها
نقاط و حدس‌ها وزن‌
بک‌لاگ محصول لیست ایشوها و برچسب‌ها
اسپرینت (Sprint) نقاط milestone
چارت burndown چارت burndown
برد چابک برد ایشوها

 

یک تکرار چابک با استفاده از گیت‌لب

 

داستان کاربر – ایشوهای گیت‌لب

در روش چابک، به طور معمول با استفاده از داستان کاربر یک ویژگی واحد را بیان می‌کنیم که ارزش کسب و کار را برای کاربران ارائه می‌دهد. در گیت‌لب یک ایشو ساده در یک پروژه به این هدف کمک می‌کند.

 

تسک‌ها – لیست تسک‌ها در گیت‌لب

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

 

اپیک‌ها – اپیک‌های گیت‌لب

از جهات دیگر، برخی متخصصان روش چابک از یک انتزاع برای داستان‌های کاربر (user story) استفاده می‌کنند که اغلب تحت عنوان epic شناخته می‌شوند که نشان‌دهنده جریانی بزرگ‌تر و متشکل از چندین ویژگی است. در گیت‌لب یک اپیک شامل عنوان و شرحی است که از خیلی جهات شبیه یک issue‌ است. اما به شما این اجازه را می‌دهد که چندین موضوع را به آن و به عنوان child‌ ضمیمه کنید تا این سلسله مراتب را نشان دهد.

ایشو در گیت لب

 

بک لاگ (Backlog) محصولات – لیست ایشوهای گیت‌لب و برچسب‌های اولویت

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

 

اسپرینت‌ها – مایل‌استون‌های گیت‌لب

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

ویژگی مایل استون‌های گیت لب از این مسئله پشتیبانی می‌کنند: برای هر کدام از نقاط عطف (milestones) یک تاریخ شروع و یک تاریخ پایان اختصاص دهید تا دوره زمانی اسپرینت شما ثبت شود. سپس تیم شما ایشوهای مختلف برای آن اسپرینت را ثبت کرده و آن‌ها را به مایل‌استون‌های مشخص تخصیص می‌دهد.

 

نقاط و تخمین‌ها – وزن ایشوهای گیت‌لب

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

 

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

 

برد اجایل – برد ایشوهای گیت‌لب

در طول هر اسپرینت، ایشوها در مراحل مختلفی جا به جا می‌شوند. بعضی از این مراحل شامل: آماده برای توسعه (ready for dev)، در حال توسعه (In dev)، In QA، In review و Done نام دارند. معمولا این‌ها ستون‌های برد در روش اجایل هستند. در گیت‌لب، برد ایشوها به شما این امکان را می‌دهد که مراحل مختلف یک پروژه را مشخص کنید و ایشوها را بین أن‌ها جابجا کنید. تیم نرم افزار میتواند برد گیت‌لب را براساس مایلستون () تنظیم کرده و در جلسات روزانه‌ی خود از نظر جریان کار، وضعیت اسپرینت را رصد کنند.

برد ایشوها در گیت لب

 

چارت burndown – چارت burndown گیت‌لب

تیم توسعه بایستی این امکان را داشته باشند که به صورت real-time از میزان پیشروی خود در برنامه با خبر باشند و میزان ریسک خود را هم‌زمان با پیشرفت پروژه اندازه بگیرند. گیت لب از چارت‌های burndown پشتیبانی می‌کند که به تیم‌ها این امکان را می‌دهد که هم‌زمان با پیشرفت کار آن را به صورت تصویرسازی شده ببینند.

در پایان اسپرینت، تیم توسعه ویژگی‌های پروژه را به صورت دمو به سهام‌داران نشان می‌دهد. در گیت‌لب این پروسه با استفاده از یک سری Review apps ساده‌سازی شده است که حتی کد پروژه ای که هنوز به مرحله تولید نرسیده و در محیط تست قرار دارد بتواند به صورت دمو نشان داده شود. Review apps و ویژگی‌های CI/Cd با استفاده از درخواست‌های merge یکپارچه می‌شوند. هم‌چنین از ابزارهای مشابه برای QA استفاده می‌شود تا کیفیت نرم افزار نیز حفظ شود. برای این اقدام نیز از تست اتومات توسط CI/Cd و یا تست دستی در محیط Review App استفاده می‌شود.

چارت burndown در اجایل

 

بازنگری و تجربیات تیم در پایان اسپرینت می‌تواند در یک wiki‌ مستندسازی شود. تا بتوانیم اقدامات انجام شده و یا مواردی که در طول پروژه یاد گرفته‌ایم را در طول زمان دنبال کنیم. در طول بازنگری، تیم می‌تواند به صفحه مایل‌استون‌ها مراجعه کرده و چارت burndown و دیگر چارت‌های کامل شده و آمارهای مربوط به هر اسپرینت را مرور کند.

یکی از نقاط قوت لینوکس رویکردی است که نسبت به شبکه دارد که این موضوع عمدتا به خاطر میراثی است که از یونیکس به ارث برده است. به همین دلیل لینوکس سیستم عامل انتخابی  ما به عنوان سرور است.

اصلی ترین راه حل برای دسترسی به یک سرور لینوکسی از طریق SSH یا همان Secure Shell‌ است. هر دو راه حل مفید و امن هستند ولی مشکل اینجا است که هر دو قبل از دوره ای که فناوری وایفای و سلولار متداول بشوند طراحی شده اند. در نتیجه اگر به وایفای دیگری وصل شوید یا سیستم‌تان sleep شود، اتصال‌تان به سرور قطع خواهد شد.

 

Mosh و Tmux چیست؟

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

Mosh ابزاری است با این قابلیت که SSH را از تغییرات شبکه آگاه کند و Tmux به ترمینال شما اجازه می‌دهد که یک شل را بین لاگین‌های مختلف نگه دارید یا حتی آن را به اشتراک بگذارید.

برای معرفی از Mosh شروع کنیم. Mosh یه پروژه متن باز است که باعث میشود SSH بر روی رومینگ و اتصالات متناوب کار کند. با استفاده از Mosh شما می‌توانید کامپیوتر خود را از یک شبکه سیمی به یک شبکه بی سیم تغییر دهید و اتصال‌تون بر قرار خواهد ماند؛ حتی این امکان وجود داره که لپتاپ‌تون رو در حالی که به شبکه متصل هست در حالت sleep قرار بدید و وقتی که دوباره به شبکه متصل می‌شود، خواهید توانست از ترمینال استفاده کنید. اگر اتصال به شبکه را از دست بدهید Mosh به شما اطلاع خواهد داد. هم‌چنین اگر سرور به آرامی پاسخ می‌دهد، mosh تا زمانی که اتصال بهبود پیدا کند، دستوراتی که تایپ می‌کنید را برای‌تان به نوعی ذخیره میکند.

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

 

نصب Mosh روی لینوکس

برای مثال، برای نصب روی اوبونتو طبق دستورهای زیر عمل می‌کنیم:

Sudo apt install mosh

البته سرور نیز بایستی Mosh server را نصب داشته باشد. مزیتی که در اینجا داریم این است که برای نصب می‌توان از حالت یوزر نیز استفاده کرد و لزومی برای روت بودن وجود ندارد.

 

استفاده از Mosh

وقتی که می‌خواهید به سرور وصل شوید کافی است دستور زیر را تایپ کنید:

mosh username@server

واضح است که در دستور بالا به جای یوزرنیم، یوزر خودتان و به جای سرور اسم ماشینی که می‌خواهید به آن متصل شوید را وارد می‌کنید. اگر همه چیز درست کار کند شما به مانند گذشته یک session ریموتی به وسیله ترمینال دارید که با SSH کار می‌کند. همه چیز مثل گذشته کار می‌کند با این تفاوت که اتصال شما قابل اطمینان تر است.

نصب و استفاده از Tmux

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

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

Tmux راه حلی برای این مشکلات است. تی‌ماکس به عنوان یک مالتیپلکسر ترمینال عمل کرده و به شما اجازه می‌دهد تا در یک پنجره چندین ترمینال اجرا کنید. دقیقا مثل یک تب جدید برای ترمینال ولی بسیار منعطف تر.

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

نصب Tmux بسیار آسان است. برای مثال برای نصب روی اوبونتو کافی است طبق زیر عمل کنیم:

Sudo apt install tmux

وقتی که تی‌ماکس نصب شد تنها با دستور زیر آن را اجرا می‌کنیم:

tmux

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

برای مثال یکی از ویژگی‌های جالبی که تی ماکس ارائه می‌دهد امکان ترک session و بازگشت دوباره به آن است. برای این کار کافی است کلید ctrl+D را بزنید و برای بازگشت دوباره کافی است از دستور tmux attach استفاده کنید و می‌بینید که دوباره به همان session بازگشته اید.

ویژگی بالا این امکان را می‌دهد که تا زمانی که سرور ما روشن است session نیز همراه آن باشد و از بین نرود.

 

ترکیب Mosh‌ و Tmux

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

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

ترکیب این دو با یکدیگر،‌ به ما بیشترین توان قابل اطمینان بودن و منعطف بودن در یک کانکشن ریموتی را خواهد داد.

همانطور که شما هم حدس میزنید، ابزارهای نظارت بر سرور گران هستند و یا امکان شخصی سازی ندارند،
ما در این مقاله یکی از مدعیان اصلی مانیتورینگ سرور را به شما معرفی میکنیم که Zabbix نام دارد.

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

برخی از اصول اولیه که قبل از نصب بایستی بدانید :

۳ ابزار اصلی برای zabibx وجود دارند :
۱- سرور zabbix
۲- zabbix agent
۳- رابط وب zabbix
سرور زبیکس در‌واقع همان ابزاری است که اطلاعات مربوطه ای که شما میخواهید را از سرور اصلی جمع آوری و نظارت میکند.
سروری که میخواهید مانیتور کنید agent نام دارد، شما همچنین میتوانید بدون رابط وب zabbxi عمل مانیتورینگ را انجام دهید ولی ما توصیه میکنیم از رابط وب نیز استفاده کنید چرا که تجربه بهتری به شما میدهد.

اگر میخواهید قبل از نصب محیط کاربری zabbix را ببینید نیز این امکان فراهم است
با مراجعه به https://zabbix.org/zabbix/index.php این آدرس میتوانید بدون داشتن اکانت محیط مانیتورینگ را دیده و قسمت‌های مربوط به گزارش‌ها را نیز مشاهده کنید.

نصب:

 

در مورد نصب به ترتیب zabbix server ، zabbix agent و اضافه کردن هاست به سرور را در مقاله‌ای جدا بررسی خواهیم کرد،

باید بدانید که به طور پیش‌فرض رابط وب zabbix از آپاچی استفاده میکند، اگر میخواهید به جای آن از Nginx استفاده کنید باید تنظیماتی را به Nginx خود اضافه کنید که در ادامه خواهیم دید.

 

معرفی مختصر:

 

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

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

زبیکس هاست :
هاست سروری است که شما میخواهید مانیتور کنید، بنابراین اگر میخواهید ۳ سرور مختلف را مانیتور کنید
زبیکس ایجنت را بر روی تمام آن‌ها نصب میکنید.

قالب لینوکسی :

این قالب به طور پیش‌فرض با نصب زبیکس همراه است و بیشتر پارامترهای عمومی را ارائه میدهد مانند :
درصد استفاده از cpu و ram ، این قالب از قبل پیکربندی شده است و شما نیاز به تنظیمات خاص دیگری بر روی آن ندارید.

 

اشکال یابی:

 

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

بر روی سروری که از آن مانیتورینگ انجام می‌شود دستور زیر را اجرا کنید:

telnet ip-of-your-agent 10050

و سپس :

zabbix_get -s ip-of-your-agent -k agent.hostname

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

در پیکربندی اصلی سرور مانیتورینگ شما درخواست داده میکند، بنابراین اگر سرور شما میتواند به agent کانکت شود همه چیز درست عمل میکند.
اما اگر از حالت active agent استفاده میکنید باید اطمینان حاصل کنید که agent شما میتواند به سرور مانیتور متصل شود ومیتواند داده‌ها را push کند.

دستور زیر را اجرا کنید :
telnet ip-of-your-server 10050

با اجرای دستور بعدی zabbix-sender را نصب کنید :

sudo apt-get install zabbix-sender

سپس دستور زیر :

zabbix_sender -vv -z [serverIp] -p 10051 -s [clientName] -k traptest -o "Test value"

در پیکربندی agent configuration توجه داشته باشید که تمام داده‌هایی که به سرور منتقل می‌شوند باید از نوع Trapper باشند. بنابراین در مثال بالا باید یک آیتم از نوع trapper بر روی سرور با کلید trapest ایجاد کنید و همچنین اطمینان حاصل کنید که داده‌هایی که ارسال میکنید از نوع مشخص شده در هنگام ایجاد آیتم بر روی سرور است.

 

گزارشات:

 

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

 

اعلان ها‌:

 

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

 

تجربه شما از استفاده از zabbix چگونه بوده است؟

آیا از ابزارهای مانیتورینگ برای سرور خود استفاده میکنید؟

تجربه خود را با ما به اشتراک بگذارید.

یکی از معیارهای مهم سایت‌ها، سرعت بارگذاری آن‌ها است. سرعت وبسایت نه تنها باعث رضایت بازدیدکنندگان از سایت می‌شود، بلکه به صورت مستقیم روی سئو سایت و رتبه سایت در موتورهای جستجو تاثیر می‌گذارد. یکی از روش‌هایی که تاثیر به سزایی در افزایش سرعت سایت دارد، پیاده‌سازی سیستم کش (cache) است. با توجه به استفاده فراوان از سایت‌های وردپرس (wordpress)، افزونه‌های زیادی برای کش کردن سایت وجود دارند. گرچه نصب افزونه‌های کش بسیار راحت بوده، اما کارایی آن در مقابل سیستم کش ngnix به مراتب پایین‌تر است.

اگر سایت شما دیر لود می‌شود و TTFB (time to first byte) بالایی دارد، استفاده از سیستم کش nginx تاثیر زیادی روی افزایش سرعت سایت وردپرس شما خواهد داشت. TTFB به معنای زمان دریافت اولین بایت از سرور است و گاها تا چند ثانیه طول کشیده و سایت شما را کند می‌کند. با نصب و پیکربندی سیستم کش، این زمان تا کمتر از ۳۰۰ میلی ثانیه کاهش پیدا می‌کند. در صورتی که سرور شما به میزان کافی حافظه رم دارد، می‌توانید با انتقال فضای کش از هارد به رم،‌ سرعت سایت خود را بیش از پیش افزایش دهید. استفاده از nginx cache در کنار php-fpm ترکیبی بسیار پرسرعت برای سایت شما خواهد بود.

اولین مرحله در کانفیک کش nginx (که از FastCGI استفاده می‌کند)‌، اضافه کردن کدهای زیر به به قسمت http در فایل nginx.conf است. این فایل معمولا در آدرس زیر قرار دارد.

vim /etc/nginx/nginx.conf

fastcgi_cache_path /etc/nginx-cache levels=1:2 keys_zone=phpcache:100m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";

در این تنظیمات، phpcache اسم key zone و 100m بیانگر میزان فضای اختصاص یافته به حافظه کش (به مگابایت) است. 60m هم مدت زمانی است که در صورت عدم تقاضای داده، آن‌ها از کش پاک می‌شوند. همچنین /etc/nginx-cache هم نشان‌دهنده محل ذخیره سازی فایل‌های کش nginx است.

مابقی تنظیمات باید در فایل nginx مربوط به سایت انجام شود.‍

vim /etc/nginx/sites-enabled/default

location ~ [^/]\.php(/|$) {
fastcgi_cache phpcache;
fastcgi_cache_valid 200 30m;
fastcgi_cache_methods GET HEAD;
add_header X-Fastcgi-Cache $upstream_cache_status;
}

در این مرحله می‌توانید سرویس nginx را ریستارت کنید. فراموش نکنید که قبل از آن حتما تنظیمات nginx را چک کنید.

nginx -t
service nginx restart

حالا سیستم کش سایت شما فعال شده و باید افزایش سرعت سایت را به طور محسوس ببینید. در سایت مورد بررسی شرکت پیشگامان، میانگین TTFB (یا همان Server response time) از بیش از ۵ ثانیه به کمتر از ۵۰۰ میلی ثانیه کاهش پیدا کرد و امتیاز سرعت سایت در ابزار سنجش سرعت سایت گوگل (PageSpeed Insights) از ۴۰ به ۸۶ افزایش داشت.

سیستم پیاده سازی شده فایل‌های کش را روی هارد دیسک ذخیره می‌کند. در صورتی که از SSD یا NVMe استفاده می‌کنید کارایی بالاتری خواهید داشت. در هر صورت استفاده از حافظه رم کارایی به مراتب بالاتری خواهد داشت. برای انتقال حافظه کش nginx به رم، کافی است خط زیر را به fstab اضافه کرده، فایل را ذخیره کرده و آن را مونت کنید.

vim /etc/fstab

tmpfs /etc/nginx/cache tmpfs defaults,size=100M 0 0

mount -a

برای مشاهده میزان استفاده از فضای تخصیص یافته به سیستم کشینگ سایت، از این دستور استفاده کنید:

df -h

به خاطر داشته باشید که در صورت استفاده از حافظه رم برای ذخیره سازی کش وبسایت، اگر سرور ریست شود حافظه کش نیز پاک شده و مجددا صفحات سایت کش خواهند شد. در صورت نیاز به پاک کردن دستی کش nginx هم می‌توانید وارد دایرکتوری کش سایت شده و فایل‌ها را پاک کنید.

برای چندین سال، احراز هویت دو مرحله‌ای به عنوان مهم‌‌ترین توصیه در امنیت فضای مجازی اشخاص به شمار می‌رفت، ابزاری که شرکت‌های فناوری اطلاعات دیر به اهمیت آن پی بردندالبته بعد از هک شدن حساب‌های توییتر، آمازون و اپل «مت هونان» در سال2012 [1]، جنبشی برای استفاده از این شیوه‌ی احراز هویت شکل گرفتدر آن زمان تعداد اندکی از شرکت‌های فناوری اطلاعات احراز هویت دو مرحله‌ای را ارائه می‌کردنددر نتیجه، کارزار عمومی بزرگی شکل گرفت که شرکت‌ها را مجبور به پیاده‌سازی احراز هویت دو مرحله‌ای برای جلوگیری از سرقت حساب کاربران می‌کرد.

پنج سال از آن زمان می‌گذرد و به نظر می‌رسد پیاده‌سازی نسبتا گسترده‌ی احراز هویت دو مرحله‌ای، از توجه به آن کاسته باشدتقریبا تمام سرویس‌دهنده‌های بزرگ فضای مجازی، نوعی از احراز هویت دو مرحله‌ای را ارائه می‌کنند اما انواع مختلف آن، تفاوت‌های زیادی در نحوه‌ی محافظت از حساب‌های افراد دارندهکرهای مستعد مشکل چندانی برای دورزدن پیاده‌سازی‌های ضعیف احراز هویت دو مرحله‌ای ندارند؛ چراکه رویکرد شرکت‌ها به این نوع احراز هویت، مانند قرص آسپرین بوده است (راه حلی ساده، یکپارچه و چند‌منظوره برای حل اکثر مشکلات امنیتی!) ولی واقعیت پیچیده‌تر از این استگرچه چارچوب کلی این ویژگی هنوز امنیت مناسبی را ارائه می‌کند اما زمان آن رسیده که نسبت به محدودیت‌های آن واقع‌بین باشیمدر سال 2017، فقط داشتن احراز هویت دو مرحله‌ای کافی نیست.

در پنج سال گذشته، بیشترین تمرکز کارزار احراز هویت دو مرحله‌ای، سایت twofactorauth.org بوده استهدف این سایت رسواسازی سایت‌ها و محصولاتی است که از این نوع احراز هویت استفاده نمی‌کننداین سایت با معرفی شرکت‌هایی که احراز هویت دو مرحله‌ای ندارند، راه ساده‌ای برای کاربران فراهم می‌کند تا با ارسال توییت به این شرکت‌ها، از خجالتشان دربیاینداین سایت روزی چند صد هزار توییت برای خوار کردن این شرکت‌ها می‌فرستدبه نظر می‌رسد این کارزار جواب داده باشدتقریبا تمام شرکت‌ها نوعی از احراز هویت دو مرحله‌ای را ارائه می‌دهندشرکت‌هایی مثل آمازون و بیت باکت هم اخیرا خود را با این احراز هویت وفق دادند اما نتفلیکس شاید بزرگ‌ترین شرکتی باشد که هنوز در مقابل آن مقاومت می‌کندهمینطور تنها سرویس‌های ایمیل گمنام مثل میگادو وmail.com احراز هویت دو مرحله‌ای ندارندبخش‌هایی مثل شرکت‌های هواپیمایی و بانک‌ها هم ممکن است از قافله عقب باشند اما اکثر شرکت‌ها پیام کاربران را گرفته‌اند: «اگر احراز هویت دو مرحله‌ای ندارید، از سرویس دیگری استفاده می‌کنیم».

اما پیروزی کمی آشفته‌تر از آنیست که کسی گمان می‌کردده‌ها نوع مختلف از احراز هویت دو مرحله‌ای وجود دارد که امکان لیست کردن همه‌ی آن‌ها در این مطلب نیستبعضی از سرویس‌ها از پیامک برای ارسال کد تایید استفاده می‌کنند، برخی هم از طریق ایمیل.سرویس‌هایی هم هستند که از روش‌های سخت‌تری مثل برنامه‌ی احراز هویت گوگل (Google Auth) استفاده می‌کنندهمچنین با پرداخت 18 دلار می‌توانید درایو usbمخصوصی خریداری کنید که به عنوان مرحله‌ی دوم احراز هویت شما استفاده شود؛ این شیوه بوسیله‌ی اکثر سرویس‌ها پشتیبانی شده و از امن‌ترین روش‌های موجود می‌باشد (تا زمانی که usb را گم نکنید!). جدای از روش‌های سخت‌افزاری، اکثر سرویس‌ها رمز دوم را از طریق بسترهای مخابراتی ارسال می‌کنندبا توجه به امکان رهگیری (Intercept) پیام‌ها در میان راه، بعضی از این روش‌ها امنیت پایین‌تری نسبت به بقیه روش‌ها دارنداما آنقدر تعداد این روش‌ها زیاد است که حتی کاربران ماهر از روش‌های امن‌تر اطلاع ندارند چه رسد به مشتریان عادی.

از همان ابتدا وعده‌ی امنیت احراز هویت دو مرحله‌ای در سراشیبی قرار گرفتدر سال2014 هکرها با هدف قرار دادن سرویس‌های خدماتی بیت کوین، از طریق رهگیری توکن ها و استفاده از شیوه‌های بازیابی حساب، راهی برای دورزدن مرحله دوم احراز هویت پیدا کردنددر بعضی موارد هکرها مستقیما حساب اپراتور تلفن همراه را هدف قرار داده و با فعال‌سازی سرویس هدایت تماس (Call Forwarding) توانستند رمز دوم را دریافت کنند.این حمله‌ها معضلی جدی برای کاربران بیت کوین به وجود آورد چراکه تراکنش‌های چند هزار دلاری، هکرها را ترغیب می‌کرد تا از روش‌های معمول فراتر بروندهمین ماه گذشته یکی از کاربران بیت کوین هزار دلار از طریق هک شدن حساب ورایزن (Verizon) از دست داد [2]این حملات فقط برای کاربران ماهر مشکل ساز نیست؛ ماه گذشته سایت The Intercept سندی منتشر کرد که نشان می‌داد هکرهای روس نقشه‌ای برای هدف قرار دادن حساب‌های دو مرحله‌ای مقامات انتخاباتی آمریکا داشتنددر نمونه‌ای دیگر، بنیانگذار کریپتوکت اعلام کرد که ثبت یک دستگاه آلوده به نرم‌افزار مخرب، به هکرها اجازه‌ی شکستن احراز هویت دو مرحله‌ای را می‌دهد.

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

در همین حال، خاتمه دادن به روش‌های احراز هویت دو مرحله‌ای که ناامن بودنشان محرز شده است، کار دشواری استسال گذشته سازمان ملی استاندارد و فناوری آمریکا (NIST)به علت خطر رهگیری و اسپوفینگ، پشتیبانی خود از احراز هویت پیامکی را قطع کرد؛ اما شرکت‌های فناوری در واکنش به آن بسیار کند بودند چراکه در عین امنیت پایین، استفاده از آن آسان است و تا زمانی که اسمش احراز هویت دو مرحله‌ای باشد، اکثر کاربران تفاوتش با بقیه روش‌ها را نمی‌فهمندهمینطور رویکرد اکثر شرکت‌ها در قبال احراز هویت دو مرحله‌ای، فقط برای گذاشتن علامت تیک جلوی چک لیست امنیتی شرکتشان است.

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

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

هیچ کدام از این مطالب به معنی بیهوده بودن احراز هویت دو مرحله‌ای نیست، بلکه نشان می‌دهد که این روش آن داروی همه‌کاره‌ای که متخصصین فکرش را می‌کردند نیستگرچه اضافه کردن یک کد عبور دوم باعث سخت‌تر شدن روال لاگین می‌شود، اما هکرها همیشه رویکردی جدید برای حملات خود پیدا می‌کننددرواقع نقاط ضعفی مثل بستر مخابراتی و بخش خدمات مشتری سازمان‌ها هستند که تعیین‌کننده‌ی میزان امنیت حساب کاربران هستندهمین باعث می‌شود تا انتخاب امن‌ترین برنامه کاربردی به امر بسیار دشواری تبدیل شود زیرا کشف این نقاط ضعف با بررسی ظاهری، کار غیرممکنی استبه همین دلیل پیشگامان امنیت سایبری باید از بحث احراز هویت دو مرحله‌ای فراتر رفته و روی تشخیص تهدید تمرکز کنندارزیابی اطلاعات محیطی مثل «رفتار کاربر در صفحه‌ی لاگین» یا«اطلاعات دریافتی از دستگاه یا مرورگر کاربر» می‌تواند بهترین رویکرد برای تشخیص رفتارهای مشکوک هنگام ورود به حساب کاربری باشدلذا در آینده، علاوه بر جلوگیری از نفوذ، باید روی تشخیص تهدید هم تمرکز ویژه‌ای کرد؛ به خصوص شرکت‌های بزرگی مثل فیسبوک و گوگل که علاوه بر دسترسی به اقیانوسی از اطلاعات، بخش‌های بزرگی از سازمانشان را به یادگیری ماشین و هوش مصنوعی اختصاص داده‌اند.

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

1 https://www.wired.com/2012/08/apple-amazon-mat-honan-hacking/

2 https://medium.com/@CodyBrown/how-to-lose-8k-worth-of-bitcoin-in-15-minutes-with-verizon-and-coinbase-com-ba75fb8d0bac