اپ داینامیکس (AppDynamics)

اپ داینامیکس (AppDynamics)

AppDynamics یک پلتفرم پیشرو در مدیریت عملکرد برنامه (AMP) است. این ابزار زیرساخت برنامه شما را نظارت می کند و سطح دید عمیقی به برنامه شما می دهد. این  پلتفرم بطور عمده فناوری (جاوا، دات نت، پی اچ پی، Node.js، NOSQL و غیره) را می تواند به صورت پیش فرض ویا (Sass) به عنوان یک سرویس راه حل پشتیبانی کند.

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

عامل همواره برنامه را نظارت می کند. از آنجایی که با استفاده از تکنیک ابزار بیت کد، Agent به هر کدام از خطوط دسترسی دارد به این شکل AppDynamics قادر به ارائه سطح کد است. Agent  ها برای بسیاری از فن آوری های محبوب در دسترس هستند.

بیشتر قابلیت مانیتورینگ “خارج از جعبه” است، از جمله هشدار ها. یکی دیگر از ویژگی های خارج از جعبه بودن “Flow Mapping” برنامه است. AppDynamics متوجه زیرسیستم های مختلف و    backend ها می شود و آنها را به زیبایی در مرورگر ترسیم می کند. در بعضی اوقات، شما را شگفت زده خواهد کرد که در مورد backend هایی که هرگز فکر نکردید چطور با برنامه شما صحبت میکند و آنها را کشف میکند.

علاوه بر این برنامه AppDynamics  رفتار نرم افزار را به طور خودکار می آموزد و تنظیمات مقدماتی  را انجام میدهد و زمانی که  هشداری مبنی برانحراف از تنظیمات ابتدایی و حالت طبیعی نرم افزار رخ دهد آن را نشان میدهد.

تصویر زیر رابط کاربری کنترل کننده(AppDynamics Controller) را نشان می دهد.

AppDynamics از مفهوم  تراکنش کسب و کار (Transaction Business (BT استفاده می کند. یک BT نشان دهنده یک سرویس ارائه شده توسط برنامه شما است که توسط کاربر فراخوانی شده است. تمام زیرسیستم های مربوطه و همچنین backends  برای یک BT داده شده توسط AppDynamics ردیابی و گزارش میشود. BT به طور خودکار کشف می شود، اما شما می توانید BT خود را نیز تعریف کنید.

با استفاده از یک نوع خاص از Agent به نام Machine Agent ، AppDynamics می تواند سخت افزار را نظارت کند. استفاده از منابع اصلی مانند پردازنده، حافظه، استفاده از دیسک نظارت می شود. Machine Agent برای اکثر سیستم عامل ها (ویندوز، لینوکس، سولاریس و غیره) در دسترس است.

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

لوله کشی – چگونه کار می کند؟

Controller موتور AppDynamics است. Controller اطلاعات نظارت را از Agentهای نصب شده در سرورهای برنامه (یا سرورهای پایگاه داده، سرورهای وب و غیره) دریافت می کند. کاربر دسترسی و مدیریت داده های نظارت را با اتصال به Controller از طریق مرورگر وب (معمولا با پورت ۸۰۹۰) خواهد داشت. این کمک می کند تا اصطلاحات استفاده شده در AppDynamics را درک کنید  و اینکه چگونه کار می کند.

Node‌ (گره)

یک گره یک سرور تحت نظارت JVM  یا CLR)) است. به طور معمول گره مربوط به یک سرور برنامه کاربردی فردی (فیزیکی یا مجازی) است.

Tier (درجه)

لایه ای از یک گروه منطقی از گره ها است که به طور کلی مربوط به یک عملکرد تجاری خاص است. توجه داشته باشید که یک Agent نمی تواند به بیش از یک سطح متعلق باشد.

نرم افزار کاربردی تجاری (Business Application)

یک برنامه تجاری ظرفیت بالا در AppDynamics است که شامل سطوح کنترل دسترسی مبتنی بر نقش در کنترل UI است و در سطح برنامه کاربردی اجرا می شود.

پشت صحنه (Backend)

