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

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
info

InvalidProtocol

Komunikat o błędzie

Wdrażanie proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla 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

Wdrożenie zasady MessageLogging policy może się nie powieść i wywołać ten błąd, jeśli protokół określony w elemencie <Protocol> jest nieprawidłowy. Prawidłowe protokoły to TCP i UDP. W przypadku wysyłania wiadomości syslog przez TLS/SSL obsługiwany jest tylko protokół TCP.

Na przykład wdrożenie serwera proxy interfejsu API nie powiedzie się z tym błędem, jeśli w elemencie <Protocol> zasady MessageLogging Policy określisz HTTP, jak pokazano poniżej:

<Protocol>HTTP</Protocol>

Diagnoza

  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 nieudanej weryfikacji konfiguracji zasady MessageLogging sprawdź, czy protokół określony w elemencie <Protocol> jest prawidłowy. Jeśli określono nieprawidłowy protokół, to jest to przyczyną błędu.

    Na przykład te zasady określają 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, więc wdrożenie 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. Element <Protocol> obsługuje te wartości:

  • TCP
  • UDP

Aby poprawić przykład pokazany 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

Wdrażanie proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla 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

Wdrożenie zasad MessageLogging może się nie powieść i wyświetlić ten błąd, jeśli numer portu nie jest określony w elemencie <Port> lub jest nieprawidłowy. Numer portu musi być liczbą całkowitą większą od zera.

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

<Port>0</Port>

Diagnostyka

  1. Określ zasadę MessageLogging, w której wystąpił błąd. Informacje te 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 nieudanej weryfikacji zasady MessageLogging sprawdź, czy w elemencie <Port> podano prawidłowy numer portu. Jeśli numer portu nie jest zdefiniowany lub jest nieprawidłowy, to jest to przyczyną błędu.

    Na przykład te zasady określają 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>
    

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

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    

Rozdzielczość

Sprawdź, czy w elemencie <Port> w zasadach MessageLogging jest zdefiniowany numer portu. Musi to być liczba całkowita większa od zera.

Aby poprawić przykład pokazany 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>