New Relic — چیست، observability و پلتفرم

نویسنده: IT Sectr منتشر شده: 2026-05-29 زمان مطالعه: 8 دقیقه

New Relic یک پلتفرم full-stack observability است که جمع‌آوری معیارها، ردیابی درخواست‌های توزیع‌شده، لاگ‌گیری و مانیتورینگ تجربه کاربری را در یک رابط واحد ارائه می‌دهد. بر اساس New Relic Documentation, 2025، New Relic ماهانه بیش از 130 اگزابایت داده برای 17,000+ مشتری از جمله Ticketmaster، Yelp و Ryanair پردازش می‌کند.

نکات اصلی

  • New Relic — پلتفرم full-stack observability که معیارها، ردیابی، لاگ‌ها و مانیتورینگ تجربه کاربری را ترکیب می‌کند.
  • New Relic One — پنل مدیریت یکپارچه با پشتیبانی از داشبوردهای سفارشی، پرس‌وجوهای NRQL و هشدارهای AI.
  • Distributed Tracing — درخواست‌ها را از کلاینت موبایل از طریق تمام میکروسرویس‌ها تا پایگاه داده با یک trace ID متصل می‌کند.
  • Mobile agent — SDK برای iOS و Android با جمع‌آوری خودکار معیارهای عملکرد، کرش‌ها و درخواست‌های HTTP.
  • NRQL — زبان پرس‌وجوی اختصاصی New Relic برای تحلیل و ساخت داشبوردهای سفارشی بدون SQL.

New Relic در observability چیست

New Relic — یکی از قدیمی‌ترین و بالغ‌ترین پلتفرم‌های observability است که در سال 2008 تأسیس شد. در ابتدا New Relic به عنوان APM برای برنامه‌های وب (Ruby on Rails) positioning شده بود، اما با گذشت سال‌ها به یک پلتفرم full-stack تبدیل شد که برنامه‌های موبایل، مرورگرها، میکروسرویس‌ها، توابع serverless و زیرساخت را پوشش می‌دهد.

در سال 2020، New Relic New Relic One را معرفی کرد — پلتفرمی کاملاً بازطراحی‌شده با پشتیبانی از داشبوردهای سفارشی، پرس‌وجوهای NRQL و یکپارچه‌سازی داده‌ها از هر منبعی. برخلاف رقبا (Datadog, Dynatrace)، New Relic یک طرح رایگان سخاوتمندانه ارائه می‌دهد: 100 GB داده در ماه (شامل همه انواع تله‌متری — معیارها، ردیابی، لاگ‌ها) بدون محدودیت زمان ذخیره‌سازی برای معیارهای پایه.

بر اساس گزارش New Relic State of Observability Report (2024)، 74٪ از سازمان‌ها از New Relic برای مانیتورینگ موبایل استفاده می‌کنند و میانگین زمان تشخیص حوادث پس از پیاده‌سازی پلتفرم از 3 ساعت به 12 دقیقه کاهش می‌یابد. سناریوهای اصلی استفاده — APM برای میکروسرویس‌ها، مانیتورینگ برنامه‌های موبایل و اشکال‌زدایی full-stack.

معماری New Relic One: داشبوردها و NRQL

New Relic One — کنسول مرکزی پلتفرم است که همه انواع داده را در یک رابط واحد ترکیب می‌کند. کاربر می‌تواند تعداد نامحدودی داشبورد با ویجت‌ها ایجاد کند: نمودارهای خطی، نقشه‌های حرارتی، جداول، لیست‌ها. هر ویجت بر اساس پرس‌وجو از NRDB (New Relic Database) — پایگاه داده اختصاصی بهینه‌سازی‌شده برای سری‌های زمانی — ساخته می‌شود.

داشبوردهای سفارشی

New Relic One امکان ایجاد داشبورد برای مخاطبان مختلف را فراهم می‌کند: داشبورد فنی با معیارهای دقیق (latency p95, throughput, error rate)، داشبورد تجاری با نمره Apdex و معیارهای کاربری (نرخ تبدیل، زمان تکمیل سفارش) و داشبورد زیرساخت (CPU, حافظه, شبکه). Dashboard-as-code از طریق ارائه‌دهنده Terraform و New Relic API پشتیبانی می‌شود.

NRQL — زبان پرس‌وجو

