אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
InvalidProtocol
הודעת שגיאה
פריסה של שרת proxy ל-API דרך ממשק המשתמש של 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.
צילום מסך לדוגמה

הסיבה
פריסת המדיניות MessageLogging עלולה להיכשל עם השגיאה הזו אם הפרוטוקול שצוין ברכיב <Protocol> לא תקין. הפרוטוקולים התקפים הם TCP ו-UDP. לשליחת הודעות syslog ב-TLS/SSL, נתמך רק TCP.
לדוגמה, הפריסה של API Proxy נכשלת עם השגיאה הזו אם מציינים HTTP ברכיב <Protocol> של MessageLogging Policy, כמו בדוגמה הבאה:
<Protocol>HTTP</Protocol>
אבחון
מזהים את מדיניות MessageLogging שבה אירעה השגיאה. המידע הזה מופיע בהודעת השגיאה. לדוגמה, בשגיאה הבאה, שם המדיניות הוא
LogToSyslog:Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.בבדיקה של הגדרת המדיניות 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>הפריסה של ה-API Proxy נכשלת עם השגיאה הבאה, כי הפרוטוקול שמוגדר ברכיב
<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
הודעת שגיאה
פריסה של שרת proxy ל-API דרך ממשק המשתמש של 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.
צילום מסך לדוגמה

סיבה
הפריסה של MessageLogging policy עלולה להיכשל עם השגיאה הזו אם מספר היציאה לא צוין ברכיב <Port> או אם הוא לא תקין. מספר היציאה חייב להיות מספר שלם גדול מאפס.
לדוגמה, אם רכיב <Port> מוצהר כמו בדוגמה הבאה, הפריסה של proxy ל-API נכשלת:
<Port>0</Port>
אבחון
מזהים את מדיניות MessageLogging שבה אירעה השגיאה. אפשר למצוא את המידע הזה בהודעת השגיאה. לדוגמה, בשגיאה הבאה, שם המדיניות הוא
LogToSyslog:Invalid Port: 0 for Syslog handler in policy LogToSyslog.במדיניות 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 Proxy נכשלת עם השגיאה: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>