การแก้ปัญหาข้อผิดพลาดในการทำให้นโยบายการบันทึกข้อความใช้งานได้

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
info

InvalidProtocol

ข้อความแสดงข้อผิดพลาด

การติดตั้งใช้งานพร็อกซี API ผ่าน UI ของ Edge หรือ Edge Management 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> ไม่ถูกต้อง โปรโตคอลที่ถูกต้องคือ TCP และ UDP ระบบรองรับเฉพาะ TCP สำหรับการส่งข้อความ Syslog ผ่าน TLS/SSL

ตัวอย่างเช่น การติดตั้งใช้งานพร็อกซี API จะล้มเหลวพร้อมข้อผิดพลาดนี้ หากคุณระบุ HTTP ในองค์ประกอบ <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> ไม่ถูกต้อง การติดตั้งใช้งาน API Proxy จึงไม่สำเร็จและแสดงข้อผิดพลาดต่อไปนี้

    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

ข้อความแสดงข้อผิดพลาด

การติดตั้งใช้งานพร็อกซี API ผ่าน UI ของ Edge หรือ Edge Management 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> หรือหากหมายเลขพอร์ตไม่ถูกต้อง หมายเลขพอร์ตต้องเป็นจำนวนเต็มที่มากกว่า 0

เช่น หากประกาศองค์ประกอบ <Port> ดังที่แสดงด้านล่าง การติดตั้งใช้งานพร็อกซี API จะไม่สำเร็จ

<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> ไม่ถูกต้อง การติดตั้งใช้งานพร็อกซี API จึงล้มเหลวโดยมีข้อผิดพลาดดังนี้

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    

ความละเอียด

ตรวจสอบว่าได้กำหนดหมายเลขพอร์ตภายในองค์ประกอบ <Port> ของนโยบาย MessageLogging ต้องเป็นจำนวนเต็มที่มากกว่า 0

หากต้องการแก้ไขตัวอย่างที่แสดงด้านบน ให้กำหนดหมายเลขพอร์ตที่ถูกต้องภายในองค์ประกอบ <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>