NRQL (New Relic Query Language) — زبانی شبیه به SQL برای پرس‌وجو از داده‌های تله‌متری است. این امکان را فراهم می‌کند که داده‌ها را بدون استفاده از ابزارهای خارجی انتخاب، تجمیع و بصری‌سازی کنید. NRQL از توابع سری‌های زمانی (TIMESERIES, SINCE, UNTIL)، فیلتر بر اساس ویژگی‌ها، گروه‌بندی (FACET) و محاسبه صدک‌ها (percentile) پشتیبانی می‌کند.

text
SELECT average(duration) as "Avg Response"
FROM Transaction
WHERE appName = "MobileApp"
FACET endpoint
SINCE 1 hour ago
TIMESERIES auto
LIMIT 10

پرس‌وجوی NRQL میانگین زمان پاسخ برای هر endpoint برنامه موبایل در یک ساعت گذشته را با تفکیک بازه‌های زمانی نشان می‌دهد. نتیجه به عنوان نمودار خطی در داشبورد New Relic One بصری‌سازی می‌شود.

تنظیم New Relic Mobile SDK برای iOS و Android

New Relic Mobile agent SDK برای iOS (Swift, Objective-C) و Android (Kotlin, Java) با جمع‌آوری خودکار معیارهای عملکرد، کرش‌ها، ANR و درخواست‌های HTTP فراهم می‌کند. نصب 10 دقیقه طول می‌کشد و شامل افزودن وابستگی و راه‌اندازی با توکن برنامه است.

تنظیم در Android

Android SDK از طریق پلاگین Gradle متصل می‌شود که به طور خودکار Activity، کلاینت‌های HTTP (OkHttp, Retrofit, Volley) و سرویس‌های پس‌زمینه را ابزارگذاری می‌کند. New Relic Android agent همچنین WebView، بارگذاری تصاویر و کار با پایگاه داده Room را ردیابی می‌کند.

kotlin
import com.newrelic.agent.android.NewRelic

class App : Application() {
    override fun onCreate() {
        super.onCreate()
        NewRelic.withApplicationToken("YOUR_TOKEN")
            .withCrashReporting(true)
            .withHttpResponseBodyCapture(true)
            .start(this)
    }
}

کد New Relic SDK را با گزارش‌دهی کرش و ضبط محتوای پاسخ HTTP فعال‌سازی می‌کند. پارامتر withHttpResponseBodyCapture امکان مشاهده محتوای پاسخ را در خطاهای 4xx/5xx فراهم می‌کند که برای تشخیص مشکلات API حیاتی است.

تنظیم در iOS

iOS SDK از Swift Package Manager و CocoaPods پشتیبانی می‌کند. پس از نصب، عامل به طور خودکار درخواست‌های URLSession، معیارهای UIApplication و خطاهای Swift را ضبط می‌کند. New Relic iOS agent همچنین معیارهای باتری، تعداد راه‌اندازی‌ها و دمای دستگاه را جمع‌آوری می‌کند — داده‌هایی برای ارزیابی تأثیر برنامه بر دستگاه مفید هستند.

swift
import NewRelic

class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions options: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        NewRelic.enableFeatures(NRFeatureFlag.SwiftAsyncURLSession)
        NewRelic.start(withApplicationToken: "YOUR_TOKEN")
        return true
    }
}

کد مانیتورینگ درخواست‌های Swift async/await را از طریق URLSession (iOS 15+) فعال می‌کند و عامل New Relic را راه‌اندازی می‌کند. NRFeatureFlag.SwiftAsyncURLSession ابزارگذاری فراخوانی‌های مدرن Swift Concurrency را فعال می‌کند.

Distributed Tracing و نقشه‌های سرویس

New Relic Distributed Tracing درخواست‌ها را از کلاینت موبایل از طریق API Gateway، میکروسرویس‌ها و پایگاه‌های داده در یک trace واحد ترکیب می‌کند. استانداردهای W3C Trace Context و OpenTelemetry پشتیبانی می‌شوند که امکان یکپارچه‌سازی داده‌ها از ابزارهای شخص ثالث را در ردیابی کلی فراهم می‌کند.

Service Map

Service Map — نقشه‌ای است که به طور خودکار وابستگی‌های بین سرویس‌ها را بر اساس داده‌های ردیابی می‌سازد. هر سرویس به عنوان یک گره گراف نمایش داده می‌شود و فلش‌های بین آنها فراخوانی یک سرویس توسط سرویس دیگر را نشان می‌دهد. رنگ گره وضعیت سلامت را نشان می‌دهد: سبز (همه چیز عادی است)، زرد (خطاها افزایش یافته)، قرمز (سرویس در دسترس نیست). Service Map در زمان واقعی با تغییر معماری به‌روزرسانی می‌شود.

