Splunk APM یک ابزار مانیتورینگ و مدیریت عملکرد برای برنامهها و سیستمها است. این ابزار از تکنولوژیهای تحلیل داده بهره میبرد تا بتواند عملکرد برنامهها را بررسی کرده و مشکلات واقعی یا پتانسیلی را شناسایی کند. با استفاده از Splunk APM، میتوان برنامههای اجرا شده را مانیتور کرده، عملکرد آنها را ارزیابی کرده و مشکلات عملکردی را پیدا کرد.
Splunk APM چیست؟ با استفاده از برنامهی Splunk Application Performance Monitoring یا APM میتوان trace و spans را، برای نظارت بر برنامههای توزیعشدهی خود، جمعآوری کرد. یک trace، در واقع، مجموعهای از اقدامات یا spanهاست که برای تکمیل یک تراکنش یا تبادل رخ میدهد. برنامهی Splunk APM هر trace و spans از هر یک از سرویسهایی که به Splunk Observability Cloud متصل کردهاید، جمعآوری و تجزیه و تحلیل میکند تا شما به تمام دادههای برنامه خود دسترسی کامل داشته باشید.
منظور از انتقال دادهها به Splunk APM چیست؟
برای شروع به استفاده از APM، به Set up Splunk APM مراجعه کنید.
آموزش مانیتورینگ دادههای کاربری در راهکار BIG-IQ APM
ویدیوهای بیشتر درباره ی Splunk APM
کاربردهای Splunk APM
کار | ابزار | پیوند به مستندات |
همهی خدمات خود و روابطِ وابستگی آنها را در نقشه خدمات مشاهده کنید. | Service map | Explore the service map |
با استفاده از Endpoint Performance، نقاط پایانی سرویسهای خود را رصد کنید. با استفاده از فیلتر، مرتبسازی و مقایسه عملکرد در Endpoint Performance، میتوانید به سرعت نقاط پایانی را با افزایش درخواستها، خطاها یا مدت زمانی که بر عملکرد سرویسهای شما تأثیر میگذارد، جدا کنید. | Endpoint performance | Scenario: Alex monitors service performance using endpoint performance |
برای شناسایی درخواستهایی که بهینهنشده، و سنگین است و یا خیلی وقت است که در حال اجرا است و نیز کاهش مشکلات مربوطه، تأثیر درخواستهای پایگاه دادهی خود را، بر در دسترس بودن سرویس نظارت کنید. | Database Query Performance | Scenario: Skyler investigates Redis performance issues using Database Query Performance Scenario: Jax identifies slow database queries using Database Query Performance |
با استفاده از AlwaysOn Profiling، که یکی از ویژگیهای Splunk APM است، قابلیت مشاهده در عملکرد سطحِ کد را بدست آورید. قابلیت AlwaysOn Profileng از CPU و حافظهی محیطهای زمان اجرا عکسهای فوری میگیرد تا دامنه و نشانههای تولید شده توسط برنامههای ابزارسازی شده را در زمینه قرار دهد. | AlwaysOn Profiling | Scenarios for monitoring applications and services using Splunk AlwaysOn Profiling |
از نشانهها برای هشدار در مورد تغییرات ناگهانی در معیارهای درخواست، خطا و مدت زمان RED یا همان request, error, and duration خود استفاده کنید تا از عملکرد خدمات خود مطلع شوید. نشانههای تشخیص خودکاری وجود دارند که به طور پیشفرض برای تأخیر سرویس، میزان خطا و نرخ درخواست پیکربندی شده اند. همچنین شرایطِ درونساخته برای پیکربندی نشانهها برای تغییرات در معیارهای عملکردی، که برای شما مهم است، وجود دارد. | Detectors and alerts | Configure detectors and alerts in Splunk APM Use and customize AutoDetect alerts and detectors Use built-in alert metrics and conditions in Splunk APM |
برای تجزیه و تحلیل عملکرد برنامه در هر بعد، تگهای دامنه Span tags را فهرستبندی کنید تا بتوانید نماهایی مانند Tag Spotlight را برای نیازهای خاص خود سفارشی کنید. | Span tags | Add context to spans with span tags in Splunk APM |
میزان درخواست، خطا و یا تأخیرِ سرویسهای خود را بر اساس هر یک از Span tagهای فهرستبندی شده در Tag Spotlight مشاهده کنید. به عنوان مثال، شما میتوانید با یک نگاه مشاهده کنید که خدماتتان بر اساس endpoint، محیط یا span.kind در Tag Spotlight چگونه است. این view را بر اساس محیطها، سرویسها، گردشهای کاری کسبوکار یا Span tagها فیلتر کنید تا ظاهری دقیقتر داشته باشید. | Tag Spotlight | Analyze service performance with Tag Spotlight |
برای عیبیابی، دادههای trace را با دقت کامل جستجو و فیلتر کنید. در صورت نیاز، تجمیعها را روی دادههای trace برای شناسایی مشکلات در هر تگ یا ویژگی اجرا کنید. الگوهای موجود در نشانههای trace خود را مشاهده کنید تا متوجه شوید که تأخیر یا خطاها چگونه بر گروههای خاص کاربران تأثیر میگذارد. | Trace Analyzer | Explore your traces using Trace Analyzer in Splunk APM |
نشانههایی را که تراکنش و تبادلهای سرتاسری را در سیستم شما ایجاد میکنند، با یکدیگر مرتبط کنید تا بر جریانهای کاری که بیشتر به آن اهمیت میدهید نظارت کنید. | Business Workflows | Correlate traces to track Business Workflows |
از داشبوردهای داخلی برای ارزیابی خدمات، نقطه پایانی (endpoint) و سلامت سیستم در یک نگاه استفاده کنید. | Built-in dashboards | Built-in dashboards |
مفاهیم کلیدی در Splunk APM چیست
برنامهی Splunk APM یک راهکار نظارت بر عملکرد برنامه است که هر بازه از هر برنامهای را جمعآوری میکند تا تصویر کاملی از تعاملات بین میکروسرویسهایی، که سیستمِ توزیعشدهی شما را تشکیل میدهند، به شما ارائه دهد.
مفهوم | تعریف |
Business Workflow | مجموعه ای از نشانههای مرتبط که تراکنش یا جریانِ کاربر مورد علاقه خاص را دنبال می کند. |
Cardinality | تعداد مقادیر متمایز در یک مجموعه داده. |
Endpoint | نوع خاصی از عملیات که در آن ریشهی span span.kind = SERVER است. یک سرویس معین معمولاً یک یا چند نقطه پایانی مرتبط با آن دارد. |
Environment | یک استقرار متمایز از برنامهی شما که مستقیماً با سایر استقرارهای همان برنامه تعامل ندارد. |
Identity | مجموعهای منحصر به فرد از span tagهای فهرستبندیشده که با یک شی Splunk APM مطابقت دارد. |
indexed span tag (span tag فهرستبندیشده) | یک تگ span که Splunk عیبیابی MetricSets را برای آن ایجاد میکند. |
inferred service | یک سرویسِ از راه دور که در Splunk APM استفاده نمیشود، اما Splunk APM میتواند آن را بر اساس اطلاعاتی در دامنههایی که با سرویسِ از راه دور تماس برقرار میکند شناسایی کند. |
MetricSet | مجموعهای از سریهای زمانیِ متریک است که مقادیر شاخصهای کلیدی را در طول زمان ثبت میکند؛ مانند: نرخ درخواست، نرخ خطا و مدت زمان، که بر اساس نشانهها و بازههای شما در Splunk APM محاسبه میشود. |
Monitoring MetricSets یا MMS | سریهای زمانی متریک که قابلیتهای نظارت real-time را در Splunk APM، از جمله نمودارها، داشبوردها و آشکارسازها تقویت میکنند. |
Operation | یک عمل خاص که توسط یک سرویس انجام میشود. |
service | واحدِ نرمافزاری که برای ایجاد یک برنامه کامل به سرویسهای دیگر متصل میشود. |
service map | تجسمی از ابزارها و خدمات شما و روابط آنها است. |
span | عملیاتی واحد در یک سیستم از برنامهها و خدمات است. |
span tag | بخشی از ابَردادهی متصل به یک دامنه که اطلاعات بیشتری در مورد عملیاتی که span نشان میدهد، ارائه میکند. |
Tag Spotlight | نمایی از بالا به پایین از خدمات شما بر اساس span tagهای فهرستبندی شده است. |
Trace | مجموعهای از عملیاتها، معروف به spans، است که نشاندهندهی تراکنش منحصر به فردی است که یک برنامه را مدیریت میکند. |
Trace Analyzer | برای یافتن Trace یا نشانه دقیقی که به دنبال آن هستید، همه Traceها را از همهی خدمات مجهز به ابزار جستجو کنید. |
trace view | نمودار span waterfall را برای یک Trace خاص مشاهده کنید و spanهای درون آن Trace را جستجو کنید. |
Troubleshooting Metric Sets (TMS) (عیبیابی Metric Sets) | سریهای زمانی متریک برای عیبیابی هویتها در APM و برای مقایسه زمانی بین دامنهها و گردشهای کاری استفاده میشوند. |
سرویسها اجزای کلیدی سیستمهایی هستند که می توانید با Splunk APM آنها را نظارت کنید. در زیر اصطلاحات و مفاهیم مربوط به خدمات آورده شده است.
Endpoint
نوع خاصی از عملیات که در آن ریشه span.kind = SERVER است. یک سرویس معین معمولاً یک یا چند نقطه پایانی مرتبط با آن دارد.
بیشتر بخوانید: بررسی ویژگی های BIG-IP APM
Environment
اصطلاح «محیط» به محیط استقرار اشاره دارد، که یک استقرار متمایز در Splunk APM است که مستقیماً با سایر استقرارهای همان برنامه تعامل ندارد. محیطهای استقرار مجزا اغلب برای مراحل مختلف فرآیند توسعه، مانند توسعه، مرحلهبندی و تولید استفاده میشوند.
Identity
مجموعهای منحصر به فرد از span tagهای فهرستبندیشده است که با یک شی Splunk APM مطابقت دارد. تطابق میتواند نشان دهنده یک سرویس، نقطه پایانی، عملیات، edge یا گردش کار باشد و همیشه حداقل به یک سرویس مرتبط است.
Inferred service
یک سرویس از راه دور است که در Splunk APM استفاده نمیشود، اما Splunk APM میتواند آن را بر اساس اطلاعاتِ دامنههایی که با سرویس از راه دور تماس برقرار میکند شناسایی کند. خدمات استنباط شده اغلب شامل ارائهدهندگان خدمات خارجی، pub/subs،Remote Procedure Calls (RPC) و پایگاههای داده است.
بیشتر بخوانید: امنیت وب با استفاده از قابلیت های BIG-IP APM – قسمت دوم (پایانی)
خدمات مجهز به ابزار
از OpenTelemetry Collector برای ابزار دقیق یک سرویس استفاده کنید تا دامنههای آن به Splunk APM ارسال شود. SignalFx Smart Agent اکنون منسوخ شده است و در 30 ژوئن 2023 پشتیبانی آن پایان یافته است. برای کوچ از Smart Agent به Collector به migration guide مراجعه کنید.
عملیات
یک عمل خاص است که توسط یک سرویس انجام میشود. هر عملیات در یک سرویس ابزار دقیق در یک بازهی جداگانه ثبت میشود.
خدمات
خدمات یک واحدِ نرمافزاری کوچک، انعطافپذیر و مستقل است که برای ایجاد یک برنامهی کامل به سرویسهای دیگر متصل میشود. یک سرویس معمولاً مجموعهای از نقاط پایانی و عملیات API را نشان میدهد که با نقاط پایانی دیگر سرویسها در یک معماری توزیعشده و پویا برای ارائه عملکرد کامل یک برنامه کار میکنند.
«خدمات» یک اصطلاح جامع است که شامل خدمات کانتینری مانند Docker، Kubernetes، میکروسرویسها و حتی تماس با عملکردهای بدون سرور است. با استفاده از هر یک از خدماتی که برنامهی شما را تشکیل میدهند، میتوانید دامنههایی را که نشاندهندهی عملیات درون سرویسها هستند) و نیز نشانههایی trace را، جمعآوری کنید که نشاندهنده مجموعهای از عملیاتها در سرویسها هستند، و با آن فعالیت در Splunk APM را نظارت و تجزیه و تحلیل کنید.
نقشه خدمات
تجسمی از خدمات مجهز به ابزار و خدمات استنباطی شما و رابطهی آنها است. نقشهی خدمات به صورت پویا بر اساس انتخابهای شما در محدودهی زمانی، محیط، گردشِ کار، سرویس و فیلترهای تگها ایجاد میشود.