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

Вы просматриваете документацию 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&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
    

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

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
    

Разрешение

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

  • TCP
  • UDP

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

ИнвалидПорт

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

Развертывание прокси-сервера 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&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
    

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

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    

Разрешение

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

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