در این مقاله ، ما قصد داریم در مورد نحوه تنظیم نظارت کافکا با استفاده از پرومتئوس بحث کنیم. کافکا یکی از پرکاربردترین سیستم عامل های جریان است و پرومتئوس یک روش محبوب برای نظارت بر کافکا است. ما از پرومتئوس برای کشیدن معیارها از کافکا و سپس تجسم معیارهای مهم در داشبورد گرافانا استفاده خواهیم کرد. ما همچنین به برخی از چالش های اجرای یک پرومتئوس و نمونه گرافانا در مقابل گرافانا میزبان ارائه شده توسط Metricfire خواهیم پرداخت.
برای شروع ، به آزمایش رایگان متریک فیر وارد شوید. شما می توانید از گرافانا به طور مستقیم در پلتفرم Metricfire استفاده کنید و آنچه را که در این مقاله یاد می گیرید امتحان کنید.
مقدمه ای بر کافکا
Kafka پرکاربردترین فناوری جریان است که توسط تلاقی ساخته شده است. آنچه Kafka را خوب می کند ، در دسترس بودن و مقیاس پذیری بسیار یکپارچه آن است. در عین حال ، نصب خارج از جعبه Kafka با ابزارهای نظارت بسیار اساسی خط فرمان ارائه می شود. نظارت بر سلامت کافکا در استقرار تولید بسیار مهم است به طوری که اگر کافکا شما در جهت منفی گرایش داشته باشد ، می توانید قبل از اینکه ناگهان از بین برود ، می توانید مسائل را بدست آورید.
معماری کافکا
کافکا یک پلت فرم پخش توزیع شده است. در درجه اول ، معماری کافکا شامل موارد زیر است:
- مباحث - موضوع یک موجود منطقی است که سوابق آن منتشر می شود. یک موضوع شامل تعداد پارتیشن ها است. به هر رکورد در یک موضوع ، یک پارتیشن به همراه افزایش افست اختصاص داده می شود.
- تولیدکنندگان - تولیدکنندگان اطلاعات مربوط به موضوع را منتشر می کنند. تولیدکنندگان یا می توانند شماره پارتیشن را که رکورد در آن منتشر می شود یا یک کلید هش که Kafka به طور مداوم برای توزیع داده ها در موضوعات مختلف استفاده می کند ، ارائه دهند.
- مصرف کنندگان - مصرف کنندگان داده های مربوط به موضوع را می خوانند. مصرف کنندگان را می توان در چندین دستگاه توزیع کرد. هر مصرف کننده با یک گروه مصرف کننده مشخص می شود.
کافکا برای ذخیره پیکربندی و ابرداده خود از Zookeeper استفاده می کند. برای کسب اطلاعات بیشتر در مورد کافکا ، به مستندات رسمی مراجعه کنید.
مقدمه ای برای پرومتئوس
Prometheus یک ابزار هشدار و نظارت بر منبع باز است که توسط SoundCloud در سال 2012 ساخته شده است. ما قصد نداریم اصول اولیه پرومتئوس را در این مقاله توضیح دهیم. برای معرفی به پرومتئوس ، لطفاً به مقالات ما در زیر مراجعه کنید:
تنظیم نظارت کافکا با استفاده از پرومتئوس
ما از Docker برای تنظیم محیط آزمایشی کافکا ، باغ وحش ، پرومتئوس و گرافانا استفاده خواهیم کرد. ما از تصاویر Docker موجود در:
برای آموزش در مورد چگونگی راه اندازی پرومتئوس و گرافانا با داکر ، مقالات ما در مورد نحوه استقرار پرومتئوس را در Kubeetes و اتصال پرومتئوس و گرافانا مشاهده کنید که در آن هر دو مقاله روش های مختلفی را برای تنظیم محیط آزمایش با داکر نشان می دهند.
با استفاده از صادر کننده JMX برای افشای معیارهای JMX
پسوندهای مدیریت جاوا (JMX) یک فناوری است که ابزاری برای تأمین نظارت در برنامه های ساخته شده در JVM فراهم می کند.
از آنجا که Kafka در جاوا نوشته شده است ، به طور گسترده ای از فناوری JMX برای افشای معیارهای داخلی خود بر روی پلت فرم JMX استفاده می کند.
JMX Exporter یک جمع کننده است که می تواند به عنوان بخشی از یک برنامه جاوا موجود (مانند کافکا) اجرا شود و معیارهای JMX خود را در یک نقطه پایانی HTTP افشا کند ، که می تواند توسط هر سیستمی مانند پرومتئوس مصرف شود. برای کسب اطلاعات بیشتر در مورد صادرکنندگان پرومتئوس ، در اینجا مقاله ما وجود دارد که عمیق به نحوه کار صادرکنندگان پرومتئوس می پردازد.
تنظیم dockerfile ، پیکربندی prometheus. yml و اجرای موارد
به عنوان اولین قدم ، ما یک تصویر Docker Kafka را می سازیم ، که شامل نمونه صادرکننده JMX به عنوان بخشی از نمونه Kafka خواهد بود.
پرونده پیکربندی prom-jmx-agent-config. yml در اینجا موجود است:
هنگامی که پرونده فوق را به عنوان dockerfile در اختیار داشتیم ، می توانیم docker-compose. yml خود را ایجاد کنیم که حاوی پیکربندی برای هر یک از خدمات ما باشد: پرومتئوس ، گرافانا ، باغ وحش و کافکا.
ما همچنین یک فایل پیش فرض prometheus. yml به همراه Docker-compose. yml ایجاد خواهیم کرد. این پرونده پیکربندی شامل تمام پیکربندی مربوط به پرومتئوس است. پیکربندی زیر پیکربندی پیش فرض است که همراه با پرومتئوس است.
سرانجام ، ما می توانیم "Docke r-Compos e-D -D" را اجرا کنیم تا نمونه های پرومتئوس ، گرافانا ، باغ وحش و کافکا را اجرا کنیم.
ترسیم تجسم نظارت بر گرافانا
اکنون که ما معیارهای Kafka JMX را برای لوله کشی به پرومتئوس پیکربندی کرده ایم ، وقت آن است که آن را در گرافانا تجسم کنیم. مرور کنید به http: // localhost: 3000 ، با استفاده از مدیر/مدیر وارد شوید و منبع داده را برای پرومتئوس اضافه کنید همانطور که در زیر آمده است. اطمینان حاصل کنید که از نام منبع داده به عنوان "prometheus" استفاده می کنید زیرا ما هنگام پرس و جو در داشبورد گرافانا ، به این نام منبع داده مراجعه خواهیم کرد.
یکی از راه های ایجاد داشبورد در گرافانا ، پیکربندی دستی پانل ها یک به یک یا شروع به کار در فرآیند ما است ، می توانیم داشبورد از پیش تنظیم شده را از سایت داشبورد گرافانا بارگیری کرده و آن را به گرافانا خود وارد کنیم.
بر روی لینک بارگیری JSON کلیک کرده و پرونده JSON را بارگیری کرده و همانطور که در زیر نشان داده شده است ، آن را به Grafana ما وارد کنید:
حتماً منبع داده صحیح را انتخاب کنید ، که در مورد ما "پرومتئوس" است و روی دکمه واردات کلیک کنید.
شما باید بلافاصله داشبورد را که معیارهای زیر را از نمونه کافکا گزارش می دهد ، ببینید:
- میزان استفاده از پردازنده
- حافظه JVM استفاده شد
- زمان صرف شده در GC
- پیام در هر موضوع
- بایت در هر موضوع
- بایت در هر موضوع
هنگامی که برخی از سوابق و پیام های موجود در آن مباحث را دارید ، می توانید جزئیات ترافیک را در مورد موضوع Kafka همانطور که در زیر مشاهده می کنید مشاهده کنید:
اگر مقادیر موجود در این داشبورد از آستانه بحرانی فراتر رود ، ممکن است بخواهید هشدارهایی را در مورد این داشبورد تنظیم کنید. مقاله ما داشبورد Grafana را از داشبوردهای اولیه تا پیشرفته برای ساخت داشبورد متناسب با نیازهای شما بررسی کنید.
همچنین می توانید انواع دیگری از تجسم را بر اساس معیارهای در معرض پرومتئوس ایجاد کنید. برای ایجاد برخی از داشبوردهای پیشرفته تر به مقاله ، داشبوردهای مورد علاقه Grafana ما نگاهی بیندازید.
بیایید نگاهی به یک داشبورد که در زیر ایجاد کرده ایم نگاهی بیندازیم. این مثال اطلاعات زیر را نشان می دهد:
- کل شماره. پیام ها
- کارگزار کافکا iptime
- موضوع بایت به نرخ بایت
- درصد بیکار پردازنده شبکه
- استفاده از حافظه Heap JVM
- بار پردازنده سیستم JVM
- درخواست رسیدگی به درصد بیکار
- معیارهای درخواست شبکه کافکا
- تعداد پارتیشن کل
- کل تحت تکرار
می توانید داشبورد از پیش تنظیم شده را در بالا از این لینک github بارگیری کرده و آن را به گرافانا خود وارد کنید.
تنظیم نظارت از طریق Metricfire
تنظیماتی که ما در بالا انجام داده ایم برای زیرساخت های بسیار اساسی کافکا کار می کند که فقط شامل چند موضوع و میزان متوسطی از ترافیک است. به منظور رسیدگی به بار سطح تولید ، که می تواند چند صد موضوع و به سمت بالا از چند ترافیک شبکه Mbps باشد ، برای رسیدگی به بار فزاینده ، باید پرومتئوس را از بین ببرید.
گرافیت میزبان از طریق Metricfire مزایای بسیاری از قبیل مقیاس پذیری با افزایش بار ، ذخیره طولانی مدت داده ها و استقرار مداوم فعال از ویژگی های جدید را به شما می دهد.
نگاهی به آموزش ما در مورد نحوه تنظیم گرافیت و گرافانا از طریق متریک فیر بیندازید.
نتیجه
ما دیده ایم که چگونه می توان مانیتور کافکا را با استفاده از پرومتئوس تنظیم کرد. ما همچنین شاهد برخی تجسم های پیشرفته برای نظارت بر معیارهای کافکا با استفاده از داشبورد گرافانا هستیم.
برای یک آزمایش رایگان از گرافیت میزبان ما نیز در اینجا ثبت نام کنید ، اگر در مورد محصولات ما سؤالی دارید ، یا اینکه چگونه Metricfire می تواند به شرکت شما کمک کند ، مستقیماً با رزرو نسخه ی نمایشی با ما صحبت کنید.
پست های مرتبط
نظارت خوشه ای با پرومتئوس و رانچر
در این مقاله ، ما یک مرور کلی از نظارت خوشه ای با استفاده از رانچر و پرومتئوس و همچنین ارائه آموزش های تنظیم برای هر دو ابزار ارائه می دهیم. ما همچنین یک ابزار تجسم متریک به نام گرافانا را معرفی می کنیم که داده های سری زمانی پرومتئوس شما را به نمودارها و تجسم تبدیل می کند.
نظارت بر عشایر Hashicorp با پرومتئوس و گرافانا
نحوه نظارت بر عشایر Hashicorp خود با پرومتئوس و گرافانا. داشبورد را با معیارهای صادر شده توسط عشایر بسازید.
فلاسک پاندورا: نظارت بر برنامه وب پایتون با پرومتئوس
صادر کردن معیارها به پرومتئوس از یک پشته استاندارد برنامه Python Web ، بدون توجه به جاده ای که طی می کنید کمی درگیر است.< Pan> در این مقاله ، ما یک مرور کلی از نظارت خوشه ای با استفاده از رانچر و پرومتئوس و همچنین آموزش های تنظیم برای هر دو ابزار ارائه می دهیم. ما همچنین یک ابزار تجسم متریک به نام گرافانا را معرفی می کنیم که داده های سری زمانی پرومتئوس شما را به نمودارها و تجسم تبدیل می کند.
سیگنال های تجاری...
ما را در سایت سیگنال های تجاری دنبال می کنید
برچسب :
نویسنده : محسن رضایی
بازدید : <-PostHit->
تاريخ : سه
شنبه
23 اسفند
1401 ساعت: 15:06