Устранение ошибок при развертывании политики ведения журнала сообщений

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

Неверный протокол

Сообщение об ошибке

Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой с этим сообщением об ошибке:

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.

Пример скриншота

Причина

Развертывание политики политики MessageLogging может завершиться неудачей из-за этой ошибки, если протокол, указанный в элементе <Protocol> , недействителен. Допустимые протоколы: TCP и UDP. Для отправки сообщений системного журнала через TLS/SSL поддерживается только TCP.

Например, развертывание прокси-сервера API завершается с этой ошибкой, если вы указываете HTTP в элементе <Protocol> политики регистрации сообщений, как показано ниже:

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

    Поскольку протокол, определенный в элементе <Protocol> , недействителен, развертывание прокси-сервера API завершается с ошибкой:

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
    

Разрешение

Убедитесь, что протокол, определенный в элементе <Protocol> политики MessageLogging, действителен. Элемент <Protocol> поддерживает следующие значения:

  • TCP
  • UDP

Чтобы исправить приведенный выше пример, определите допустимый протокол в элементе <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>

ИнвалидПорт

Сообщение об ошибке

Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой с этим сообщением об ошибке:

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> или если он недействителен. Номер порта должен быть целым числом, большим нуля.

Например, если элемент <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" 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>
    

    Поскольку номер порта, определенный в элементе <Port> , недействителен, развертывание прокси-сервера API завершается с ошибкой:

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    

Разрешение

Убедитесь, что номер порта определен в элементе <Port> политики MessageLogging. Оно должно быть целым числом больше нуля.

Чтобы исправить приведенный выше пример, определите действительный номер порта в элементе <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>