Solução de problemas de erro na implantação da política de registros de mensagens

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

InvalidProtocol

Mensagem de erro

A implantação de um proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:

Error Saving Revision revision_number
Invalid Protocol: invalid_protocol for Syslog handler in policy policy_name.

Exemplo de mensagem de erro

Error Saving Revision 4
Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.

Exemplo de captura de tela

Causa

A implantação da política MessageLogging poderá falhar com esse erro se o protocolo especificado no elemento <Protocol> não for válido. Os protocolos válidos são TCP e UDP. Para enviar mensagens syslog por TLS/SSL, apenas TCP é aceito.

Por exemplo, a implantação do proxy de API falhará com esse erro se você especificar HTTP no elemento <Protocol> da política MessageLogging, conforme mostrado abaixo:

<Protocol>HTTP</Protocol>

Diagnóstico

  1. Identifique a política MessageLogging em que o erro ocorreu. Você encontra essas informações na mensagem de erro. Por exemplo, no erro a seguir, o nome da política é LogToSyslog:

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
    
  2. Na falha da configuração da política MessageLogging verifique se o protocolo especificado no elemento <Protocol> é válido. Se houver um protocolo inválido especificado, essa é a causa do erro.

    Por exemplo, a política a seguir especifica um protocolo inválido.

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    Mes>sag<eLoggi>ng na<me=&quo>t;LogToSyslog"
      Syslog
        Message[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"]< Weather> requ<est >for WOEID {request<.quer>ypara<m.w}>./M<essag>e
       < Hostlog>s-01<.loggly.c>om/Ho<st
        Port51>4/Po<rt
        Protoco>lHT<TP/Prot>oco<l
        Fo>rmatM<essagetru>e</FormatMessage
    >  /Syslog
      logLevelALERT/logLevel
    /MessageLogging
    

    Como o protocolo definido no elemento <Protocol> é inválido, a implantação do proxy de API falha com o erro:

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
    

Resolução

Verifique se o protocolo definido no elemento <Protocol> da política MessageLogging é válido. O elemento <Protocol> é compatível com os seguintes valores:

  • TCP
  • UDP

Para corrigir o exemplo mostrado acima, defina um protocolo válido dentro do elemento <Protocol>:

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
Mes>sag<eLoggi>ng na<me=&quo>t;LogToSyslog"
  Syslog
    Message[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"]< Weather> requ<est >for WOEID {request<.quer>ypara<m.w}>./M<essag>e
   < Hostlog>s-0<1.loggly.>com/H<ost
    Port5>14/P<ort
    Protoc>olT<CP/Prot>oco<l
    Fo>rmatM<essagetru>e</FormatMessage
>  /Syslog
  logLevelALERT/logLevel
/MessageLogging

InvalidPort

Mensagem de erro

A implantação de um proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:

Error Saving Revision revision_number
Invalid Port: 0 for Syslog handler in policy policy_name.

Exemplo de mensagem de erro

Error Saving Revision 4
Invalid Port: 0 for Syslog handler in policy LogToSyslog.

Exemplo de captura de tela

Causa

A implantação da política MessageLogging poderá falhar com esse erro se o número da porta não for especificado no elemento <Port> ou se não for válido. O número da porta precisa ser um número inteiro maior que zero.

Por exemplo, se o elemento <Port> for declarado como mostrado abaixo, a implantação do proxy de API falhará:

<Port>0</Port>

Diagnóstico

  1. Identifique a política MessageLogging em que o erro ocorreu. Você encontra essas informações na mensagem de erro. Por exemplo, no erro a seguir, o nome da política é LogToSyslog:

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    
  2. Na política do MessageLogging com falha, verifique se um número de porta válido está especificado no elemento <Port>. Se o número da porta não for definido ou for inválido, essa é a causa do erro.

    Por exemplo, a política a seguir especifica um número de porta inválido:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    Mes>sag<eLoggi>ng na<me=&quo>t;LogToSyslog"
      Syslog
        Message[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"]< Weather> requ<est >for WOEID {request<.quer>ypara<m.w}>.</Mess>age
     <   Hostl>ogs<-01.loggl>y.com</Host
        Por>t0/P<ort
        Protoc>olT<CP/Prot>oco<l
        Fo>rmatM<essagetru>e</FormatMessage
    >  /Syslog
      logLevelALERT/logLevel
    /MessageLogging
    

    Como o número da porta definido no elemento <Port> é inválido, a implantação do proxy da API falha com o erro:

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    

Resolução

Verifique se um número de porta está definido no elemento <Port> da política MessageLogging. Precisa ser um número inteiro maior do que zero.

Para corrigir o exemplo mostrado acima, defina um número de porta válido no elemento <Protocol>.

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
Mes>sag<eLoggi>ng na<me=&quo>t;LogToSyslog"
  Syslog
    Message[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"]< Weather> requ<est >for WOEID {request<.quer>ypara<m.w}>./M<essag>e
   < Hostlog>s-0<1.loggly.>com/H<ost
    Port5>14/P<ort
    Protoc>olT<CP/Prot>oco<l
    Fo>rmatM<essagetru>e</FormatMessage
>  /Syslog
  logLevelALERT/logLevel
/MessageLogging