۳۰ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

استفاده از مانیتورینگ Prometheus مایکروسافت Azure با Kubernetes

سرویس مدیریت‌شده Azure Monitor برای Prometheus راه را برای نظارت چند خوشه‌ای در سرویس Azure Kubernetes، Kubernetes میزبان Azure Arc و استقرار Kubernetes اولیه هموار می‌کند.

سرویس مدیریت‌شده Azure Monitor برای Prometheus راه را برای نظارت چند خوشه‌ای در سرویس Azure Kubernetes، Kubernetes میزبان Azure Arc و استقرار Kubernetes اولیه هموار می‌کند.

از آنجایی که ابزارها و شیوه‌های رایانش بومی ابری بالغ می‌شوند، نیاز فزاینده‌ای برای وارد کردن آنها به محیط‌های مدیریتی و نظارتی موجود وجود دارد. این به معنای ادغام ابزارهای ابری بومی است که اغلب بر اساس استاندارد OpenTelemetry ساخته شده‌اند، با چارچوب‌های نظارتی و داشبوردهایی که قبلاً استفاده می‌کنید.

ساخت بر روی مجموعه ابزارهای موجود کلید پذیرش است، زیرا تیم‌های devops و cloudops قبلاً جریان‌های کاری را حول رابط‌های آشنا ایجاد کرده‌اند. ایجاد نظارت و مدیریت یک اولویت است، زیرا زمان صرف شده برای ایجاد رابط‌ها و ادغام‌های جدید، زمانی است که بهتر می‌توان صرف اجرای برنامه‌ها و سرویس‌ها کرد.

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

خوشبختانه برای ما، پذیرش OpenTelemetry و ذخیره‌سازی سری زمانی در ابزارهای نظارتی مانند Prometheus ادغام برنامه‌ها، زیرساخت‌ها و فروشگاه‌های تله‌متری پلت فرم را نسبتاً آسان می‌کند و از ابزارهایی مانند Azure Monitor برای جستجو در داده‌ها و گزارش‌ها استفاده می‌کند.

نمایشگر Azure برای Prometheus

در Microsoft Build ماه گذشته، مایکروسافت در دسترس بودن عمومی یک فروشگاه سری زمانی Prometheus مدیریت شده در Azure Monitor. این سرویس مدیریت شده که در اصل در پاییز ۲۰۲۲ رونمایی شد، Prometheus را به Azure می آورد (در هر دو مانیتور Azure و در Azure Grafana مدیریت شده)، به شما امکان می دهد به ابزارهای تجسم منبع باز آشنا به همراه ابزارهای نظارت بر کانتینر خود مایکروسافت دسترسی داشته باشید.

آوردن Prometheus به Azure Monitor کار بیهوده ای است. در حالی که مایکروسافت توزیع Kubernetes “خود” خود را در سرویس Azure Kubernetes دارد، این یک پیاده سازی مدیریت شده از پلت فرم منبع باز است، بنابراین همه API های یکسان و پشتیبانی از همه ابزارهای استاندارد Kubernetes را دارد. همیشه می‌توان نمونه‌های Prometheus خود را در Azure اجرا کرد، رویکردی که برای سیستم‌های نسبتاً کوچک به خوبی کار می‌کند، جایی که نیازی نیست به مقیاس‌بندی چیزی غیر از برنامه‌تان فکر کنید.

Azure Databricks موتور جستجوی فوتون موازی شده را پیش‌نمایش می‌کند

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

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

پرومته در مقیاس لاجوردی

از آنجایی که Prometheus مدیریت‌شده Azure بر اساس فضای ذخیره‌سازی Azure ساخته شده است، می‌توان از آن به عنوان فضای ذخیره‌سازی گسترده برای برنامه‌های داخلی استفاده کرد. این به شما این امکان را می دهد که از Azure Monitor و Grafana به عنوان یک صفحه شیشه ای واحد برای نظارت بر خوشه های Kubernetes on-prem و cloud hosted استفاده کنید، در حالی که همچنان از کدهای PromQL موجود پشتیبانی می کند. از آنجایی که Prometheus مدیریت شده برای پشتیبانی از چندین خوشه طراحی شده است، مایکروسافت خاطرنشان می کند که استفاده مشترک یک نمونه جداگانه در هر منطقه Azure است. جستجوها در سراسر مناطق کار می کنند و به شما امکان می دهند داشبوردهای سفارشی را در Grafana یا در Azure Monitor بسازید.

