امروز، ما قابلیت کلودفلر تریسز (Cloudflare Traces) را در قالب نسخه بتا عمومی معرفی میکنیم و ردیابی خودکار را از ورکز (Workers) فراتر برده و به سایر بخشهای مسیر درخواست گسترش میدهیم. در یک تریس واحد، شما میتوانید قوانین امنیتی پشتیبانیشده، تبدیلها، تصمیمگیریهای کَش، مسیریابی، اجرای ورکز (Worker execution) و مدیریت مبدا (origin handling) را مشاهده کنید و سپس آن تریس را در سرویسهای در حال اجرا روی کلودفلر (Cloudflare)، در مبدا خود یا در سایر بخشهای استک ادامه دهید. این یک سرمایهگذاری بلندمدت روی اوپنتلِمِتری (OpenTelemetry) و تبدیل کردن کلودفلر (Cloudflare) به قابلمشاهدهترین بخش استک شما است.
اکنون شما میتوانید کارهای زیر را انجام دهید:
- ردیابی خودکار درخواستها در سراسر کلودفلر (Automatically trace requests across Cloudflare): ثبت عملیات پشتیبانیشده پلتفرم در یک خط زمانی در سطح درخواست، بدون نیاز به راهاندازی اضافی.
- کنترل درخواستهایی که ردیابی میشوند: تنظیم نرخ نمونهبرداری پایه و سپس استفاده از قوانین تریس (Trace Rules) برای لغو آن جهت ترافیک منطبق.
- انتشار زمینه تریس سرتاسری (End-to-end trace context propagation): پذیرش و ارسال هدرهای W3C traceparent
- بررسی تریسها در کلودفلر (Investigate traces in Cloudflare): مشاهده خطوط زمانی درخواست و جزئیات اسپان بهطور مستقیم در داشبورد کلودفلر (Cloudflare).
- صادرات تریسها با اوپنتلِمِتری (Export traces with OpenTelemetry): ارسال اسپانهای خود به هر مقصدی با یک پایانه (endpoint) سازگار با پروتکل اوپنتلِمِتری (OTLP).
شما میتوانید ردیابی را در داشبورد کلودفلر (Cloudflare) روی هر دامنهای فعال کنید یا به ایجنت خود اجازه دهید آن را برای شما تنظیم کند:
Copy promptUsing the Cloudflare cf CLI, configure Tracing for my zone with a 10% sampling rate and persist traces in Cloudflare. If I have multiple zones, ask me which one to use.ارائه همان میزان دیدی که ما برای دیباگ کلودفلر استفاده میکنیم
هنگامی که تیمهای خودمان به بررسی موضوعی میپردازند، از تریسهای داخلی خود استفاده میکنیم که اغلب شامل هزاران اسپان برای یک تریس واحد هستند و توسط دهها سرویس و قابلیت تولید شدهاند. این امر به ما اجازه میدهد عمیقاً وارد هر جزئیات از یک درخواست مشخص شویم. ما فکر نمیکنیم که این قابلیت دیدهبانی باید در سیستمهای داخلی ما متوقف شود.
ورکز تریسینگ (Workers Tracing) اولین قدم ما در جهت افشای اتفاقاتی بود که روی پلتفرم ما رخ میدهد. سال گذشته، ما ابزار دقیق خودکار را برای فراوانیهای ورکز، از جمله درخواستهای خروجی و فراخوانیها به KV، R2، D1، Durable Objects و سایر ورکزها راهاندازی کردیم. این قابلیت کار انجام شده در داخل زمان اجرای ورکز را بدون نیاز به کد ردیابی برای هر عملیات نشان میدهد.
هدف کلودفلر تریسز (Cloudflare Traces) این است که همان سطح از قابلیت دیدهبانی را برای همه افرادی که از کلودفلر (Cloudflare) استفاده میکنند به ارمغان بیاورد؛ چه در حال توسعه روی کلودفلر (Cloudflare) باشید و چه صرفاً کلودفلر (Cloudflare) را جلوی یک مبدا قرار داده باشید. شما میتوانید ببینید که ترافیک شما چگونه در پلتفرم ما حرکت کرده است و نقطهها را بین نحوه پیکربندی کلودفلر (Cloudflare) و تاثیر آن بر زمان پردازش درخواست، تصمیمات مسیریابی و موارد دیگر به هم متصل کنید.
دنبال کردن یک درخواست از ابتدا تا انتها
مسیر یک درخواست از طریق کلودفلر (Cloudflare) میتواند پیچیده باشد! این درخواست ممکن است از قوانین امنیتی، تبدیلها، مسیریابی، کَش عبور کند یا به طور کامل به سرویس دیگری پراکسی شود. کلودفلر تریسز (Cloudflare Traces) هر مرحله پشتیبانیشده را به عنوان یک اسپان ثبت میکند، از جمله زمانبندی، نتیجه و ویژگیهای مرتبط آن. به جای بازسازی درخواست از لاگها و پیکربندیهای جداگانه، میتوانید مسیر درخواست را از طریق سیستم ما در یک مکان مشاهده کنید.
شما میتوانید به سوالاتی مانند موارد زیر پاسخ دهید:
چرا درخواست مسدود یا با چالش روبرو شد و کدام قانون امنیتی اقدام کرد؟
ببینید چه زمانی قوانین سفارشی یا مدیریتشده درخواست را ارزیابی کردهاند، ارزیابی چقدر طول کشیده و اقدام حاصل چه بوده است. قانون مسئول مسدودسازی یا چالش را از طریق رویدادهای اسپان آن شناسایی کنید.
آیا URL قبل از رسیدن به برنامه توسط یک قانون تبدیل (Transform Rule) بازنویسی شد؟
شما میتوانید اسپان http_request_transform را باز کنید تا هر تغییر، جزء درخواستی که تحت تاثیر قرار گرفته و قانون مسئول را مشاهده کنید. همچنین میتوانید ببینید که تبدیل نسبت به مسیریابی و مدیریت مبدا در چه نقطهای رخ داده است.
کدام قوانین صفحه (Page Rules)، اسنیپتها (Snippets) یا ورکزها (Workers) درخواست را مدیریت یا تغییر دادند؟
اسپان workers_routing نشان میدهد که آیا یک مسیر مطابقت داشته است یا خیر، از چه نوع مسیریابی استفاده شده و الگوی مسیر منطبق کدام بوده است.
آیا پاسخ از کَش ارائه شد و زمان بین کلودفلر، اتصال مبدا و برنامه در کجا صرف شد؟
شما میتوانید اسپانهای تو در تو کَش، بالادست (upstream) و مبدا را گسترش دهید تا ببینید درخواست زمان خود را کجا صرف کرده است. در اینجا، میتوانید ببینید که یک کَشمیس (cache miss) رخ داده که به مبدا رفته و ۵۲۷ میلیثانیه از ۵۳۹ میلیثانیه را برای دریافت پاسخ صرف کرده است.
پیکربندی ردیابی خود
هیچ ابزار دقیق، پیکربندی یا افزونه خاصی مورد نیاز نیست. هنگامی که ردیابی برای یک دامنه فعال میشود، کلودفلر (Cloudflare) این اسپانها را به طور خودکار تولید میکند. این به شما امکان میدهد با پایبندی به استانداردهای باز، تریس را از طریق سرویسهای شخص ثالث گسترش داده و دوباره بازگردانید. از آنجا، میتوانید با استفاده از نرخ نمونهبرداری پایه و قوانین تریس (Trace Rules) کنترل کنید که کدام درخواستها ردیابی شوند.
تنظیم نرخ نمونهبرداری پایه
شما میتوانید ردیابی را روی هر دامنهای فعال کنید و یک نرخ نمونهبرداری پایه تنظیم کنید تا بین قابلیت دیدهبانی، حجم داده و هزینه تعادل ایجاد کنید. ممکن است ۱ درصد از درخواستها را در طول کارکرد عادی ردیابی کنید، که به شما یک نمای پیوسته از رفتار درخواست بدون جمعآوری تریس برای هر درخواست میدهد.
پیکربندی قوانین تریس (Trace Rules)
قوانین تریس (Trace Rules) به شما اجازه میدهند در حالی که یک نرخ نمونهبرداری پایه پایین را حفظ میکنید، تریسهای کامل را برای یک بررسی خاص ثبت کنید. اگر یک مشتری مشکلی را گزارش دهد، میتوانید ۱۰۰ درصد ترافیک را برای نام میزبان، آیپی منبع یا هدر درخواست شناساییکننده او ردیابی کنید در حالی که بقیه را روی ۱ درصد رها میکنید. یا در طول یک بررسی، میتوانید ۱۰۰ درصد درخواستهایی را که دارای هدر دیباگ موقت هستند ردیابی کنید، در حالی که سایر ترافیکها را روی پایه نگه دارید. این به شما اجازه میدهد بدون افزایش ردیابی در سراسر دامنه، یک مشکل را بازسازی کنید.
قوانین تریس از همان زبان قوانین کلودفلر (Cloudflare) استفاده میکنند، بنابراین میتوانید مسیرها، روشها، هدرها، آدرسهای IP، جغرافیاها یا ترکیبی از آن ویژگیها را هدف قرار دهید.
پذیرش و انتشار زمینه تریس (Trace Context)
یکی از رایجترین درخواستهایی که میشنویم برای ردیابی توزیعشده واقعی است: یک تریس واحد که یک درخواست را به داخل کلودفلر (Cloudflare)، از طریق پلتفرم ما و به سمت بقیه استک شما دنبال میکند.
کلودفلر تریسز (Cloudflare Traces) میتواند یک هدر W3C traceparent را از یک درخواست ورودی بپذیرد، به اسپانهای کلودفلر (Cloudflare) اجازه میدهد به تریسی بپیوندند که قبل از رسیدن درخواست به پلتفرم ما آغاز شده است. یک سیاست انتشار ورودی کنترل میکند که آیا کلودفلر (Cloudflare) آن زمینه را میپذیرد یا خیر.
کلودفلر (Cloudflare) همچنین میتواند یک هدر traceparent جدید را به مبدا شما ارسال کند. هر سرویس ابزار دقیقشده دیگری میتواند آن زمینه را استخراج کرده و تریس را از طریق APIها، پایگاههای داده و سرویسهای در حال اجرا روی کلودفلر (Cloudflare) یا جاهای دیگر ادامه دهد. برای مشاهده همهچیز به عنوان یک تریس متصل، میتوانید هم اسپانهای کلودفلر (Cloudflare) و هم برنامهها را به همان بکاند سازگار با اوپنتلِمِتری ارسال کنید.
صادرات تریسها به پلتفرم دیدهبانی خود
شما میتوانید اسپانهای کلودفلر (Cloudflare) را از طریق OTLP به یک پلتفرم دیدهبانی سازگار صادر کنید، جایی که در کنار تلهمتری از بقیه استک شما ظاهر میشوند. یک مقصد در سطح حساب کاربری پیکربندی کنید، سپس انتخاب کنید کدام دامنهها تریسها را به آن ارسال کنند. این بخشی از تعهد ما به اوپنتلِمِتری (OpenTelemetry) است: کلودفلر (Cloudflare) فعالیت درخواست را به عنوان اسپانهای اوپنتلِمِتری نشان میدهد و آنها را با استفاده از OTLP تحویل میدهد و دادهها را در ابزارهای دیدهبانی قابل حمل نگه میدارد.
به ایجنت خود اجازه دهید تریسهای کلودفلر را بررسی کند
هنگامی که از یک ایجنت کدنویسی میخواهید یک مشکل تولید را دیباگ کند، ممکن است کد شما را بازرسی کند و تستها را اجرا کند، اما ممکن است نتواند ببیند چه اتفاقی برای درخواست در تولید افتاده است. با سرور Cloudflare Observability MCP، ایجنت شما میتواند از SQL API ما برای پرسوجو از تریسهای شما (و تمام دادههای دیدهبانی شما!) استفاده کند و به تلهمتری تولید بررسی شما دسترسی پیدا کند.
به ایجنت خود اجازه دهید درخواستهای مناسب را پیدا کند، تریسهای ناموفق را با تریسهای موفق مقایسه کند و جایی که اسپانهای آنها واگرا میشوند را شناسایی کند. از آنجا که ایجنت همچنین میتواند مخزن شما را بازرسی کند، میتواند آن یافتهها را به کد مربوطه متصل کند، آنچه را که نیاز به تغییر دارد محدود کند و به شما کمک کند یک اصلاح را برای بررسی آماده کنید.
قیمتگذاری
کلودفلر تریسز (Cloudflare Traces) بخشی از مدل قیمتگذاری یکپارچه Cloudflare Observability خواهد بود. به جای شارژ بر اساس تعداد اسپانها/رویدادها، قیمتگذاری بر اساس میزان دادههای دیدهبانی که جذب میکنید و مدت زمان نگهداری آنها است. قیمتگذاری جدید از ۱ دسامبر ۲۰۲۶ در سراسر ردیابی کلودفلر (و ورکز تریسینگ!) اجرایی خواهد شد.
Plan | Included Usage | Retention | Additional Usage |
|---|---|---|---|
Free | 0.5 GB of ingestion per day | 7 Days | Not available |
Paid and Enterprise | 50 GB of ingestion | Up to 1 year | $0.25 per GB ingested |
گام بعدی چیست
به دنبال بتای عمومی، ما قصد داریم موارد زیر را راهاندازی کنیم:
- ابزار دقیق خودکار گستردهتر: افزودن اسپانهای بیشتر در سراسر مسیر درخواست HTTP (مانند قوانین DDoS، اکسس) و مسیر اجرای ورکز (مانند ورکفلوها، صفها، پایپلاینها).
- انتشار زمینه احراز هویت شده: به فراخوانندگان مورد اعتماد اجازه دهید بدون پذیرش زمینه از هر درخواست ورودی، یک تریس موجود را ادامه دهند.
- ردیابی موردی (Ad hoc tracing): ثبت یک درخواست خاص بر اساس تقاضا بدون تغییر نرخ نمونهبرداری پایه.
- پشتیبانی از API اوپنتلِمِتری در ورکز: ادامه ساخت APIهای اوپنتلِمِتری ما برای فعال کردن افزودن ویژگیها به اسپانهای موجود یا دریافت زمینه تریس.
- نگهداری طولانیتر: نگه داشتن دادههای تریس به مدت حداکثر ۳۶۵ روز برای بررسیهای طولانیتر.
شروع به کار
مستندات Cloudflare Traces را دنبال کنید تا اولین درخواست خود را ردیابی کنید و نمونهبرداری را با قوانین تریس تنظیم کنید. کلودفلر تریسز (Cloudflare Traces) در بتای عمومی از طریق داشبورد، API یا Terraform با پشتیبانی از صادرات به یک مقصد OTLP در دسترس است.
منبع: blog.cloudflare.com