Backend ها هرگونه سیستم خارجی برای عامل AppDynamics هستند که در واقع قابل رویت توسط کاربران نیستند و به صورت پشت صحنه کار میکنند. به عنوان مثال، اگر یک برنامه .NET که ابزار است، یک تماس با یک سرور پایگاه داده SQL Server برقرار می کند، اگر SQL Server با عامل AppDynamics سازگار نباشد، در برنامه دات نت “backend”  در نظر گرفته می شود. زمان پاسخ برای تماس های پشت صحنه ثبت می شود (همراه با بار، خطاها و غیره). با این حال،کنترل معیارهای سطحی عمیق تر تنها زمانی که سیستم از راه دور ابزاری است ممکن می باشد. AppDynamics به طور خودکار بیشتر سیستم های محبوب پشت صحنه را تشخیص می دهد.

نگاهی به برنامه جاوا خود بیندازید، بطوریکه هرگز قبلا به این شکل تجربه اش نکرده اید

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

از این نقشه می توانید به هر یک از اجزای برنامه متمرکز شوید تا معیارهای سطح عمیقتری را بدست آورید.

AppDynamics به طور خودکار زمان پاسخ آهسته را ضبط میکند و آنها را در “زمان پاسخ کوتاه” در  Dashboad  صفحه اصلی برنامه نمایش میدهد. زمان پاسخ آهسته شامل تماس های از راه دور و تماس های jdbc است. علاوه بر این AppDynamics  هر گونه خطای برنامه ای مانند جاوا یا یک کد خطا HTTP را ظبط میکند و آنها را در داشبورد خود ارائه می دهد.

یکی از ویژگی های فوق العاده در Appdynamics عکس فوری تراکنش (Snapshot Transaction) است. با یک  عکس فوری از تراکنش، می توانید تراکنش را به سطح کد برسانید و زمان پاسخ را در زیر سیستم های مختلف مشاهده کنید.

به عنوان مثال، شما به وضوح می توانید ببینید که آیا یک تراکنش به دلیل فراخوانی DB یا به دلیل یک سرویس وب از راه دور (یا به دلیل زمان JVM خود، که ممکن است نشان دهنده مجموعه ای از مسائل مربوط به حافظه باشد) کند شده است.

قبل از اینکه همه چیز بدتر شود آگاه شوید

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

AppDynamics هشدار را با استفاده از دو عنصر: قوانین و مقررات پیشگیری و درمان پیگیری میکند. حکم سلامت جایی است که شما متریک عملکرد برای نظارت و آستانه را تعریف میکنید.  این سیاست ها به AppDynamics می گوید چه کاری باید انجام دهد وقتی که قوانین پیشگیری نقض می شوند. این اقدام می تواند یک نفر (یا یک گروه)، یا حتی اجرای یک برنامه، ایمیل و … را پیگیری کند.

AppDynamics با چندین پیش فرض قوانین سلامت پیش ساخته شده است. یک مثال کاربردی حافظه JVM (Heap) است. شما می توانید آستانه برای این قوانین سلامت پیش فرض را به روز کنید.

علاوه بر این شما می توانید یک Digest ایمیل ایجاد کنید که حاوی یک خلاصه ای از رویدادهای بیش از یک دوره معین باشد. این ویژگی می تواند مورد استفاده برای مدیران ارشد قرار گیرد.

نظارت بر سخت افزار شما

با استفاده از AppDynamics Agent Machine، می توانید معیارهای اولیه مانند استفاده از پردازنده، استفاده از حافظه و غیره را برای اکثر سیستم عامل های محبوب مورد نظارت قرار دهید.

بعضی از معیارهای پیش فرض برای نظارت:

  • معیارهای CPU
  • معیارهای دیسک
  • معیارهای ماشین
  • متریک حافظه
  • متریک شبکه
  • متریک سیستم

علاوه بر نظارت بر سخت افزار، Machine Agent به شما اجازه می دهد برنامه های نظارتی خود را بنویسید و داده ها را به کنترل کننده AppDynamics ارسال کنید. این یک آینده نگری بسیار قدرتمند است زیرا تقریبا به شما امکان نظارت بر هر چیزی را میدهد. این برنامه ها به عنوان Extention نامیده می شوند و تعداد زیادی از برنامه های موجود برای دانلود در  https://www.appdynamics.com/community/exchange/  وجود دارد.

بعد به کجا بروید؟

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

اشتراك گذاری نوشته

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *