دليل النشر

‏Grafana Tempo و‏OpenTelemetry: التتبع الموزع على خادم VPS

انشر على VPS Cloud →

الأمان والمراقبة7 دقيقة قراءة

‏Grafana Tempo و‏OpenTelemetry: التتبع الموزع على خادم VPS

تُفرض رسوم تدريجية عند استخدام وكلاء خاصين مثل Datadog أو New Relic، مما يُقيّدك بنظامهم البيئي تدريجياً. يقدم OpenTelemetry و‏Grafana Tempo بديلاً متخرجاً من CNCF، قابلاً للنقل بين الخوادم الخلفية، ويمكن نشره بالكامل على خادم VPS الخاص بك في أقل من ساعة.

لماذا تختار OpenTelemetry بدلاً من وكيل خاص

‏OpenTelemetry مشروع متخرج من CNCF يوحّد الركائز الثلاث للمراقبة — التتبع والقياسات والسجلات — ضمن معيار محايد لا يرتبط بأي مورد. خلافاً لوكلاء Datadog أو New Relic، يستقبل OTel Collector بيانات القياس عن بُعد ويحولها ويصدّرها إلى أي خادم خلفي متوافق. يمكنك تغيير التخزين دون لمس كود تطبيقاتك. تشمل مجموعات تطوير البرمجيات Node‎.js وPython وGo وJava وPHP وRuby ومعظم اللغات الحديثة، مما يجعلها أساساً دائماً للقياس الفعلي بصرف النظر عن مكدسك التقني.

ما يوفره مكدس OTel و‏Grafana Tempo

  • تتبع موزع بلا فهرس خارجي — يخزن Grafana Tempo v2‎.x التتبعات في كتل مضغوطة (parquet) على القرص المحلي أو على وحدة تخزين الكائنات، دون الحاجة إلى Cassandra أو Elasticsearch.
  • استعلامات TraceQL — تتيح لغة الاستعلام المخصصة في Tempo تصفية التتبعات حسب المدة أو الخدمة أو حالة الخطأ أو السمات المخصصة في ثوانٍ.
  • توافق مع بروتوكولات متعددة — يقبل Tempo بروتوكولات OTLP وZipkin وJaeger، مما يتيح ربط تطبيقاتك الحالية دون إعادة قياس.
  • مكدس خفيف على VPS — يكفي 2 غيغابايت من الذاكرة العشوائية لبيئة التطوير أو الاختبار؛ وفي بيئة الإنتاج تحت الضغط يوفر 4 غيغابايت هامشاً مريحاً.
  • تكلفة قابلة للتحكم — يحل خادم VPS مستضاف ذاتياً بـ 99 درهم/شهر شهرياً محل اشتراك Datadog APM الذي يُفوتَر بنحو 23 دولاراً لكل مضيف شهرياً.

المتطلبات المسبقة للخادم VPS

يجب أن يمتلك خادم VPS الخاص بك ذاكرة عشوائية لا تقل عن 2 غيغابايت وصلاحية الوصول بحساب الجذر أو sudo. يجب تثبيت Docker Engine و‏Docker Compose v2. جهّز نطاقاً فرعياً مخصصاً (مثل grafana‎.your-domain‎.com) لعرض واجهة Grafana خلف وكيل عكسي مؤمّن بـ TLS. يجب فتح المنفذين 4317 (‏OTLP/gRPC‏) و4318 (‏OTLP/HTTP‏) في جدار الحماية لاستقبال بيانات القياس من تطبيقاتك.

نشر مكدس OTel في خمس خطوات

01

إنشاء هيكل Docker Compose

نظّم مجلد otel-stack/ يحتوي على ملفات الإعداد وملف docker-compose‎.yml. عرّف أربع خدمات: otel-collector وtempo وprometheus وgrafana. اربطها على شبكة Docker داخلية باسم monitoring. ثبّت وحدة تخزين مسماة tempo-data لحفظ التتبعات على قرص الخادم.

02

إعداد OTel Collector (‏`otelcol-config‎.yaml`‏)

أعلن عن مستقبلَين: otlp على المنفذين 4317 (‏gRPC‏) و4318 (‏HTTP‏). في قسم exporters، أضف otlp/tempo يشير إلى tempo:4317 وprometheus على المنفذ 8889. يربط خط أنابيب traces المستقبِل OTLP بمصدّر Tempo؛ ويربط خط أنابيب metrics المستقبِل OTLP بمصدّر Prometheus.

03

إعداد Grafana Tempo (‏`tempo-config‎.yaml`‏)

فعّل مستقبل OTLP (‏gRPC‏ على المنفذ 4317). اضبط وضع التخزين الخلفي على local مع المسار /var/tempo. فعّل ميزة search للسماح باستعلامات TraceQL من Grafana. للاستخدام في بيئة الإنتاج، استبدل التخزين الخلفي local بـ s3 أو gcs وأدخل بيانات اعتماد وحدة التخزين الخاصة بك.

04

تشغيل Grafana مع مصادر بيانات Tempo و‏Prometheus

ثبّت ملف التهيئة المسبقة datasources‎.yaml في مجلد /etc/grafana/provisioning/datasources/. أعلن عن مصدرَي بيانات: مصدر Tempo يشير إلى http://tempo:3200 ومصدر Prometheus يشير إلى http://prometheus:9090. شغّل المكدس بالأمر docker compose up -d. افتح Grafana على المنفذ 3000 وتحقق من أن مصدرَي البيانات يظهران باللون الأخضر.

05

قياس أول تطبيق Node‎.js أو Python

بالنسبة لـ Node‎.js، ثبّت @opentelemetry/sdk-node و@opentelemetry/auto-instrumentations-node. هيئ SDK مع مصدّر OTLP يشير إلى http://your-vps:4318 واضبط متغير البيئة OTEL_SERVICE_NAME باسم خدمتك. بالنسبة لـ Python، استخدم opentelemetry-distro وopentelemetry-exporter-otlp. أعد تشغيل تطبيقك وافتح Grafana Explore لترى أول التتبعات تظهر.

‏TraceQL هي لغة الاستعلام الأصلية في Grafana Tempo. تتيح تصفية التتبعات حسب المدة أو الخدمة أو حالة HTTP أو سمة مخصصة. فمثلاً، يعزل الاستعلام { duration > 500ms && status = error } فوراً الاستدعاءات البطيئة والمخفقة عبر بنيتك التحتية بأكملها. ادمج شروطاً متعددة باستخدام && أو || لتضييق نطاق التشخيص دون تصفح آلاف spans يدوياً.

المزيد: ربط التتبعات والقياسات والسجلات

أضف Grafana Loki إلى مكدسك لتمركز سجلات التطبيقات في البيئة ذاتها. يتيح لك Grafana Explore الانتقال من تتبع إلى سجلاته المرتبطة بنقرة واحدة، ثم مراجعة قياسات Prometheus المقابلة على نفس النافذة الزمنية. إن كنت تفضل ثنائياً واحداً يجمع كل شيء، فإن OpenObserve بديل خفيف يضم التتبعات والقياسات والسجلات في خدمة واحدة — متاح أيضاً للاستضافة الذاتية على VPS.

Grafana est dans le catalogue ServOrbit

Déployez Grafana en un clic depuis notre Marketplace et connectez-y votre stack OTel + Tempo sans configuration manuelle.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو راسل فريقنا — الدعم بـ العربية والفرنسية والإنجليزية.