إنتقل إلى المحتوى الرئيسي

توجيه سجلات التطبيقات السحابية إلى مسار معالجة

يوضح لك هذا الدليل كيفية محاكاة حدث سجل JSON واحد وإرساله والتحقق منه ضمن سير عمل خط أنابيب القابلية للمراقبة.

الهدف: استيعاب سجل تطبيق وهمي، والتحقق من وصوله إلى خط الأنابيب، وإعداده للتوجيه إلى وجهة، مثل Splunk أو Elastic أو S3.

لماذا هذا مهم

قبل إنشاء قواعد تحليل معقدة أو توجيه البيانات إلى أدوات إدارة المعلومات والأحداث الأمنية (SIEM) المكلفة، يجب عليك التحقق من مسار الاستيعاب الخاص بك. يؤكد سير العمل هذا ما يلي:

  1. أن رمز API الخاص بك يعمل.
  2. أن خط الأنابيب يقبل بنية JSON الخاصة بك.
  3. أنه يمكنك رؤية البيانات في الوقت الفعلي.

قبل البدء

تأكد من أن لديك:

  • رمز API (مع أذونات ingest).
  • معرف الدفق الفريد الخاص بك (من واجهة مستخدم النظام الأساسي).
  • وصول إلى محطة طرفية (لتشغيل curl) أو Postman.

نظرة عامة على خط الأنابيب

لقطة شاشة لهيكل خط الأنابيب

1. إنشاء دفق أو تحديده

في منصة المراقبة الخاصة بك:

  1. انتقل إلى Streams > Management.
  2. انقر فوق New Stream أو حدد default-logs.
  3. انسخ Stream ID، على سبيل المثال، st_12345.
  4. (اختياري) قم بتعيين سياسة الاحتفاظ. عادةً ما تكون القيمة الافتراضية هي 7 أيام.

2. إنشاء حدث سجل نموذجي

قم بمحاكاة سجل تطبيق سحابي عن طريق حفظ ما يلي باسم app-log.json.

app-log.json
{
"timestamp": "2025-11-15T08:30:00Z",
"service": "payment-gateway",
"level": "ERROR",
"message": "Transaction failed: Gateway timeout",
"transaction_id": "txn_998877",
"meta": {
"region": "us-east-1",
"customer_id": "cus_554433"
}
}
ملاحظة

احتفظ بـ timestamp بتنسيق المنظمة الدولية لتوحيد المقاييس (ISO) 8601 لضمان الفهرسة الصحيحة.

3. إرسال حدث السجل

استخدم curl لمحاكاة إرسال التطبيق للسجل.

cURL
export STREAM_ID="your_stream_id_here"
export API_TOKEN="your_api_token_here"

curl -X POST "https://api.observability-platform.com/v1/streams/ingest" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-H "X-Stream-Id: $STREAM_ID" \
-d @app-log.json

الاستجابة المتوقعة

Response
{
"status": "accepted",
"ingest_id": "evt_abc12345",
"accepted_items": 1
}

إذا رأيت status: accepted، فهذا يعني أن خط الأنابيب تلقى البيانات.

4. تحقق من السجل الخاص بك في عارض البيانات المباشر

  1. انتقل إلى Explore أو Live Tail في واجهة مستخدم المنصة.
  2. حدد دفقك (st_12345).
  3. أضف عامل تصفية: service:payment-gateway.
  4. يجب أن يظهر الحدث الخاص بك على الفور:
Live tail output
[ERROR] 2025-11-15T08:30:00Z service=payment-gateway msg="Transaction failed..."

5. توجيه السجلات إلى وجهة

الآن بعد أن أصبحت البيانات تتدفق، قم بإنشاء قاعدة توجيه:

  1. انتقل إلى Pipelines > Routing Rules.
  2. انقر على New Rule.
  3. Filter: level:ERROR
  4. Action: التوجيه إلى S3-Archive وSlack-Alerts.
  5. Save & Deploy.

أرسل طلب curl مرة أخرى.

  • تحقق من دلو S3 الخاص بك.
  • تحقق من قناة Slack الخاصة بك.

6. تحسين خط الأنابيب

الآن بعد أن أصبح لديك تدفق عمل، فكر في إضافة:

  • Remapping: remap meta.customer_id to a top-level attribute for easier filtering and faceting.
  • Parsing: extract error codes or transaction IDs from raw message strings using a Grok parser.
  • Enrichment: add a team_owner tag based on the service name.
  • Masking: obfuscate customer_id if it's personally identifiable information (PII).

استكشاف الأخطاء وإصلاحها

المشكلة / رمز الحالةالسبب المحتمل / الحل
401 غير مصرح بهتحقق من أذونات رمز API الخاص بك.
400 طلب غير صحيحتحقق من صحة بناء جملة JSON.
404 غير موجودتحقق من صحة X-Stream-Id.
مشكلات الطابع الزمنيتأكد من استخدام تنسيق التوقيت العالمي المنسق (UTC) ISO 8601.
البيانات لا تظهرتحقق مما إذا كان لديك مرشح نشط يستبعد السجل الجديد.

الخطوات التالية