سياسة MessageLogin

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

الموضوع

من أفضل الطرق لتتبع المشكلات في بيئة وقت تشغيل واجهة برمجة التطبيقات تسجيل الرسائل. يمكنك إرفاق سياسة MessageLogging وإعدادها في واجهة برمجة التطبيقات لتسجيل الرسائل المخصَّصة في قرص محلي (Edge for Private Cloud فقط) أو إلى سجلّ النظام.

عيّنات

سجل النظام

<MessageLogging name="LogToSyslog">
  <Syslog>
    <Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message>
    <Host>logs-01.loggly.com</Host>
    <Port>514</Port>
    <Protocol>TCP</Protocol>
    <FormatMessage>true</FormatMessage>
    <DateFormat>yyyy-MM-dd'T'HH:mm:ss.SSSZ</DateFormat>
  </Syslog>
  <logLevel>ALERT</logLevel>
</MessageLogging>

من الاستخدامات الشائعة لنوع نهج MessageLogging هو تسجيل الدخول إلى حساب سجل نظام. وعند ضبط الخادم الوكيل لواجهة برمجة التطبيقات، سيعيد توجيه رسائل السجلّ من Apigee Edge إلى خادم سجلّ نظام بعيد. يجب أن يتوفر لديك خادم سجلّ نظام مسبقًا. إذا لم يكن الأمر كذلك، تتوفَّر خدمات إدارة السجلّات العامة، مثل Splunk وSumo Logic وLoggly. إعداد خدمات إدارة السجلّات التابعة لجهات خارجية.

على سبيل المثال، لنفترض أنّك بحاجة إلى تسجيل معلومات حول كل رسالة طلب تتلقّاها واجهة برمجة التطبيقات من تطبيقات المستهلكين. وتمثّل القيمة 3f509b58 قيمة أساسية خاصة بخدمة السجلّ. إذا كان لديك حساب Loggly، يُرجى استبدال مفتاحه. ستتم تعبئة رسالة السجلّ التي يتم إنشاؤها بأربع قيم: المؤسسة، والخادم الوكيل لواجهة برمجة التطبيقات، واسم البيئة المرتبطة بالمعاملة، بالإضافة إلى قيمة معلَمة طلب البحث في رسالة الطلب.

إذا كان لديك عملية نشر Edge for Private Cloud، يمكنك أيضًا كتابة رسائل السجلّ في ملف.

سجل النظام عبر TLS/SSL

<MessageLogging name="LogToSyslog">
  <Syslog>
    <Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message>
    <Host>logs-01.loggly.com</Host>
    <Port>6514</Port>
    <Protocol>TCP</Protocol>
    <FormatMessage>true</FormatMessage>
    <SSLInfo>
        <Enabled>true</Enabled>
    </SSLInfo>
    <DateFormat>yyMMdd-HH:mm:ss.SSS</DateFormat>
  </Syslog>
  <logLevel>WARN</logLevel>
</MessageLogging>

يمكنك إرسال الرسائل إلى مزوِّدي خدمة تسجيل الرسائل التابعين لجهات خارجية عبر بروتوكول أمان طبقة النقل (TLS) أو طبقة المقابس الآمنة من خلال إضافة مجموعة <SSLInfo>.

تدوير الملف: الحجم

<MessageLogging name="LogPolicy">
  <File>
    <Message>This is a test message. Message id : {request.header.messageid}</Message>
      <FileName>test.log</FileName>
      <FileRotationOptions rotateFileOnStartup="true">
        <FileRotationType>SIZE</FileRotationType>
        <MaxFileSizeInMB>10</MaxFileSizeInMB>
        <MaxFilesToRetain>10</MaxFilesToRetain>
      </FileRotationOptions>
  </File>
  <logLevel>ERROR</logLevel>
</MessageLogging>

تدوير الملف حسب حجم الملف

تدوير الملف: الوقت

<MessageLogging name="LogPolicy">
  <File>
    <Message>This is a test message. Message id : {request.header.messageid}</Message>
    <FileName>test.log</FileName>
    <FileRotationOptions rotateFileOnStartup="true">
      <FileRotationType>TIME</FileRotationType>
      <RotationFrequency unit="minute">10</RotationFrequency>
      <MaxFilesToRetain>10</MaxFilesToRetain>
    </FileRotationOptions>
  </File>
  <logLevel>ERROR</logLevel>
