InvalidProtocol
エラー メッセージ
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 ポリシーの <Protocol>
要素に HTTP を指定すると、このエラーが発生して API プロキシのデプロイに失敗します。
<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>
<Protocol>
要素に無効なプロトコルが定義されているため、API プロキシのデプロイに失敗し、次のエラー メッセージが表示されます。Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
解決策
MessageLogging ポリシーの <Protocol>
要素に有効なプロトコルを定義します。<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
エラー メッセージ
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 ポリシーのデプロイに失敗する場合があります。ポート番号は 1 以上の整数にする必要があります。
たとえば、<Port>
要素が次のように宣言されていると、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 プロキシのデプロイに失敗し、次のエラー メッセージが表示されます。Invalid Port: 0 for Syslog handler in policy LogToSyslog.
解決策
MessageLogging ポリシーの <Port>
要素にポート番号を定義します。1 以上の整数を指定する必要があります。
上の例を修正するには、<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>