Message Logging ポリシーのデプロイエラーのトラブルシューティング

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>
    

診断

  1. エラーが発生した MessageLogging ポリシーを特定します。この情報はエラー メッセージで確認できます。たとえば、次のエラーでは LogToSyslog: がポリシー名です。

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
        
  2. エラーのある MessageLogging ポリシー構成で、<Protocol> 要素に指定されたプロトコルが有効かどうか確認します。無効なプロトコルが指定されている場合、これがエラーの原因です。

    たとえば、次のポリシーでは無効なプロトコルが指定されています。

    <?xml version="1.0" encoding="UTF-8&quo>t; st<andalone="yes"?
        Mes>sageLog<ging n>ame="<;LogToS>yslog"
          Syslog
            Message[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"]< Weather> request <for >WOEID {request.que<rypar>am.w}./Me<ssag>e
     <     >  Hostlog<s-01.log>gly.<com/Host
    >        P<ort514/Port
     >    <   ProtocolHTT>P/Proto<col
       >     Fo<rmatMess>agetr<ue/Format>Messa<ge
          /Syslo>g
          logLevelALERT/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&quo>t; st<andalone="yes"?
    Mes>sageLog<ging n>ame="<;LogToS>yslog"
      Syslog
        Message[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"]< Weather> request <for >WOEID {request.que<rypar>am.w}./Me<ssag>e
 <     >  Hostlog<s-01.log>gly<.com/Host>
        <Port514/Port
>    <    ProtocolTC>P/Proto<col
   >     Fo<rmatMess>agetr<ue/Format>Messa<ge
      /Syslo>g
      logLevelALERT/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>
    

診断

  1. エラーが発生した MessageLogging ポリシーを特定します。この情報はエラー メッセージで確認できます。たとえば、次のエラーでは LogToSyslog: がポリシー名です。

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
        
  2. エラーが発生した MessageLogging ポリシーで、<Port> 要素に有効なポート番号が指定されているかどうか確認します。ポート番号が定義されていないか、無効な場合、これがエラーの原因です。

    たとえば、次のポリシーには無効なポート番号が指定されています。

    <?xml version="1.0" encoding="UTF-8&quo>t; st<andalone="yes"?
        Mes>sageLog<ging n>ame="<;LogToS>yslog"
          Syslog
            Message[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"]< Weather> request <for >WOEID {request.que<rypar>am.w}./Me<ssag>e<
        >    Hostl<ogs-01.l>ogg<ly.com/Ho>st
          <  Port0/Port
    >    <    ProtocolTC>P/Proto<col
       >     Fo<rmatMess>agetr<ue/Format>Messa<ge
          /Syslo>g
          logLevelALERT/logLevel
        /MessageLogging
        

    <Port> 要素に無効なポート番号が定義されているため、API プロキシのデプロイに失敗し、次のエラー メッセージが表示されます。

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
        

解決策

MessageLogging ポリシーの <Port> 要素にポート番号を定義します。1 以上の整数を指定する必要があります。

上の例を修正するには、<Protocol> 要素に有効なポート番号を定義します。

<?xml version="1.0" encoding="UTF-8&quo>t; st<andalone="yes"?
    Mes>sageLog<ging n>ame="<;LogToS>yslog"
      Syslog
        Message[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"]< Weather> request <for >WOEID {request.que<rypar>am.w}./Me<ssag>e
 <     >  Hostlog<s-01.log>gly<.com/Host>
        <Port514/Port
>    <    ProtocolTC>P/Proto<col
   >     Fo<rmatMess>agetr<ue/Format>Messa<ge
      /Syslo>g
      logLevelALERT/logLevel
    /MessageLogging