افزایش قابلیت های Traefik با Pilot

همونطور که در پست های قبلی در مورد Traefik نوشتم ٬ یک reverse proxy و load balancer مدرن و کامل داریم که میتونه خیلی از کارهامون رو ساده و سریع کنه. در این پست به بررسی ابزاری جهت مانیتورینگ و افزایش قابلیت های اون می پردازیم.

افزایش قابلیت های Traefik با Pilot

یکی از جدیدترین محصولات Traefik به نام Pilot مدتی هست که منتشر شده و در واقع یک پلتفرم software-as-a-service (SaaS) بوده و به شما اجازه میده قابلیت های خیلی عالی به Traefik اضافه کنید.

Pilot قابلیت های کنترلی و نظارتی گسترده ای به Traefik اضافه میکنه و باعث میشه از راه دور و در یک داشبورد جامع تمام نسخه های اجرا شده ی شما مدیریت بشه.

مانیتورینگ

یکی از مهمترین ویژگی هایی که Pilot در اختیار شما میذاره مانیتورینگ تمام Instance های شماست. در بازه های روزانه ٬ هفتگی و ماهیانه گزینه های زیر مانیتور میشه :

  • نرخ تعداد درخواست بر ثانیه
  • تعداد کل درخواست ها
  • میانگین زمان درخواست ها
  • تعداد اتصالات فعال به سرور

البته این تنها راه مانیتور کردن نیست و اگر قبلا با Traefik کار کرده باشید اطلاع دارید که Prometheus هم یکی از گزینه هاست.

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

یا در مواردی دیگر اگر مشکلی امنیتی در Traefik یا منابع اون وجود داشته باشه در اولین فرصت مشکل به شما گزارش داده میشه تا اون رو برطرف کنید.

پلاگین ها

و اما مفید ترین قابلیت Pilot توسعه ویژگی های Traefik با استفاده از پلاگین های مختلفه. از مواردی که Traefik رو متمایز میکنه امکان استفاده و تعریف Middleware های مختلفه. برای مثال با استفاده از middleware ها میتونید درخواست ها و header اون ها رو ویرایش کنید ٬ redirect انجام بدید و اعتبارسنجی های مورد نظرتون رو پیاده سازی کنید.

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

اینجا Pilot نقش یک gateway به اکوسیستم پلاگین های روی سرور ایفا میکنه و میتونید از لیست پلاگین های آماده استفاده کنید یا خودتون اون ها رو به وجود بیارید.

نصب و راه اندازی

بر خلاف چیزی که تا الان بهش فکر کردید ٬ استفاده از Pilot اصلا روند سخت و پیچیده ای نداره.

ابتدا با مراجعه به آدرس pilot.traefik.io یک حساب کاربری برای خودتون بسازید.

در صفحه پیشفرض داشبورد روی دکمه Register New Traefik Instance کلیک کرده تا یک Instance جدید اضافه کنید.

در اینجا به شما یک توکن اختصاصی داده میشه که باید از اون در تنظیمات Traefik خودتون استفاده کنید. بسته به روش نصب ٬ راه های مختلف هم برای شما آورده شده. فقط کافیه تا این توکن رو با استفاده از کلید polit.token در تنظیمات خودتون قرار بدید و Traefik را مجدد راه اندازی کنید.

توجه کنید که Pilot فقط روی نسخه های 2.3 به بعد کار میکنه

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

ویژگی جالب و کاربردی که Pilot به شما میده اینه که حتما لازم نیست به داشبورد خود Pilot برید تا اطلاعات رو مشاهده کنید ٬ بلکه از داشبورد خود Traefik هم میتونید به تمام این داده ها دسترسی داشته باشید :

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

ایمیل ارسال شده هنگام شناسایی یک مشکل امنیتی
ایمیل ارسال شده هنگام قطع دسترسی به سرور

همچنین با مراجعه به تب Plugins لیستی از مواردی که در حال حاضر موجوده مشاهده می کنید :

لیست پلاگین های حال حاضر

موارد زیادی نیست ولی همین ها هم اکثر گزینه های ضروری رو پوشش میده. اگر هم چیزی مناسب نیازتون پیدا نکردید همیشه میتونید پلاگین های خودتون رو بنویسید. برای این کار به این لینک مراجعه کنید. همچنین یک دمو از پلاگین نمونه موجوده که در این ریپازیتوری در اختیار شماست :

traefik/plugindemo
A Traefik demo plugin. Contribute to traefik/plugindemo development by creating an account on GitHub.

بدون شک Traefik یکی از بهترین ابزار های حوزه DevOps که بسیاری از کارها رو برای ما ساده میکنه. با قابلیت های متعددی که در اختیار ما میذاره و سرویس های جانبی مانند Pilot فضای چندانی برای رقابت باقی نذاشته. پیشنهاد میکنم در اولین فرصت اون رو امتحان کنید و جاگزین باقی موارد قرارش بدید.