</MessageLogging>

تدوير الملف استنادًا إلى الوقت

تدوير الملف: الوقت والحجم

<MessageLogging name="LogPolicy">
  <File>
    <Message>This is a test message. Message id : {request.header.messageid}</Message>
    <FileName>test.log</FileName>
    <FileRotationOptions rotateFileOnStartup="true">
      <FileRotationType>TIME_SIZE</FileRotationType>
      <MaxFileSizeInMB>10</MaxFileSizeInMB>
      <MaxFilesToRetain>10</MaxFilesToRetain>
      <RotationFrequency unit="minute">10</RotationFrequency>
    </FileRotationOptions>
  </File>
  <logLevel>ERROR</logLevel>
</MessageLogging>

تدوير الملف استنادًا إلى الوقت وحجمه

إمكانية البث

<MessageLogging name="LogPolicy">
  <File>
  ....
  ....
  </File>
  <BufferMessage>true</BufferMessage>
</MessageLogging>

تسجيل الرسائل مع تفعيل البث


مرجع العنصر

استخدم العناصر التالية لضبط نوع سياسة MessageLogging.

اسم الحقل وصف الحقل

File

وجهة الملف المحلي. (لا يتوافق تسجيل الملفات إلا في Edge لعمليات نشر Private Cloud). للحصول على معلومات عن مكان تخزين الملفات، يُرجى الاطّلاع على تسجيل موقع الملف في Edge for Private Cloud.

Message أنشِئ الرسالة ليتم إرسالها إلى ملف السجلّ، مع دمج النص مع المتغيّرات لتسجيل المعلومات التي تريدها. يُرجى الاطّلاع على عيّنات.
FileName اسم ملف السجلّ الذي يتم تسجيل الرسالة فيه
FileRotationOptions
rotateFileOnStartup

السمة القيم الصالحة: true/false

في حال ضبطها على "صحيح"، سيتم تدوير ملف السجلّ في كل مرة تتم فيها إعادة تشغيل محرّك المراسلة.

FileRotationType تُحدِّد سياسة التناوب (size أو time) لملف السجلّ.
MaxFileSizeInMB (عند اختيار size كنوع التدوير) تحدِّد هذه السمة حجم ملف السجلّ الذي يدفع الخادم إلى نقل رسائل السجلّ إلى ملف منفصل. بعد وصول ملف السجلّ إلى الحجم المحدَّد، يعيد الخادم تسمية ملف السجلّ الحالي.
RotationFrequency (عند اختيار time كنوع التدوير) تحدِّد هذه السمة الوقت بالدقائق التي تؤدي إلى أن ينقل الخادم رسائل السجلّ إلى ملف منفصل. بعد انقضاء الفاصل الزمني المحدد، تتم إعادة تسمية ملف السجل الحالي.
MaxFilesToRetain

تُحدِّد الحد الأقصى لعدد الملفات التي سيتم الاحتفاظ بها في سياق إعدادات عرض الإعلانات بالتناوب. القيمة التلقائية هي 8.

في حال تحديد صفر (0)، يتم الاحتفاظ بملفات السجلّ إلى أجل غير مسمى، ولكن تخضع لإعدادات تدوير الملفات، على الرغم من أنه لا يتم حذف أي من الملفات أو إعادة تسميتها. لذلك، لتجنُّب حدوث أخطاء امتلاء للقرص في المستقبل، اضبط هذه السياسة على قيمة أكبر من الصفر أو نفِّذ نظامًا آليًا وعاديًا لإزالة ملفات السجلّ القديمة التي تم الاحتفاظ بها أو أرشفتها.

BufferMessage

إذا كان بث HTTP مفعّلاً للخادم الوكيل، لا يتم التخزين المؤقت لرسائل الطلب/الاستجابة. إذا أردت تسجيل المحتوى الذي يتطلب تحليل رسالة التدفق، اضبط BufferMessage على "صحيح". للاطّلاع على مثال، يُرجى مراجعة علامة التبويب "يتمّ تفعيل البث" فيها. القيمة التلقائية: false

