मैसेज लॉग करने की नीति के डिप्लॉयमेंट से जुड़ी गड़बड़ी ठीक करना

आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

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.

स्क्रीनशॉट का उदाहरण

Cause

अगर <Protocol> एलिमेंट में तय किया गया प्रोटोकॉल मान्य नहीं है, तो इस गड़बड़ी की वजह से MessageLogging नीति को लागू नहीं किया जा सकता. मान्य प्रोटोकॉल, टीसीपी और यूडीपी हैं. TLS/एसएसएल पर syslog मैसेज भेजने के लिए, सिर्फ़ टीसीपी का इस्तेमाल किया जा सकता है.

उदाहरण के लिए, अगर MessageLogging नीति के <Protocol> एलिमेंट में एचटीटीपी को शामिल किया जाता है, तो इस गड़बड़ी की वजह से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता, जैसा कि यहां दिखाया गया है:

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

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.

स्क्रीनशॉट का उदाहरण

वजह

अगर <Port> एलिमेंट में पोर्ट नंबर की जानकारी नहीं दी गई है या यह मान्य नहीं है, तो इस गड़बड़ी की वजह से MessageLogging नीति को लागू नहीं किया जा सकता. पोर्ट नंबर शून्य से बड़ा पूर्णांक होना चाहिए.

उदाहरण के लिए, अगर <Port> एलिमेंट का एलान नीचे बताए गए तरीके से किया गया है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

<Port>0</Port>

संक्रमण की जांच

  1. MessageLogging नीति की पहचान करें जहां गड़बड़ी हुई. आपको यह जानकारी गड़बड़ी के मैसेज से मिल सकती है. उदाहरण के लिए, नीचे दी गई गड़बड़ी में, नीति का नाम LogToSyslog: है

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    
  2. Message Logging की फ़ेल नीति की जांच में, यह जांच करें कि <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>