বার্তা লগিং নীতি স্থাপনার ত্রুটি সমস্যা সমাধান

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

অবৈধ প্রোটোকল

ত্রুটির বার্তা

Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:

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.

উদাহরণ স্ক্রিনশট

কারণ

<Protocol> এলিমেন্টের মধ্যে নির্দিষ্ট করা প্রোটোকলটি বৈধ না হলে, এই ত্রুটির কারণে MessageLogging পলিসিটির প্রয়োগ ব্যর্থ হতে পারে। বৈধ প্রোটোকলগুলো হলো TCP এবং UDP। TLS/SSL-এর মাধ্যমে syslog বার্তা পাঠানোর জন্য শুধুমাত্র TCP সমর্থিত।

উদাহরণস্বরূপ, যদি আপনি MessageLogging Policy-এর <Protocol> এলিমেন্টে নিচে দেখানো অনুযায়ী HTTP উল্লেখ করেন, তাহলে API Proxy-এর ডেপ্লয়মেন্ট এই এররটির কারণে ব্যর্থ হয়:

<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.
    

সমাধান

নিশ্চিত করুন যে MessageLogging পলিসির <Protocol> এলিমেন্টের মধ্যে সংজ্ঞায়িত প্রোটোকলটি বৈধ। <Protocol> এলিমেন্টটি নিম্নলিখিত মানগুলি সমর্থন করে:

  • টিসিপি
  • ইউডিপি

উপরে দেখানো উদাহরণটি সংশোধন করতে, <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>

অবৈধ পোর্ট

ত্রুটির বার্তা

Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:

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.

উদাহরণ স্ক্রিনশট

কারণ

<Port> এলিমেন্টের মধ্যে পোর্ট নম্বর উল্লেখ না করা হলে বা সেটি বৈধ না হলে, এই ত্রুটির কারণে MessageLogging পলিসির প্রয়োগ ব্যর্থ হতে পারে। পোর্ট নম্বরটি অবশ্যই শূন্য অপেক্ষা বড় একটি পূর্ণসংখ্যা হতে হবে।

উদাহরণস্বরূপ, যদি <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.
    

সমাধান

নিশ্চিত করুন যে MessageLogging পলিসির <Port> এলিমেন্টের মধ্যে একটি পোর্ট নম্বর সংজ্ঞায়িত করা আছে। এটি অবশ্যই শূন্য অপেক্ষা বড় একটি পূর্ণসংখ্যা হতে হবে।

উপরে দেখানো উদাহরণটি সংশোধন করতে, <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>