تتبّع أخطاء Rust لخدمات نادرًا ما تتعطّل — حتى تتعطّل
صندوق واحد لتتبّع أخطاء Rust ومراقبة الطلبات والتتبّع — طبقات محكومة بالميزات لـ Axum وActix، ونشرٌ للتتبّع الموزّع، موحّدٌ مع السجلات والتوافر والبنية التحتية على المنصة نفسها.
لماذا تحتاج خدمات Rust إلى تتبّع أخطاء حقيقي
يمسك المُصرّف صنفًا كاملًا من الأخطاء — ولا شيء من الأخطاء التشغيلية. قيمةُ Result تصعّد io::Error لا يسجّله أحد، وخدمةٌ في الأسفل تنقطع مهلتها فيُرجع معالج Axum أخطاء 500 لساعة كاملة، وحالة إعداد حدّية تُسقط عاملًا بـ panic عند البدء. تتعطّل خدمات Rust نادرًا حتى إن الفرق تتجاهل المراقبة، فإذا تعطّلت لم يكن هناك ما يُنظر إليه: لا تاريخ أخطاء، ولا خط زمني للطلبات، ولا تتبّع يربط الخدمة المتعطّلة بالاعتمادية التي تسبّبت بها.
يسدّ صندوق AllStak لـ Rust هذه الفجوة دون مصارعة اللغة. أضف اعتمادية واحدة إلى Cargo.toml مع رايات الميزات التي تحتاجها، واستدعِ allstak::init مرة واحدة واحتفظ بالـ guard المُعاد طوال عمر البرنامج — أو اكتفِ بـ allstak::init_from_env(). التقط الأخطاء عبر capture_error والرسائل عبر capture_message؛ وأضف طبقة AllstakLayer المحكومة بالميزات لـ Axum أو wrap الخاص بـ Actix، مع reqwest-middleware للنداءات الصادرة، فتُسجَّل الطلبات الواردة والصادرة ويتواصل التتبّع الموزّع عبر الخدمات. ويصل كل شيء إلى جانب سجلاتك وفحوصات التوافر ومقاييس الخوادم — منصة واحدة وفاتورة واحدة.
مراقبة شاملة لـ Rust
من أول خطأ يطفو إلى الخادم الذي عمل عليه، يغطّي AllStak خدمات Rust عبر كل طبقة.
تتبّع الأخطاء
التقط الأخطاء عبر capture_error والرسائل بمستوياتها عبر capture_message، مربوطةً بالإصدار والبيئة اللذين أتت منهما — مجمّعةً في مشكلات يمكنك معالجتها.
طبقات Axum وActix
وسيط أطر عمل محكوم بالميزات — AllstakLayer لـ Axum وwrap باسم Allstak لـ Actix — يسجّل الطلبات الواردة دون لمس معالجاتك.
التتبّع الموزّع
تسجّل طبقات الأطر وreqwest-middleware الطلبات الواردة والصادرة وتواصل التتبّع الموزّع، فيُتتبَّع النداء البطيء عبر حدود الخدمات.
إدارة السجلات
اجمع السجلات من كل خدمة Rust إلى جانب الأخطاء المرتبطة بها — مع راية ميزة tracing للمنظومة التي تستخدمها أصلًا — قابلة للبحث من لوحة واحدة.
مراقبة البنية التحتية
يبلّغ وكيل خفيف على الخادم عن المعالج والذاكرة والقرص والشبكة وDocker — لتفرّق بين خطأ في التطبيق وخادم تحت الضغط.
التنبيهات والحوادث
تلقَّ إشعارات عند ظهور أخطاء جديدة أو ارتفاعها أو تجاوز الحدود عبر Slack أو البريد أو Webhooks أو PagerDuty أو Opsgenie أو Telegram — مع حوادث تُبقي المناوبة منظّمة.
أضف AllStak خلال دقائق
أضف الصندوق إلى Cargo.toml مع رايات الميزات التي تحتاجها، ثم هيّئ مرة واحدة واحتفظ بالـ guard طوال عمر البرنامج.
# Cargo.toml
[dependencies]
allstak = { version = "0.2", features = ["tracing", "axum"] }
// main.rs
let _guard = allstak::init(allstak::ClientOptions {
api_key: std::env::var("ALLSTAK_API_KEY").unwrap_or_default(),
host: "https://api.allstak.sa".into(),
release: Some("[email protected]".into()),
environment: Some("production".into()),
..Default::default()
});أبقِ الـ _guard حيًّا طوال عمر البرنامج — أو هيّئ من البيئة عبر allstak::init_from_env(). وفعّل فقط ميزات الأطر التي تستخدمها (axum/actix/tracing/…). دليل الإعداد الكامل ومرجع الـ SDK.
ما تراه في AllStak
تفاصيل الخطأ مع سياق كامل
افتح أي مشكلة لترى الخطأ الملتقط، والبيئة والإصدار اللذين أتت منهما، وعدد مرات حدوثها وآخرها — كل ما تحتاجه المعالجة على شاشة واحدة.
الطلبات والتتبّعات
زمن الاستجابة لكل نقطة نهاية من طبقة Axum أو Actix، مع طلبات واردة وصادرة موصولة في تتبّع موزّع واحد — فيشير المسار البطيء إلى الاعتمادية خلفه.
لوحة تحكّم موحّدة آنية
تتحدّث الأخطاء والطلبات والسجلات وصحة الخوادم لكل خدمات Rust لديك بشكل حيّ على لوحة واحدة — بالعربية أو الإنجليزية — ليشارك الفريق بأكمله الصورة نفسها.
لماذا تختار الفرق AllStak لـ Rust
- منصة واحدة للأخطاء والطلبات والتتبّعات والسجلات والبنية التحتية — فاتورة واحدة دون تشتّت الأدوات.
- تصميم محكوم بالميزات: اجلب فقط التكاملات التي تستخدمها — axum وactix وtracing — ولا شيء غيرها.
- تهيئة واحدة مع guard محفوظ — أو allstak::init_from_env() — ويعمل الالتقاط عبر البرنامج كله.
- تفصل الإصدارات والبيئات بياناتك، فيشير أي انحدار إلى عملية النشر التي تسبّبت به.
- تسعير واضح بالريال السعودي مع باقة مجانية حقيقية — ابدأ دون بطاقة ائتمان.
- تبقى بياناتك داخل السعودية، مع لوحة تحكّم بالعربية والإنجليزية للفريق بأكمله.
أسئلة شائعة حول مراقبة Rust
كيف أضيف تتبّع الأخطاء إلى خدمة Rust؟
أضف صندوق allstak إلى Cargo.toml مع رايات الميزات التي تحتاجها، واستدعِ allstak::init مرة واحدة (محتفظًا بالـ guard المُعاد طوال عمر البرنامج) أو allstak::init_from_env()، ثم التقط الأخطاء عبر allstak::capture_error والرسائل عبر allstak::capture_message — ويغطّي دليل الإعداد التهيئة كاملة.
هل يدعم AllStak إطاري Axum وActix؟
نعم. يشحن الصندوق وسيط أطر عمل محكومًا بالميزات: AllstakLayer لـ Axum، وwrap باسم Allstak لـ Actix، وreqwest-middleware للنداءات الصادرة. تسجّل الطلبات الواردة والصادرة وتواصل التتبّع الموزّع عبر الخدمات.
هل AllStak مجاني لـ Rust؟
نعم. يوفّر AllStak باقة مجانية يمكنك البدء بها دون بطاقة ائتمان، مع تسعير واضح بالريال السعودي مع نموّك. وصندوق Rust نفسه مجاني الاستخدام.
هل AllStak بديل لـ Sentry في Rust؟
نعم. تحصل على تتبّع أخطاء Rust مع التجميع والإصدارات — إضافة إلى مراقبة الطلبات عبر طبقتي Axum وActix والتتبّع الموزّع والسجلات والتوافر ومراقبة البنية التحتية على المنصة نفسها، بتسعير بالريال السعودي وبيانات مخزّنة داخل السعودية.
هل سيُبطئ الصندوق خدمة Rust لديّ؟
صُمّم الصندوق للإنتاج ويتّبع فلسفة Rust في الدفع مقابل ما تستخدمه فقط: فالتكاملات محكومة بالميزات، فلا يُصرَّف إلا ما تفعّله، ويركب التقاط الطلبات طبقة الوسيط بدلًا من تغليف معالجاتك. تحصل على الرؤية دون التخلي عن الأداء الذي اخترت Rust لأجله.
استكشف المزيد
ابدأ مراقبة Rust اليوم
أضف صندوقًا واحدًا، وهيّئ مرة واحدة، وشاهد الأخطاء والطلبات والتتبّعات تتدفّق إلى لوحة واحدة. ابدأ مجانًا — دون الحاجة إلى بطاقة ائتمان.