Syslog

وجهة سجل النظام. لإرسال سجل النظام إلى Splunk أو Sumo Logic أو Loggly، يُرجى الاطّلاع على ضبط خدمات إدارة السجلّات التابعة لجهة خارجية.

Message

أنشِئ الرسالة ليتم إرسالها إلى سجلّ النظام، مع دمج النص مع المتغيّرات لتسجيل المعلومات التي تريدها. يُرجى الاطّلاع على عيّنات.

ملاحظة: لن تكون متغيرات الاستجابة متاحة في PostClientFlow بعد حدوث تدفق خطأ. استخدِم متغيرات الرسائل لتسجيل معلومات الردود لكل من حالات الخطأ والنجاح. راجع أيضًا ملاحظات الاستخدام.

Host اسم المضيف أو عنوان IP للخادم الذي يجب إرسال سجل النظام إليه. إذا لم تُضمّن هذا العنصر، سيكون الإعداد التلقائي هو المضيف المحلي.
Port منفذ حيث يتم تشغيل سجل النظام. إذا لم يتم تضمين هذا العنصر، سيكون العدد التلقائي هو 514.
Protocol بروتوكول TCP أو UDP (الإعداد التلقائي). وبالرغم من أنّ بروتوكول UDP أفضل أداءً، يضمن بروتوكول TCP تسليم سجل الرسالة إلى خادم سجلّ النظام. ولإرسال رسائل سجل النظام عبر بروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة، لا يتم دعم سوى بروتوكول TCP.
FormatMessage

true أو false (الخيار التلقائي)

اختياري، ولكن يجب استخدام <FormatMessage>true</FormatMessage> للاستخدام مع Loggly

يتيح لك هذا العنصر التحكم في تنسيق المحتوى الذي تم إنشاؤه من خلال Apigee والذي تتم إضافته سابقًا إلى الرسالة. في حال ضبط هذه السياسة على "صحيح"، تتم إضافة رسالة سجلّ النظام قبل عدد ثابت من الأحرف، ما يتيح لك فلترة هذه المعلومات من الرسائل. في ما يلي مثال على التنسيق الثابت:

<14>1 2023-03-20T09:24:39.039+0000 e49cd3a9-4cf6-48a7-abb9-7ftfe4d97d00 Apigee-Edge - - - Message starts here

تتضمن المعلومات التي يتم إنشاؤها في Apigee ما يلي:

  • <14> - نقاط الأولوية (اطّلع على بروتوكول سجل النظام) استنادًا إلى مستوى السجلّ ومستوى تسهيل الرسالة.
  • 1 - إصدار سجل النظام الحالي.
  • التاريخ مع إزاحة التوقيت العالمي المنسق (UTC = +0000).
  • المعرّف الفريد العالمي (UUID) لمعالج الرسائل
  • "Apigee-Edge - - - "

في حال ضبط هذه السياسة على "خطأ" (تلقائية)، لا يتم إرفاق الرسالة بهذه الأحرف الثابتة.

PayloadOnly

true أو false (الخيار التلقائي)

يضبط هذا العنصر تنسيق الرسائل التي أنشأها Apigee ليقتصر على نص رسالة سجل النظام فقط، بدون الأحرف المضافة المحددة في FormatMessage.

إذا لم يتم تضمين هذا العنصر أو تركته فارغًا، يتم ضبط القيمة التلقائية على false.

راجِع FormatMessage.

DateFormat

اختياريّ.

سلسلة نموذج تنسيق لاستخدامها لتنسيق الطابع الزمني لكل رسالة سجلّ تستخدم Apigee yyyy-MM-dd'T'HH:mm:ss.SSSZ تلقائيًا. تم وصف سلوك هذا النموذج في مستندات فئة SimpleDateFormat من Java.

SSLInfo

يسمح لك بتسجيل الرسائل عبر طبقة المقابس الآمنة/بروتوكول أمان طبقة النقل (TLS). استخدِم هذه السمة مع العنصر الفرعي <Enabled>true</Enabled>.

