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

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

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

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

এজ UI বা এজ ম্যানেজমেন্ট 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 নীতির <Protocol> উপাদানে HTTP উল্লেখ করেন:

<Protocol>HTTP</Protocol>

রোগ নির্ণয়

  1. মেসেজলগিং নীতি সনাক্ত করুন যেখানে ত্রুটি ঘটেছে। আপনি ত্রুটি বার্তা এই তথ্য খুঁজে পেতে পারেন. উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটিতে, নীতির নাম হল 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> উপাদানের মধ্যে সংজ্ঞায়িত প্রোটোকলটি অবৈধ, API প্রক্সির স্থাপনা ত্রুটির সাথে ব্যর্থ হয়:

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
    

রেজোলিউশন

নিশ্চিত করুন যে মেসেজলগিং নীতির <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>

অবৈধ পোর্ট

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

এজ UI বা এজ ম্যানেজমেন্ট 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> উপাদানের মধ্যে পোর্ট নম্বর নির্দিষ্ট করা না থাকে বা এটি বৈধ না হয়। পোর্ট নম্বর অবশ্যই শূন্যের চেয়ে বড় একটি পূর্ণসংখ্যা হতে হবে।

উদাহরণস্বরূপ, যদি <Port> উপাদানটি নীচে দেখানো হিসাবে ঘোষণা করা হয়, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়:

<Port>0</Port>

রোগ নির্ণয়

  1. মেসেজলগিং নীতি সনাক্ত করুন যেখানে ত্রুটি ঘটেছে। আপনি ত্রুটি বার্তা থেকে এই তথ্য খুঁজে পেতে পারেন. উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটিতে, নীতির নাম হল LogToSyslog:

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    
  2. ব্যর্থ মেসেজলগিং নীতিতে <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> উপাদানের মধ্যে সংজ্ঞায়িত পোর্ট নম্বরটি অবৈধ, API প্রক্সির স্থাপনা ত্রুটির সাথে ব্যর্থ হয়:

    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>