Rozwiązywanie problemów związanych z błędem wdrożenia zasady logowania wiadomości

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

InvalidProtocol

Komunikat o błędzie

Wdrożenie serwera proxy interfejsu API przy użyciu interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:

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

Przykładowy komunikat o błędzie

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

Przykładowy zrzut ekranu

Przyczyna

Ten błąd może wystąpić, gdy wdrożenie zasady MessageLogging jest nieprawidłowe, jeśli protokół określony w elemencie <Protocol> jest nieprawidłowy. Prawidłowe protokoły to TCP i UDP. W przypadku wysyłania komunikatów syslog przez TLS/SSL obsługiwany jest tylko protokół TCP.

Na przykład ten błąd pojawia się, gdy wdrożenie serwera proxy interfejsu API nie powiedzie się, jeśli określisz protokół HTTP w elemencie <Protocol> zasady MessageLogging, jak pokazano poniżej:

<Protocol>HTTP</Protocol>

Diagnostyka

  1. Określ zasadę MessageLogging, w której wystąpił błąd. Te informacje znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady to LogToSyslog:

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
    
  2. W przypadku niepowodzenia konfiguracji zasady MessageLogging sprawdź, czy protokół określony w elemencie <Protocol> jest prawidłowy. Jeśli określono nieprawidłowy protokół, to to jest przyczyną błędu.

    Na przykład ta zasada określa nieprawidłowy protokół.

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

    Protokół zdefiniowany w elemencie <Protocol> jest nieprawidłowy, dlatego wdrożenie serwera proxy interfejsu API kończy się niepowodzeniem i wyświetla się błąd:

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
    

Rozdzielczość

Sprawdź, czy protokół zdefiniowany w elemencie <Protocol> zasady MessageLogging jest prawidłowy. <Protocol> obsługuje następujące wartości:

  • TCP
  • UDP

Aby poprawić przykład powyżej, zdefiniuj prawidłowy protokół w elemencie <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

Komunikat o błędzie

Wdrożenie serwera proxy interfejsu API przy użyciu interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:

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

Przykładowy komunikat o błędzie

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

Przykładowy zrzut ekranu

Przyczyna

Ten błąd może wystąpić, gdy wdrożenie zasady MessageLogging może się nie udać, jeśli w elemencie <Port> nie podano numeru portu lub jest on nieprawidłowy. Numer portu musi być liczbą całkowitą większą od 0.

Jeśli na przykład element <Port> jest zadeklarowany w sposób opisany poniżej, wdrożenie serwera proxy interfejsu API się nie uda:

<Port>0</Port>

Diagnostyka

  1. Określ zasadę MessageLogging, w której wystąpił błąd. Te informacje znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady to LogToSyslog:

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    
  2. W przypadku niepowodzenia zasady MessageLogging sprawdź, czy w elemencie <Port> określono prawidłowy numer portu. Jeśli numer portu nie jest zdefiniowany lub jest nieprawidłowy, to jest przyczyną błędu.

    Na przykład ta zasada określa nieprawidłowy numer portu:

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

    Numer portu zdefiniowany w elemencie <Port> jest nieprawidłowy, dlatego wdrożenie serwera proxy interfejsu API kończy się niepowodzeniem i wyświetla się błąd:

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    

Rozdzielczość

Upewnij się, że numer portu jest zdefiniowany w elemencie <Port> zasady MessageLogging. Musi być liczbą całkowitą większą od 0.

Aby poprawić przykład powyżej, zdefiniuj prawidłowy numer portu w elemencie <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>