إذا لم تضمّن هذا العنصر أو تركته فارغًا، ستكون القيمة التلقائية false (بدون بروتوكول أمان طبقة النقل أو طبقة المقابس الآمنة).

<SSLInfo>
    <Enabled>true</Enabled>
</SSLInfo>

يمكنك ضبط العلامة <SSLInfo> بالطريقة نفسها التي يمكن ضبطها في TargetEndpoint، بما في ذلك تفعيل بروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة ثنائية الاتجاه، كما هو موضّح في مرجع ضبط الخادم الوكيل لواجهة برمجة التطبيقات. ولا يتوافق سوى بروتوكول TCP.

logLevel

اختياريّ.

القيم الصالحة: INFO (التلقائية)، ALERT، WARN، ERROR

اضبط مستوى معيّنًا من المعلومات المراد تضمينها في سجلّ الرسائل.

في حال استخدام العنصر FormatMessage (ضبطه على "صحيح")، يؤثر إعداد logLevel على نتيجة الأولوية المحسوبة (الرقم داخل الأقواس المعقوفة) في المعلومات التي تم إنشاؤها في Apigee مُضافة إلى الرسالة.

المخططات


ملاحظات الاستخدام

عند إرفاق سياسة MessageLogging بتدفق الخادم الوكيل لواجهة برمجة التطبيقات، ننصحك بوضعها في استجابة ProxyEndpoint في مسار خاص يُسمى PostClientFlow. يتم تنفيذ PostClientFlow بعد إرسال الرد إلى العميل الطالب، ما يضمن توفّر جميع المقاييس للتسجيل. لمعرفة التفاصيل حول استخدام PostClientFlow، يُرجى الاطّلاع على مرجع إعداد الخادم الوكيل لواجهة برمجة التطبيقات.

يتميز PostClientFlow بطريقتين:

  1. ويتم تنفيذه فقط كجزء من سير الاستجابة.
  2. وهو التدفق الوحيد الذي يتم تنفيذه بعد إدخال الخادم الوكيل في حالة الخطأ.

ونظرًا لأنه يتم تنفيذه بغض النظر عما إذا نجح الخادم الوكيل أم تعذّر، يمكنك وضع سياسات MessageLogging في PostClientFlow وضمان تنفيذها دائمًا.

تعرض صورة Trace التالية سياسة MessageLogging وهي تنفيذها كجزء من PostClientFlow، بعد تنفيذ الأمر DefaultFaultRule:

في هذا المثال، تسبّبت سياسة "التحقّق من مفتاح واجهة برمجة التطبيقات" في حدوث الخطأ بسبب مفتاح غير صالح.

في ما يلي تعريف ProxyEndpoint يتضمّن سياسة PostClientFlow:

<ProxyEndpoint name="default">
  ...
  <PostClientFlow>
    <Response>
      <Step>
        <Name>Message-Logging-1</Name>
      </Step>
    </Response>
  </PostClientFlow>
  ...
</ProxyEndpoint>

يسجل Edge الرسائل كنص بسيط، ويمكنك إعداد التسجيل لتضمين متغيّرات، مثل تاريخ ووقت تلقّي الطلب أو الرد، وهوية المستخدم في الطلب، وعنوان IP المصدر الذي تم إرسال الطلب منه، وما إلى ذلك. تظهر رسالة سجلّات Edge بشكل غير متزامن، ما يعني أنّه لن تتم إضافة وقت استجابة قد يكون ناجمًا عن حظر وسائل الشرح إلى واجهة برمجة التطبيقات.

تكتب السياسة MessageLogging الرسائل المُسجَّلة في الذاكرة في ذاكرة التخزين المؤقت. يقرأ مسجّل الرسائل الرسائل من المخزن المؤقت ثم يكتب إلى الوجهة التي أعددتها. ولكل وجهة مورد احتياطي خاص بها.

إذا زاد معدّل الكتابة للمخزن المؤقت عن معدّل القراءة، سيتعذّر تحميل المخزن المؤقت بشكل زائد وعملية التسجيل. في حال حدوث ذلك، قد تظهر لك رسالة تحتوي على ما يلي في ملف السجلّ:

Log message size exceeded. Increase the max message size setting

إذا واجهتك هذه المشكلة في Edge الخاص بخدمة Private Cloud 4.15.07 أو الإصدارات الأقدم، ابحث عن ملف message-logging.properties واستخدِم هذا الحل:

عليك زيادة السمة max.log.message.size.in.kb (القيمة التلقائية = 128 كيلوبايت) في ملف message-logging.properties.

بالنسبة إلى برنامج Edge for Private Cloud 4.16.01 والإصدارات الأحدث، اضبط السمة conf_message-logging_max.log.message.size.in.kb في ملف /opt/apigee/customer/application/message-processor.properties وأعِد تشغيل "معالج الرسائل".

ملاحظة: لا تتوفّر متغيرات رسائل الاستجابة في Edge من "تدفق الخطأ". ولا تتوفّر هذه المتغيّرات أيضًا في PostClientFlow إذا كان التدفق السابق هو "تدفق الخطأ". إذا أردت تسجيل معلومات الاستجابة من PostClientFlow، استخدِم الكائن message. يمكنك استخدام هذا العنصر للاطّلاع على العناوين ومعلومات أخرى من الردّ سواء كان هناك خطأ أم لا. راجِع متغيّرات الرسائل للاطّلاع على مزيد من المعلومات وعلى مثال.

التحكُّم في الطابع الزمني لرسالة السجلّ في Edge لـ Private Cloud

بشكل تلقائي، يكون الطابع الزمني في جميع رسائل السجلّ على النحو التالي:

yyyy-MM-dd'T'HH:mm:ss.SSSZ

ويمكن إلغاء هذا الإعداد التلقائي على مستوى النظام في وجهات سجلّ النظام باستخدام العنصر DateFormat. تم وصف سلوك هذا النموذج في المستندات المتعلقة بفئة SimpleDateFormat من Java. وفقًا لهذا التعريف، سيتم استبدال الحقل yyyy بعام مؤلف من 4 أرقام، وسيتم استبدال MM برقم شهر مكوّن من رقمَين، وهكذا. قد ينتج عن التنسيق أعلاه سلسلة من هذا النموذج:

2022-09-28T22:38:11.721+0000

يمكنك استخدام السمة conf_system_apigee.syslogger.dateFormat في "معالج رسائل Edge" للتحكّم في هذا التنسيق. مثلاً، تغيير تنسيق الرسالة إلى:

yy/MM/dd'T'HH:mm:ss.SSSZ

عند استبدال الشُرط بشرطات مائلة، واختصاره إلى عام مكون من رقمين، يتم تسجيل طابع زمني على النحو التالي:

22/09/28T22:38:11.721+0000

لتغيير التنسيق:

  1. افتح الملف message-processor.properties في محرِّر. إذا لم يكن الملف متوفّرًا، يمكنك إنشاؤه:
    > vi /opt/apigee/customer/application/message-processor.properties
  2. اضبط السمات على النحو المطلوب:
    conf_system_apigee.syslogger.dateFormat=yy/MM/dd'T'HH:mm:ss.SSSZ
  3. احفظ التغييرات.
  4. تأكَّد من أنّ ملف السمات يملكه مستخدم "apigee":
    > chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. أعِد تشغيل معالج رسائل Edge:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-message-processor إعادة تشغيل

تسجيل موقع ملف السجلّ في Edge لـ Private Cloud

Edge لـ Private Cloud 4.16.01 والإصدارات الأحدث

تتوفر سجلات الرسائل الخاصة على السحابة الإلكترونية تلقائيًا في الدليل التالي على عُقد معالج الرسائل:

/opt/apigee/var/log/edge-message-processor/messagelogging/org_name/environment/api_proxy_name/revision/logging_policy_name/