بر اساس New Relic (2024)، تیم‌هایی که از Service Map استفاده می‌کنند، علت ریشه‌ای کندی‌ها را 55٪ سریع‌تر از تحلیل دستی لاگ‌ها پیدا می‌کنند. این نقشه به ویژه برای معماری‌های میکروسرویسی مفید است، جایی که خرابی آبشاری در یک سرویس می‌تواند مانند مشکل در چندین مؤلفه نامرتبط به نظر برسد.

یکپارچه‌سازی با کلاینت موبایل

New Relic جلسات موبایل را با ردیابی سرور از طریق هدرها متصل می‌کند. اگر برنامه موبایل درخواستی با هدر New Relic ارسال کند، عامل سرور زمینه را دریافت می‌کند و trace از دستگاه کاربر تا پایگاه داده نمایش داده می‌شود. Mobile instrumentation به طور خودکار هدرهای لازم را به تمام درخواست‌های HTTP خروجی اضافه می‌کند.

تحلیل از طریق NRDB و NRQL

NRDB — پایگاه داده اختصاصی New Relic است که برای ذخیره‌سازی و تحلیل سری‌های زمانی بهینه‌سازی شده است. برخلاف پایگاه‌های SQL سنتی، NRDB از کاردینالیتی نامحدود (تعداد مقادیر منحصربه‌فرد ویژگی‌ها) پشتیبانی می‌کند که برای تله‌متری با میلیون‌ها ترکیب منحصربه‌فرد (device_id, endpoint, version) حیاتی است.

NRQL در عمل

NRQL امکان اجرای پرس‌وجوهای تحلیلی پیچیده بدون خروجی گرفتن داده‌ها به سیستم BI را فراهم می‌کند. مثلاً می‌توان محاسبه کرد که «چند درصد از کاربران iOS 17 زمان شروع سرد بیش از 3 ثانیه را تجربه می‌کنند، گروه‌بندی‌شده بر اساس مدل دستگاه». این به تصمیم‌گیری درباره پشتیبانی از دستگاه‌های قدیمی و بهینه‌سازی برای مدل‌های خاص کمک می‌کند.

text
SELECT percentile(coldStartTime, 95)
FROM MobileSession
WHERE osVersion LIKE "iOS 17%"
AND coldStartTime > 3
FACET deviceModel
SINCE 7 days ago
LIMIT 20

پرس‌وجوی NRQL صدک 95 زمان شروع سرد را برای برنامه‌های iOS 17 که شروع سرد بیش از 3 ثانیه است، گروه‌بندی‌شده بر اساس مدل‌های دستگاه برمی‌گرداند. این امکان را فراهم می‌کند که iPhone XS 40٪ شروع کندتری نسبت به iPhone 15 دارد و تصمیم بهینه‌سازی گرفته شود.

هشدارها و تشخیص ناهنجاری با AI

New Relic یک سیستم هشدار انعطاف‌پذیر با پشتیبانی از آستانه‌های ثابت و پویا ارائه می‌دهد. Static alert هنگام تجاوز از مقدار ثابت فعال می‌شود: Apdex < 0.85. Dynamic alert از یادگیری ماشین برای تشخیص ناهنجاری‌ها استفاده می‌کند: سیستم رفتار معمول معیار را در 4 هفته گذشته یاد می‌گیرد و در انحراف بیش از 3 انحراف معیار فعال می‌شود.

تشخیص ناهنجاری با AI

New Relic AI (formerly Applied Intelligence) به طور خودکار ناهنجاری‌ها را در همه انواع داده — معیارها، رویدادها، لاگ‌ها — بدون تنظیم دستی آستانه‌ها تشخیص می‌دهد. AI anomaly detection فصلی بودن را در نظر می‌گیرد (ترافیک روزانه بالاتر از شب، روزهای کاری بالاتر از آخر هفته) و هشدارهای نادرست در نوسانات مورد انتظار ایجاد نمی‌کند. هنگام تشخیص ناهنجاری، AI یک رویداد با پیشنهاد علت ریشه‌ای بر اساس همبستگی با سایر معیارها ایجاد می‌کند.

یکپارچه‌سازی با PagerDuty و Slack

