توی برنامه های میکروسرویس پیدا کردن ارتباط بین سرویس ها و اینکه کدام سرویس ها با کدام سرویس ها ارتباط داشته چقدر ترافیک ارسال کرده ترفیک ورودی یا خروجی هر پاد به کجاها بوده در محیط های پروداکشن یکی از موارد حیاتی است.
چندین راه حل برای این مورد موجود است:
۱- استفاده از Mesh سرویس مثل Istio و فعال کردن متریک پرومتیوس و گرافانا
۲- استفاده از calico و Network visibilityکه فقط درنسخه Enteprise وجود دارد
۳ استفاده از Hubbleدر cilium(حدود ۲۰ تا ۲۵ درصد از پرفورمنس کوبرنتیز رو کاهش میده)
۴- استفاده از Netflowدر کوبرنتیز که برای مورد ما فقط ۱ کور پردازنده مصرف کرد و از نظر مصرف منابع بسیار بهینه است.
برنامه Netflow یک پروتکل مانیتورینگ برای شبکه است که توسط شرکت سیسکو سیستم طراحی شد و الان به صورت یک استاندارد درآمده است که شرکت ها ابزارهای متنوعی برای آن طراحی کرده اند. برنامه ipt-netflow در سطح کرنل کار میکند و میتواند ترافیک زیادی را هندل کند (هم pps, BPS) بدون اینکه منابع زیادی را مصرف کند. این کار به خاطر پروتکل Netflowاست که فقط اطلاعات هدر بسته ها را آنالیز میکند اتفاق می افتد.بنابراین هیچ دیتایی رد وبدل یا آنالیز نمی شود. فقط این برنامه رو روی همه ی نود هاتون باید نصب کنید و تنظیمات آنرا انجام دهید.
برای کالکتور Netflowهم به نظرم از زبیکس استفاده کنید و اونو به گرافانا متصل کنید.