Risoluzione dei problemi relativi agli errori di deployment dei criteri di logging dei messaggi

Stai visualizzando la documentazione di Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.

InvalidProtocol

Messaggio di errore

Il deployment di un proxy API tramite la UI o l'API Apigee non riesce e viene visualizzato questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Errore durante il salvataggio della revisione 4.

Causa

Il deployment della policy MessageLogging può non riuscire con questo errore se il protocollo specificato all'interno dell'elemento <Protocol> non è valido. I protocolli validi sono TCP e UDP. Per l'invio di messaggi syslog tramite TLS/SSL, è supportato solo TCP.

Ad esempio, il deployment del proxy API non riesce con questo errore se specifichi HTTP nell'elemento <Protocol> del criterio MessageLogging come mostrato di seguito:

<Protocol>HTTP</Protocol>

Diagnosi

  1. Identifica il criterio MessageLogging in cui si è verificato l'errore. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nel seguente errore, il nome della policy è LogToSyslog:

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
    
  2. Nella configurazione della policy MessageLogging non riuscita, verifica che il protocollo specificato all'interno dell'elemento <Protocol> sia valido. Se viene specificato un protocollo non valido, questo è la causa dell'errore.

    Ad esempio, la seguente policy specifica un protocollo non valido.

    <?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>
    

    Poiché il protocollo definito all'interno dell'elemento <Protocol> non è valido, il deployment del proxy API non riesce e viene visualizzato il seguente errore:

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
    

Risoluzione

Assicurati che il protocollo definito all'interno dell'elemento <Protocol> del criterio MessageLogging sia valido. L'elemento <Protocol> supporta i seguenti valori:

  • TCP
  • UDP

Per correggere l'esempio mostrato sopra, definisci un protocollo valido all'interno dell'elemento <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

Messaggio di errore

Il deployment di un proxy API tramite la UI o l'API Apigee non riesce e viene visualizzato questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Errore durante il salvataggio della revisione 4.

Causa

Il deployment della policy MessageLogging può non riuscire con questo errore se il numero di porta non è specificato nell'elemento <Port> o se non è valido. Il numero di porta deve essere un numero intero maggiore di zero.

Ad esempio, se l'elemento <Port> viene dichiarato come mostrato di seguito, il deployment del proxy API non va a buon fine:

<Port>0</Port>

Diagnosi

  1. Identifica il criterio MessageLogging in cui si è verificato l'errore. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nel seguente errore, il nome della policy è LogToSyslog:

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    
  2. Nel controllo dei criteri MessageLogging non riuscito, verifica se è specificato un numero di porta valido all'interno dell'elemento <Port>. Se il numero di porta non è definito o non è valido, questa è la causa dell'errore.

    Ad esempio, la seguente policy specifica un numero di porta non valido:

    <?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>
    

    Poiché il numero di porta definito all'interno dell'elemento <Port> non è valido, il deployment del proxy API non riesce e viene visualizzato l'errore:

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    

Risoluzione

Assicurati che sia definito un numero di porta all'interno dell'elemento <Port> del criterio MessageLogging. Deve essere un numero intero maggiore di zero.

Per correggere l'esempio mostrato sopra, definisci un numero di porta valido all'interno dell'elemento <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>