أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
الأدوات المستخدمة
من أفضل الطرق لتتبُّع المشاكل في بيئة وقت تشغيل واجهة برمجة التطبيقات هو تسجيل الرسائل. يمكنك إرفاق سياسة MessageLogging وضبطها على واجهة برمجة التطبيقات لتسجيل الرسائل المخصّصة في قرص محلي (Edge for Private Cloud فقط) أو في syslog.
نماذج
Syslog
<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 تسجيل الدخول إلى حساب syslog. عند ضبطها على syslog، سيعيد خادم وكيل لواجهة برمجة التطبيقات توجيه رسائل السجلّ من Apigee Edge إلى خادم syslog بعيد. يجب أن يكون لديك خادم syslog متاح. إذا لم يكن الأمر كذلك، تتوفّر خدمات إدارة السجلّات العامة، مثل Splunk وSumo Logic وLoggly. يمكنك الاطّلاع على ضبط خدمات إدارة السجلّات التابعة لجهات خارجية.
على سبيل المثال، لنفترض أنّك بحاجة إلى تسجيل معلومات حول كل رسالة طلب تتلقّاها واجهة برمجة التطبيقات من تطبيقات المستهلكين. تمثّل القيمة 3f509b58 قيمة مفتاحية خاصة بخدمة Loggly. إذا كان لديك حساب على Loggly، استبدِل مفتاح Loggly. سيتم ملء رسالة السجلّ التي يتم إنشاؤها بأربع قيم: المؤسسة وخادم وكيل API واسم البيئة المرتبط بالمعاملة، بالإضافة إلى قيمة مَعلمة طلب البحث في رسالة الطلب.
إذا كان لديك عملية نشر Edge for Private Cloud، يمكنك أيضًا كتابة رسائل السجلّ في ملف.
Syslog عبر 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) أو بروتوكول طبقة المقابس الآمنة (SSL) من خلال إضافة الحظر <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.
| اسم الحقل | وصف الحقل | |
|---|---|---|
|
وجهة الملف المحلي (لا تتوفّر ميزة تسجيل الملفات إلا في عمليات نشر Edge for Private Cloud). للحصول على معلومات عن مكان تخزين الملفات، يُرجى الاطّلاع على موقع ملف السجلّ في Edge for Private Cloud. |
Message |
أنشئ الرسالة التي سيتم إرسالها إلى ملف السجل، مع الجمع بين النص والمتغيرات لتسجيل المعلومات التي تريدها. يمكنك الاطّلاع على النماذج. |
FileName |
الاسم الأساسي لملف السجلّ
لا تحدّد مسار ملف. على سبيل المثال، يحدّد عنصر FileName هذا مسار ملف وهو غير صالح:
<FileName>/opt/apigee/var/log/messages/mylog.log</FileName> يحدّد هذا الرمز اسم ملف فقط وهو صالح: <FileName>mylog.log</FileName> للحصول على معلومات عن مكان تخزين الملف، راجِع موقع ملف السجلّ في Edge for Private Cloud. |
|
FileRotationOptions |
||
rotateFileOnStartup |
السمة القيم الصالحة: في حال ضبطها على "صحيح"، يتم تدوير ملف السجلّ في كل مرة تتم فيها إعادة تشغيل محرك المراسلة. |
|
FileRotationType |
تحدّد هذه السمة سياسة التدوير (size أو time) لملف سجلّ. |
|
MaxFileSizeInMB |
(عند اختيار size كنوع تدوير)
تحدّد هذه السمة حجم ملف السجلّ الذي يؤدي إلى نقل الخادم لرسائل السجلّ إلى ملف منفصل. بعد أن يصل ملف السجلّ إلى الحجم المحدّد، يعيد الخادم تسمية ملف السجلّ الحالي. |
|
RotationFrequency |
(عند اختيار time كنوع التدوير)
تحدّد هذه السمة الوقت بالدقائق الذي يؤدي إلى نقل الخادم لرسائل السجلّ إلى ملف منفصل. بعد انقضاء الفاصل الزمني المحدّد، تتم إعادة تسمية ملف السجلّ الحالي. |
|
MaxFilesToRetain |
تحدّد هذه السمة الحد الأقصى لعدد الملفات التي سيتم الاحتفاظ بها في سياق إعدادات التدوير. القيمة التلقائية هي 8. إذا حدّدت القيمة صفر (0)، سيتم الاحتفاظ بملفات السجلّ إلى أجل غير مسمى، ولكن مع مراعاة إعدادات تدوير الملفات، علمًا بأنّه لن يتم حذف أي من الملفات أو إعادة تسميتها. لذلك، لتجنُّب حدوث أخطاء امتلاء القرص في المستقبل، اضبط هذا الخيار على قيمة أكبر من صفر، أو نفِّذ نظامًا آليًا منتظمًا لحذف ملفات السجلّ القديمة المحفوظة أو أرشفتها. |
|
BufferMessage |
في حال تفعيل البث عبر HTTP لخادم البروكسي، لن يتم تخزين رسائل الطلبات/الردود مؤقتًا. إذا أردت تسجيل المحتوى الذي يتطلب تحليل رسالة التدفق، اضبط قيمة BufferMessage على "صحيح". يمكنك الاطّلاع على علامة التبويب "متوافق مع البث" للحصول على مثال. القيمة التلقائية: false |
|
|
وجهة syslog لإرسال سجلّ النظام إلى Splunk أو Sumo Logic أو Loggly، يُرجى الاطّلاع على ضبط خدمات إدارة السجلّات التابعة لجهات خارجية. |
Message |
أنشئ الرسالة التي سيتم إرسالها إلى سجلّ النظام، مع الجمع بين النص والمتغيرات لتسجيل المعلومات التي تريدها. يمكنك الاطّلاع على النماذج. ملاحظة: لن تتوفّر متغيّرات الردود في PostClientFlow بعد مسار الخطأ. استخدِم متغيرات الرسائل لتسجيل معلومات الاستجابة في حالات الخطأ والنجاح. يُرجى الاطّلاع أيضًا على ملاحظات الاستخدام. |
Host |
اسم المضيف أو عنوان IP للخادم الذي يجب إرسال سجلّ syslog إليه في حال عدم تضمين هذا العنصر، تكون القيمة التلقائية هي localhost. | |
Port |
المنفذ الذي يتم تشغيل syslog عليه في حال عدم تضمين هذا العنصر، تكون القيمة التلقائية 514. | |
Protocol |
بروتوكول TCP أو UDP (الإعداد التلقائي) على الرغم من أنّ بروتوكول UDP أفضل من ناحية الأداء، يضمن بروتوكول TCP تسليم سجلّ الرسائل إلى خادم syslog. لإرسال رسائل syslog عبر TLS/SSL، لا يتوفّر سوى بروتوكول TCP. | |
FormatMessage |
اختياري، ولكن يجب توفُّر يتيح لك هذا العنصر التحكّم في تنسيق المحتوى الذي تنشئه Apigee والذي يتم إضافته إلى بداية الرسالة. في حال ضبطها على "صحيح"، يتم إلحاق رسالة syslog بعدد ثابت من الأحرف، ما يتيح لك فلترة هذه المعلومات من الرسائل. في ما يلي مثال على التنسيق الثابت:
تشمل المعلومات التي تنشئها Apigee ما يلي:
إذا تم ضبطها على "خطأ" (القيمة التلقائية)، لن يتم إلحاق الرسالة بتلك الأحرف الثابتة. |
|
PayloadOnly |
يضبط هذا العنصر تنسيق الرسائل التي تنشئها Apigee بحيث تحتوي فقط على نص رسالة سجل النظام، بدون الأحرف التي تم إلحاقها والمحدّدة بواسطة FormatMessage. إذا لم تُدرِج هذا العنصر أو تركته فارغًا، ستكون القيمة التلقائية راجِع FormatMessage. |
|
DateFormat |
اختيارية: سلسلة نموذج التنسيق التي سيتم استخدامها لتنسيق الطابع الزمني لكل رسالة سجلّ.
تستخدم Apigee |
|
SSLInfo |
تتيح لك تسجيل الرسائل من خلال طبقة المقابس الآمنة/بروتوكول أمان طبقة النقل (TLS). استخدِمها مع العنصر الفرعي في حال عدم تضمين هذا العنصر أو تركه فارغًا، تكون القيمة التلقائية هي false (بدون TLS/SSL). <SSLInfo>
<Enabled>true</Enabled>
</SSLInfo>يمكنك ضبط العلامة <SSLInfo> بالطريقة نفسها التي يمكنك ضبطها في TargetEndpoint، بما في ذلك تفعيل بروتوكول أمان طبقة النقل (TLS) أو طبقة المقابس الآمنة (SSL) الثنائي الاتجاه، كما هو موضّح في مرجع إعداد خادم وكيل API. لا يتوافق هذا البروتوكول إلا مع TCP. |
|
logLevel |
اختيارية: القيم الصالحة: اضبط مستوى معيّنًا من المعلومات ليتم تضمينه في سجلّ الرسائل. إذا كنت تستخدم العنصر |
|
المخططات
ملاحظات الاستخدام
عند إرفاق سياسة MessageLogging بتدفّق خادم وكيل لواجهة برمجة التطبيقات، ننصحك بوضعها في استجابة ProxyEndpoint، وذلك في تدفّق خاص يُسمى PostClientFlow. يتم تنفيذ PostClientFlow بعد إرسال الرد إلى العميل الذي أرسل الطلب، ما يضمن توفّر جميع المقاييس للتسجيل. للحصول على تفاصيل حول استخدام PostClientFlow، يُرجى الاطّلاع على مرجع إعداد خادم وكيل لواجهة برمجة التطبيقات.
يتميّز PostClientFlow بطريقتَين:
- ولم يتم تنفيذه إلا كجزء من مسار الردّ.
- وهو المسار الوحيد الذي يتم تنفيذه بعد أن يدخل الخادم الوكيل في حالة الخطأ.
بما أنّه يتم تنفيذها بغض النظر عمّا إذا كان الخادم الوكيل قد نجح أو تعذّر، يمكنك وضع سياسات MessageLogging في PostClientFlow وضمان تنفيذها دائمًا.
تعرض صورة "التتبُّع" التالية سياسة MessageLogging يتم تنفيذها كجزء من PostClientFlow، بعد تنفيذ DefaultFaultRule:

في هذا المثال، تسبّبت سياسة التحقّق من مفتاح واجهة برمجة التطبيقات في حدوث الخطأ بسبب مفتاح غير صالح.
في ما يلي تعريف ProxyEndpoint الذي يتضمّن PostClientFlow:
<ProxyEndpoint name="default">
...
<PostClientFlow>
<Response>
<Step>
<Name>Message-Logging-1</Name>
</Step>
</Response>
</PostClientFlow>
...
</ProxyEndpoint>تسجّل Edge الرسائل كنص بسيط، ويمكنك ضبط التسجيل لتضمين متغيرات، مثل تاريخ ووقت تلقّي الطلب أو الرد، وهوية المستخدم في الطلب، وعنوان IP المصدر الذي تم إرسال الطلب منه، وما إلى ذلك. تسجّل سجلّات Edge الرسائل بشكل غير متزامن، ما يعني أنّه لن يتم فرض أي وقت استجابة قد يحدث بسبب حظر عمليات استدعاء على واجهة برمجة التطبيقات.
تكتب سياسة MessageLogging الرسائل المسجّلة في الذاكرة إلى مخزن مؤقت. يقرأ مسجّل الرسائل الرسائل من المخزن المؤقت ثم يكتبها في الوجهة التي تحدّدها. لكل وجهة مخزن مؤقت خاص بها.
قد يواجه المستخدمون تأخيرًا في تلقّي رسائل السجلّ المُرسَلة إلى نقطة نهاية جديدة لنظام syslog. ويحدث ذلك بسبب سلوك "التشغيل على البارد" المقصود في السياسة. عند ضبط وجهة تسجيل جديدة، بالإضافة إلى وجهات التسجيل الحالية، قد يبدأ "معالج الرسائل" (MP) بتخزين 1,000 رسالة سجل في الذاكرة مؤقتًا قبل إرسالها. وقد يؤدي ذلك إلى حدوث تأخير أولي في البيئات التي تشهد عددًا قليلاً من الزيارات. لا يمكن ملاحظة هذا التأخير الأوّلي في أحمال العمل النموذجية في مرحلة الإنتاج، لأنّه من المفترض أن تتراكم الرسائل بسرعة. بعد استيفاء الحدّ، سيتم تسليم رسائل السجلّ على النحو المتوقّع. يمكن أن تؤدي إعادة التشغيل السلسة لـ "معالج الرسائل" أيضًا إلى بدء تسليم الرسائل الموضوعة في قائمة الانتظار أثناء إزالتها من القائمة.
إذا زاد معدّل الكتابة في المخزن المؤقت عن معدّل القراءة، سيتجاوز المخزن المؤقت سعته القصوى وسيتعذّر التسجيل. في حال حدوث ذلك، قد تجد رسالة تحتوي على ما يلي في ملف السجلّ:
Log message size exceeded. Increase the max message size setting
إذا واجهت هذه المشكلة في Edge for 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.properties+max.
log.message.size.in.kb في الملف /opt/apigee/customer/application/message-processor.properties وأعِد تشغيل "معالج الرسائل". يُرجى العِلم أنّ هذه السمة يتم إيقافها تلقائيًا في البداية.
ملاحظة: لا تتوفّر متغيّرات رسالة الرد في Edge من "مسار الخطأ". ولا تتوفّر هذه المتغيّرات أيضًا في PostClientFlow إذا كان المسار السابق هو Error Flow. إذا أردت تسجيل معلومات الردود من PostClientFlow، استخدِم عنصر message. يمكنك استخدام هذا العنصر للحصول على العناوين ومعلومات أخرى من الردّ سواء حدث خطأ أم لا. اطّلِع على متغيرات الرسائل للحصول على مزيد من المعلومات ومثال.
التحكّم في الطابع الزمني لرسائل السجلّ في Edge for Private Cloud
بشكلٍ تلقائي، يكون تنسيق الطابع الزمني في جميع رسائل السجلّ كما يلي:
yyyy-MM-dd'T'HH:mm:ss.SSSZ
يمكن إلغاء الإعداد التلقائي على مستوى النظام لوجهات syslog باستخدام العنصر 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
..replacing the dashes with slashes, and shortening to a 2-digit year, records a timestamp in the form:
22/09/28T22:38:11.721+0000
لتغيير التنسيق:
- افتح ملف message-processor.properties في محرِّر. إذا لم يكن الملف متوفّرًا، أنشئه:
> vi /opt/apigee/customer/application/message-processor.properties - اضبط المواقع الإلكترونية على النحو المطلوب:
conf_system_apigee.syslogger.dateFormat=yy/MM/dd'T'HH:mm:ss.SSSZ - احفظ التغييرات.
- تأكَّد من أنّ ملف الخصائص يملكه المستخدم "apigee":
> chown apigee:apigee /opt/apigee/customer/application/message-processor.properties - أعِد تشغيل "معالج رسائل Edge" (Edge Message Processor):
> /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
موقع ملف السجلّ في Edge for Private Cloud
Edge for Private Cloud 4.16.01 والإصدارات الأحدث
تلقائيًا، تقع سجلّات رسائل Private Cloud في الدليل التالي على عُقد Message Processor:
/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 على true في ملف message-logging.properties. يتم تخزين الرسائل في الدليل المحدّد من خلال الخصائص أعلاه، وتتخذ أسماء الملفات الشكل {org}_{environment}_{api_proxy_name}_{revision}_{logging_policy_name}_{filename}.
لضبط هذه السمات، اتّبِع الخطوات التالية:
- افتح ملف message-processor.properties في محرِّر. إذا لم يكن الملف متوفّرًا، أنشئه:
> vi /opt/apigee/customer/application/message-processor.properties - اضبط الخصائص على النحو المطلوب:
conf/message-logging.properties+log.root.dir=/opt/apigee/var/log/messages - احفظ التغييرات.
- تأكَّد من أنّ ملف الخصائص يملكه المستخدم "apigee":
> chown apigee:apigee /opt/apigee/customer/application/message-processor.properties - أعِد تشغيل مكوّن Edge:
> /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Edge for 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 property على 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 إرسال رسائل syslog إلى خدمات إدارة السجلّات التابعة لجهات خارجية، مثل Splunk وSumo Logic وLoggly. إذا أردت إرسال syslog إلى إحدى هذه الخدمات، راجِع مستندات الخدمة لمعرفة كيفية ضبط المضيف والمنفذ والبروتوكول الخاصين بالخدمة، ثم اضبط عنصر Syslog في هذه السياسة وفقًا لذلك.
يمكنك الاطّلاع على المستندات التالية لمعرفة إعدادات إدارة السجلّات التابعة لجهات خارجية:
- Splunk (اختَر إصدار المنتج)
يمكنك أيضًا الاطّلاع على منشور "منتدى Apigee" هذا: تسجيل الرسائل في Splunk -
Sumo
Logic
- راجِع أيضًا مشاركة "منتدى Apigee" التالية: إعداد تسجيل الدخول باستخدام Sumo Logic، أي مضيف يجب استخدامه؟
- للاطّلاع على مثال كامل يستخدم Sumo Logic كخدمة تسجيل، راجِع مشاركة "منتدى Apigee" التالية. يستخدم الحلّ سياسة JavaScript واحدة لتقديم طلبات HTTP POST إلى أداة تجميع مصادر HTTP في Sumo Logic: تسجيل البيانات في Sumo Logic باستخدام JavaScript وHTTP
- Loggly
عند استخدام Loggly، يجب توفير<FormatMessage>true</FormatMessage>في السياسة كعنصر فرعي من العنصر<Syslog>.
يمكنك أيضًا الاطّلاع على منشور "منتدى Apigee" هذا للحصول على مزيد من المعلومات حول تسجيل الرسائل في Loggly: تسجيل الرسائل في Loggly
مرجع الخطأ
يصف هذا القسم رموز الخطأ ورسائل الخطأ التي يتم عرضها ومتغيرات الأخطاء التي تم ضبطها من خلال Edge عندما تؤدي هذه السياسة إلى ظهور خطأ. من المهم معرفة هذه المعلومات إذا كنت تضع قواعد خطأ التعامل مع الأخطاء. للحصول على مزيد من المعلومات، يمكنك الاطّلاع على ما تحتاج إلى معرفته حول أخطاء السياسة والتعامل مع المعالجة والأخطاء.
أخطاء بيئة التشغيل
يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.
| رمز الخطأ | رموز حالة HTTP | السبب |
|---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
500 | يُرجى الاطّلاع على سلسلة الخطأ. |
أخطاء النشر
يمكن أن تحدث هذه الأخطاء عند نشر خادم وكيل يحتوي على هذه السياسة.
| اسم الخطأ | السبب | إصلاح |
|---|---|---|
InvalidProtocol |
قد يتعذّر نشر سياسة MessageLogging مع ظهور هذا الخطأ إذا كان البروتوكول
المحددة في العنصر <Protocol> غير صالحة. البروتوكولات الصالحة هما TCP وUDP.
لإرسال رسائل سجل النظام عبر TLS/SSL، لا يتم دعم سوى بروتوكول TCP. |
build |
InvalidPort |
قد يتعذّر نشر سياسة MessageLogging مع ظهور هذا الخطأ إذا كان رقم المنفذ
لم يتم تحديدها داخل العنصر <Port> أو إذا لم تكن صالحة. يجب أن يكون رقم المنفذ
عدد صحيح أكبر من صفر. |
build |
متغيّرات الأخطاء
يتم ضبط هذه المتغيّرات عند حدوث خطأ في بيئة التشغيل. يمكنك الاطّلاع على مقالة ما تحتاج إلى معرفته للحصول على مزيد من المعلومات. حول أخطاء السياسة.
| المتغيرات | المكان | مثال |
|---|---|---|
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.failedmessagelogging.{stepdefinition-name}.failed
مواضيع ذات صلة
- المتغيّرات التي يعرضها Edge: مرجع المتغيّرات