مبادلات با ابرهای واکنشی و فعال را درک کنید

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

شروع با مانیتور Azure برای Prometheus

فعال کردن سرویس Prometheus برای استفاده با AKS به اندازه کافی آسان است. با ایجاد یک فضای کاری Azure Monitor برای ذخیره معیارهای خود شروع کنید. سپس نمونه‌های Kubernetes خود را مستقیماً یا از طریق Container Insights به Prometheus متصل کنید. هنگامی که یک فضای کاری دارید، آن را به Azure Managed Grafana متصل کنید تا داشبوردها و تجسم ها را تنظیم کنید. Azure Monitor قوانین و هشدارهایی را میزبانی می کند که در PromQL نوشته شده اند و برای فعال کردن اقدامات یا ارسال اعلان ها استفاده می شوند. Prometheus با مدیریت مفید Azure منبعی از رویدادها برای KEDA (Kubernetes Event-driven) است. مقیاس‌بندی خودکار)، بنابراین می‌توانید از قوانینی برای ایجاد مقیاس خارج از مدل اصلی مبتنی بر منبع Kubernetes استفاده کنید.

پیکربندی یک خوشه AKS برای استفاده از سرویس نسبتاً ساده است. هر دو گزینه تحویل مستقیم و Container Insights یک نسخه کانتینری از عامل Azure Monitor را نصب می کنند که معیارها را از خوشه شما و هر گره در حال اجرا جمع آوری می کند. یک محدودیت برای خوشه شما وجود دارد: این خوشه باید از احراز هویت مدیریت شده استفاده کند< /a>، که باید در جای خود داشته باشید. اگر از AKS با سایر سرویس‌های Azure استفاده می‌کنید، بهترین کار است.

مایکروسافت بسیاری از فرآیند راه‌اندازی عامل نظارت را برای ظروف لینوکس خودکار کرده است – Azure Monitor آن را در صورت لزوم پیکربندی و اجرا می‌کند. اگر از کانتینرهای ویندوز با AKS استفاده می کنید، باید (در حال حاضر) بسیاری از سرویس نظارت را به صورت دستی پیکربندی کنید، از جمله اجرای YAML و کانفیگ مپ های ارائه شده توسط مایکروسافت. هنگامی که عامل مستقر شد، می توانید از kubectl برای بررسی اینکه آیا در استخرهای گره شما اجرا می شود استفاده کنید.

معایب راه حل های بومی ابری

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

نظارت Prometheus برای AKS و Azure Arc

به طور مفید، Prometheus مدیریت شده حتی می تواند به عنوان نقطه پایانی برای پشتیبانی OpenCost جدید Azure عمل کند. همچنین به عنوان بخشی از ابزار Container Insights موجود است، بنابراین می‌تواند به‌سرعت به‌عنوان منبع جدیدی برای Azure Managed Grafana به خوشه‌های نظارت‌شده اضافه شود. به این ترتیب حساب شما به طور خودکار با مجموعه ای از داشبوردهای نمونه که شروع به کار را ساده می کند و می تواند به عنوان پایه ای برای داشبوردهای خود استفاده شود، ارائه می شود.

قیمت معقول است، با شروع مصرف از ۰.۱۶ دلار برای ۱۰ میلیون نمونه و پرس و جو از ۰.۰۰۱ دلار به ازای هر ۱۰ میلیون نمونه پردازش شده. هیچ هزینه اضافی برای ذخیره سازی وجود ندارد و داده ها به مدت ۱۸ ماه حفظ می شوند.

علاوه بر کار با AKS و نمونه‌های Kubernetes خود میزبان شما، Prometheus مدیریت شده مایکروسافت با Kubernetes میزبان Azure Arc کار می‌کند و در لبه‌ها و همچنین در فضای ابری پشتیبانی می‌کند. با توجه به اهمیت روزافزون نقش لبه Kubernetes، پشتیبانی از Azure Arc یک گزینه جذاب برای اجرای Kubernetes مدیریت شده بر روی سرورهای خود است.

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