New Relic ارسال اعلان‌ها به PagerDuty, Slack, Opsgenie, Webhook و ایمیل را پشتیبانی می‌کند. Notification channels در سطح خط‌مشی هشدار پیکربندی می‌شوند و امکان ارسال اعلان‌های متفاوت به تیم‌های مختلف را فراهم می‌کنند: خطاهای بحرانی — به مهندس کشیک از طریق PagerDuty، هشدارها — به کانال Slack تیم.

سوالات متداول

هزینه New Relic برای برنامه موبایل چقدر است؟

New Relic یک طرح رایگان 100 GB در ماه (همه انواع داده) ارائه می‌دهد. برای یک برنامه موبایل با 100,000 DAU و 5,000 رویداد به ازای هر کاربر در ماه، این برای مانیتورینگ پایه کافی است. طرح پولی Pro از 0.55 دلار به ازای هر GB بالای حد رایگان شروع می‌شود.

New Relic چه تفاوتی با Datadog دارد؟

New Relic با زبان پرس‌وجوی NRQL، طرح رایگان سخاوتمندانه (100 GB) و عمق مانیتورینگ موبایل متمایز می‌شود. Datadog در مانیتورینگ زیرساخت و محصولات امنیتی قوی‌تر است. انتخاب بین آنها اغلب به استک فناوری بستگی دارد: اگر برنامه heavily mobile است — New Relic، اگر بار اصلی روی زیرساخت است — Datadog.

آیا New Relic از OpenTelemetry پشتیبانی می‌کند؟

بله، New Relic به طور کامل از OpenTelemetry Protocol (OTLP) پشتیبانی می‌کند. داده‌های OpenTelemetry SDK بدون استفاده از عامل New Relic مستقیماً پذیرفته می‌شوند. همه انواع سیگنال‌ها پشتیبانی می‌شوند: traces, metrics, logs و همچنین ساخت خودکار Service Map بر اساس داده‌های OTel.

New Relic چگونه داده‌های کاربران را پردازش می‌کند؟

New Relic ابزارهای Data Management را فراهم می‌کند: ماسک‌گذاری PII، حذف ویژگی‌ها بر اساس قوانین، مدیریت دوره نگهداری. طرح رایگان داده‌ها را 8 روز برای trace‌ها، 30 روز برای معیارها و 7 روز برای لاگ‌ها ذخیره می‌کند. طرح‌های پولی امکان افزایش دوره نگهداری تا 90 روز و بیشتر را فراهم می‌کنند.

آیا می‌توان از New Relic برای برنامه‌های Flutter استفاده کرد؟

بله، New Relic SDK را برای Flutter از طریق بسته رسمی (newrelic_flutter) ارائه می‌دهد. این بسته از Android و iOS، جمع‌آوری خودکار درخواست‌های HTTP، کرش‌ها و ابزارگذاری سفارشی پشتیبانی می‌کند. برای کد Dart، Flutter SDK همان عملکردهای SDK بومی را با ایجاد خودکار تراکنش‌ها و spanها فراهم می‌کند.

خلاصه

  • New Relic — پلتفرم full-stack observability با پشتیبانی از برنامه‌های موبایل، وب و بک‌اند در یک رابط واحد.
  • New Relic One — کنسولی با داشبوردهای سفارشی، زبان پرس‌وجوی NRQL و بصری‌سازی خودکار داده‌ها.
  • Mobile SDK برای iOS و Android جمع‌آوری خودکار معیارها، کرش‌ها، درخواست‌های HTTP و ردیابی توزیع‌شده را فراهم می‌کند.
  • Distributed Tracing درخواست موبایل را با پردازش سرور از طریق W3C Trace Context و OpenTelemetry متصل می‌کند.
  • NRQL امکان اجرای پرس‌وجوهای تحلیلی روی داده‌های تله‌متری بدون خروجی به سیستم‌های BI، از جمله صدک‌ها و گروه‌بندی‌ها را فراهم می‌کند.
  • هشدارهای AI به طور خودکار ناهنجاری‌ها را با در نظر گرفتن فصلی بودن تشخیص می‌دهد و علت ریشه‌ای حادثه را پیشنهاد می‌کند.
  • New Relic برای full-stack observability با تمرکز بر برنامه‌های موبایل توصیه می‌شود — طرح رایگان 100 GB در ماه اکثر پروژه‌های متوسط را پوشش می‌دهد.

ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد

IT Sectr از سال 2017 برنامه‌های iOS و Android را برای استارتاپ‌ها و کسب‌وکارها ایجاد می‌کند. ما به شما مشاوره می‌دهیم و بهترین راه‌حل را پیشنهاد خواهیم کرد.

بحث درباره پروژه

همچنین بخوانید