ويمكنك تغيير موقع السجلّ التلقائي من خلال تعديل الخصائص في ملف message-logging.properties في معالجات الرسائل:

  • bin_setenv_data_dir - لضبط المسار الجذر لتخزين ملفات السجلّ. مثلاً: bin_setenv_data_dir=/opt/apigee/var/log
  • conf_message-logging_log.root.dir - في حال ضبطها على مسار نسبي، مثل conf/message-logging.properties+log.root.dir=custom/folder/, the path is appended to the bin_setenv_data_dir location.

    في حال ضبطها على مسار مطلق، مثل conf/message-logging.properties+log.root.dir=/opt/apigee/var/log/messages، سيتم تخزين سجلات الرسائل في /opt/apigee/var/log/messages/messagelog/. ويكون للمسار المطلق الأولوية على bin_setenv_data_dir.

    يُرجى العلم أنّه عليك الإشارة إلى الموقع الإلكتروني على النحو التالي: conf/message-logging.properties+log.root.dir لأنّه يتم التعليق عليه تلقائيًا. لمزيد من المعلومات، يمكنك الاطّلاع على إعداد رمز مميّز معلّق حاليًا.

إذا كنت تريد تخزين ملفات السجلّ في بنية ملفات مسطّحة بحيث يتم وضع جميع ملفات السجلّ في الدليل نفسه، اضبط conf/message-logging.properties+enable.flat.directory.structure على "صحيح" في ملف message-logging.properties. يتم تخزين الرسائل في الدليل الذي تحدّده السمات الواردة أعلاه، وتكون أسماء الملفات على شكل {org}_{environment}_{api_proxy_name}_{revision}_{logging_policy_name}_{filename}.

لضبط هذه السمات:

  1. افتح الملف message-processor.properties في محرِّر. إذا لم يكن الملف متوفّرًا، يمكنك إنشاؤه:
    > vi /opt/apigee/customer/application/message-processor.properties
  2. اضبط السمات على النحو المطلوب:
    conf/message-logging.properties+log.root.dir=/opt/apigee/var/log/messages
  3. احفظ التغييرات.
  4. تأكَّد من أنّ ملف السمات يملكه مستخدم "apigee":
    > chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. أعِد تشغيل مكوِّن Edge:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-message-processor إعادة تشغيل

Edge لـ Private Cloud 4.15.07 والإصدارات الأقدم

تظهر سجلات الرسائل تلقائيًا في الموقع التالي على معالجات الرسائل:

/opt/apigee4/var/log/apigee/message-processor/messagelog/{org}/{environment}/{api_proxy_name}/{revision}/{logging_policy_name}/

ويمكنك تغيير موقع السجلّ التلقائي من خلال تعديل السمات التالية في ملف message-logging.properties على معالجات الرسائل:

  • data.dir - لضبط المسار الجذري لتخزين ملفات السجلّ على سبيل المثال، data.dir=/opt/apigee4/var/log
  • log.root.dir: في حال ضبط هذا المسار على مسار نسبي، مثل log.root.dir=custom/folder/ ، يتم إلحاق المسار بموقع data.dir

على سبيل المثال، سيؤدي الجمع بين السمتَين إلى ضبط دليل التسجيل على /opt/apigee4/var/log/custom/folder/messagelog/ (ملاحظة: تتم إضافة /messagelog تلقائيًا).

في حال ضبط هذه السياسة على مسار مطلق، مثل log.root.dir=/opt/apigee4/var/log/messages، سيتم تخزين سجلّات الرسائل في /opt/apigee4/var/log/messages/messagelog/. ويكون للمسار المطلق في log.root.dir الأولوية على data.dir.

إذا كنت تريد تخزين ملفات السجلّ في بنية ملفات مسطّحة بحيث يتم وضع جميع ملفات السجلّ في الدليل نفسه، اضبط enable.flat.directory.structure على true في الملف message-logging.properties في معالِجات الرسائل. يتم تخزين الرسائل في الدليل الذي تحدِّده السمات أعلاه، وتكون أسماء الملفات على شكل {org}_{environment}_{api_proxy_name}_{revision}_{logging_policy_name}_{filename}.

القيم التلقائية للمتغيّرات في نموذج الرسالة

يمكن تحديد قيم تلقائية لكل متغيّر في نموذج الرسالة بشكل منفصل. على سبيل المثال، إذا تعذّر حلّ المتغيّر request.header.id، يتم استبدال قيمته بالقيمة unknown.

<Message>This is a test message. id = {request.header.id:unknown}</Message>

