تحديد وحلّ المشاكل المتعلقة بنشر سياسة تسجيل الرسائل

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

InvalidProtocol

رسالة الخطأ

يتعذّر نشر خادم وكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge، وتظهر رسالة الخطأ التالية:

Error Saving Revision revision_number
Invalid Protocol: invalid_protocol for Syslog handler in policy policy_name.

مثال على رسالة الخطأ

Error Saving Revision 4
Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.

مثال على لقطة شاشة

السبب

قد يتعذّر نشر سياسة MessageLogging policy وظهور هذا الخطأ إذا كان البروتوكول المحدّد في العنصر <Protocol> غير صالح. البروتوكولات الصالحة هي TCP وUDP. لإرسال رسائل syslog عبر بروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة (SSL)، لا يتوفّر سوى بروتوكول TCP.

على سبيل المثال، يتعذّر نشر خادم وكيل واجهة برمجة التطبيقات بسبب هذا الخطأ إذا حدّدت HTTP في العنصر <Protocol> من سياسة MessageLogging كما هو موضّح أدناه:

<Protocol>HTTP</Protocol>

التشخيص

  1. حدِّد سياسة MessageLogging التي حدث فيها الخطأ. يمكنك العثور على هذه المعلومات في رسالة الخطأ. على سبيل المثال، في الخطأ التالي، يكون اسم السياسة LogToSyslog:

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
    
  2. في حال تعذّر التحقّق من إعدادات سياسة MessageLogging، تأكَّد من أنّ البروتوكول المحدّد في العنصر <Protocol> صالح. إذا تم تحديد بروتوكول غير صالح، سيكون هذا هو سبب الخطأ.

    على سبيل المثال، تحدّد السياسة التالية بروتوكولاً غير صالح.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <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>HTTP</Protocol>
        <FormatMessage>true</FormatMessage>
      </Syslog>
      <logLevel>ALERT</logLevel>
    </MessageLogging>
    

    بما أنّ البروتوكول المحدّد في العنصر <Protocol> غير صالح، يتعذّر نشر خادم وكيل واجهة برمجة التطبيقات ويظهر الخطأ التالي:

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
    

الدقة

تأكَّد من أنّ البروتوكول المحدّد ضمن العنصر <Protocol> في سياسة MessageLogging صالح. يتيح العنصر <Protocol> استخدام القيم التالية:

  • TCP
  • UDP

لتصحيح المثال الموضّح أعلاه، حدِّد بروتوكولاً صالحًا ضمن العنصر <Protocol>:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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>
  </Syslog>
  <logLevel>ALERT</logLevel>
</MessageLogging>

InvalidPort

رسالة الخطأ

يتعذّر نشر خادم وكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge، وتظهر رسالة الخطأ التالية:

Error Saving Revision revision_number
Invalid Port: 0 for Syslog handler in policy policy_name.

مثال على رسالة الخطأ

Error Saving Revision 4
Invalid Port: 0 for Syslog handler in policy LogToSyslog.

مثال على لقطة شاشة

السبب

قد يتعذّر نشر سياسة MessageLogging مع ظهور هذا الخطأ إذا لم يتم تحديد رقم المنفذ ضمن العنصر <Port> أو إذا كان غير صالح. يجب أن يكون رقم المنفذ عددًا صحيحًا أكبر من صفر.

على سبيل المثال، إذا تم تعريف العنصر <Port> على النحو الموضّح أدناه، سيتعذّر نشر خادم وكيل واجهة برمجة التطبيقات:

<Port>0</Port>

التشخيص

  1. حدِّد سياسة MessageLogging التي حدث فيها الخطأ. يمكنك العثور على هذه المعلومات من رسالة الخطأ. على سبيل المثال، في الخطأ التالي، يكون اسم السياسة LogToSyslog:

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    
  2. في عملية التحقّق من سياسة MessageLogging التي تعذّر تنفيذها، تحقَّق مما إذا كان قد تم تحديد رقم منفذ صالح ضمن العنصر <Port>. إذا لم يتم تحديد رقم المنفذ أو كان غير صالح، سيكون ذلك هو سبب الخطأ.

    على سبيل المثال، تحدّد السياسة التالية رقم منفذ غير صالح:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <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>0</Port>
        <Protocol>TCP</Protocol>
        <FormatMessage>true</FormatMessage>
      </Syslog>
      <logLevel>ALERT</logLevel>
    </MessageLogging>
    

    بما أنّ رقم المنفذ المحدّد في العنصر <Port> غير صالح، يتعذّر نشر خادم وكيل واجهة برمجة التطبيقات ويظهر الخطأ التالي:

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    

الدقة

تأكَّد من تحديد رقم منفذ ضمن العنصر <Port> في سياسة MessageLogging. يجب أن يكون عددًا صحيحًا أكبر من صفر.

لتصحيح المثال الموضّح أعلاه، حدِّد رقم منفذ صالحًا ضمن العنصر <Protocol>.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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>
  </Syslog>
  <logLevel>ALERT</logLevel>
</MessageLogging>