يمكن تحديد قيمة تلقائية شائعة لكل المتغيّرات التي لم يتمّ حلّها، وذلك من خلال ضبط السمة defaultVariableValue على العنصر Message:

<Message defaultVariableValue="unknown">This is a test message. id = {request.header.id}</Message>

ضبط خدمات إدارة السجلّات التابعة لجهات خارجية

تتيح لك سياسة MessageLogging (التسجيل) إرسال رسائل سجلّ النظام إلى خدمات إدارة السجلّات التابعة لجهات خارجية، مثل Splunk وSumo Logic وLoggly. وإذا كنت تريد إرسال سجل نظام إلى إحدى هذه الخدمات، فراجع وثائق تلك الخدمة لإعداد مضيف الخدمة ومنفذها وبروتوكولها، ثم اضبط عنصر سجل النظام في هذه السياسة وفقًا لذلك.

راجِع المستندات التالية لضبط إدارة سجلّات الجهات الخارجية:

مرجع الخطأ

يصف هذا القسم رموز الأخطاء ورسائل الخطأ التي يتم عرضها ومتغيرات الأخطاء التي تضبطها Edge عندما تؤدي هذه السياسة إلى ظهور خطأ. هذه المعلومات مهمة لمعرفة ما إذا كنت تعمل على تطوير قواعد للأخطاء للتعامل معها. لمزيد من المعلومات، يمكنك الاطّلاع على المعلومات التي يجب معرفتها عن الأخطاء المتعلقة بالسياسات وأخطاء المعالجة.

أخطاء في وقت التشغيل

يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.

رمز الخطأ رموز حالة HTTP السبب
steps.messagelogging.StepDefinitionExecutionFailed 500 الاطّلاع على سلسلة الخطأ

أخطاء النشر

يمكن أن تحدث هذه الأخطاء عند نشر خادم وكيل يحتوي على هذه السياسة.

اسم الخطأ السبب إصلاح
InvalidProtocol يمكن أن يتعذّر نشر سياسة MessageLogging مع ظهور هذا الخطأ إذا كان البروتوكول المحدَّد ضمن العنصر <Protocol> غير صالح. البروتوكولات الصالحة هي TCP وUDP. لإرسال رسائل سجل النظام عبر TLS/SSL، لا يتم دعم سوى بروتوكول TCP.
InvalidPort قد يتعذّر نشر سياسة MessageLogging مع ظهور هذا الخطأ إذا لم يتم تحديد رقم المنفذ داخل العنصر <Port> أو إذا كان غير صالح. يجب أن يكون رقم المنفذ عددًا صحيحًا أكبر من صفر.

متغيرات الخطأ

ويتم ضبط هذه المتغيرات عند حدوث خطأ في وقت التشغيل. لمزيد من المعلومات، يمكنك الاطّلاع على المعلومات التي يجب معرفتها عن الأخطاء المتعلقة بالسياسات.

المتغيرات المكان مثال
fault.name="fault_name" fault_name هو اسم الخطأ، كما هو موضَّح في جدول أخطاء وقت التشغيل أعلاه. اسم الخطأ هو الجزء الأخير من رمز الخطأ. fault.name Matches "StepDefinitionExecutionFailed"
messagelogging.policy_name.failed policy_name هو اسم السياسة التي حدّدها المستخدم التي أدت إلى حدوث الخطأ. messagelogging.ML-LogMessages.failed = true

مثال على الردّ على الخطأ

{  
   "fault":{  
      "detail":{  
         "errorcode":"steps.messagelogging.StepDefinitionExecutionFailed"
      },
      "faultstring":"Execution failed"
   }
}

مثال لقاعدة خطأ

<FaultRule name="MessageLogging">
    <Step>
        <Name>ML-LogMessages</Name>
        <Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition>
    </Step>
    <Condition>(messagelogging.ML-LogMessages.failed = true) </Condition>
</FaultRule>


متغيرات التدفق

تتم تعبئة المتغيرات التالية عند تعذُّر السياسة.

  • messagelogging.failed
  • messagelogging.{stepdefinition-name}.failed

مواضيع ذات صلة