Message Logging politika dağıtımı hatası sorunlarını giderme

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

InvalidProtocol

Hata mesajı

Edge kullanıcı arayüzü veya Edge management API üzerinden API proxy'si dağıtıldığında şu hata mesajı gösterilir:

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

Örnek hata mesajı

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

Örnek ekran görüntüsü

Neden

<Protocol> öğesi içinde belirtilen protokol geçerli değilse MessageLogging politikasının dağıtımı bu hatayla başarısız olabilir. Geçerli protokoller TCP ve UDP'dir. TLS/SSL üzerinden sistem günlüğü mesajları göndermek için yalnızca TCP desteklenir.

Örneğin, MessageLogging Politikası'nın <Protocol> öğesinde aşağıda gösterildiği gibi HTTP'yi belirtirseniz API Proxy'sinin dağıtımı bu hatayla başarısız olur:

<Protocol>HTTP</Protocol>

Teşhis

  1. Hatanın oluştuğu MessageLogging politikasını belirleyin. Bu bilgileri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada politika adı LogToSyslog: şeklindedir.

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
    
  2. Başarısız olan MessageLogging politikası yapılandırmasında, <Protocol> öğesinde belirtilen protokolün geçerli olup olmadığını kontrol edin. Geçersiz bir protokol belirtiliyorsa hatanın nedeni budur.

    Örneğin, aşağıdaki politika geçersiz bir protokol belirtiyor.

    <?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> öğesinde tanımlanan protokol geçersiz olduğundan API Proxy'sinin dağıtımı şu hatayla başarısız oluyor:

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
    

Çözünürlük

MessageLogging politikasının <Protocol> öğesinde tanımlanan protokolün geçerli olduğundan emin olun. <Protocol> öğesi aşağıdaki değerleri destekler:

  • TCP
  • UDP

Yukarıda gösterilen örneği düzeltmek için <Protocol> öğesinde geçerli bir protokol tanımlayın:

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

InvalidPort

Hata mesajı

Edge kullanıcı arayüzü veya Edge management API üzerinden API proxy'si dağıtıldığında şu hata mesajı gösterilir:

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

Örnek hata mesajı

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

Örnek ekran görüntüsü

Neden

Bağlantı noktası numarası <Port> öğesinde belirtilmemişse veya geçerli değilse MessageLogging politikasının dağıtımı bu hatayla başarısız olabilir. Bağlantı noktası numarası sıfırdan büyük bir tam sayı olmalıdır.

Örneğin, <Port> öğesi aşağıda gösterildiği gibi tanımlanırsa API proxy'sinin dağıtımı başarısız olur:

<Port>0</Port>

Teşhis

  1. Hatanın oluştuğu MessageLogging politikasını belirleyin. Bu bilgileri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada politika adı LogToSyslog: şeklindedir.

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    
  2. Başarısız olan MessageLogging politikasında, <Port> öğesinde geçerli bir bağlantı noktası numarası belirtilip belirtilmediğini kontrol edin. Bağlantı noktası numarası tanımlanmamışsa veya geçersizse hatanın nedeni budur.

    Örneğin, aşağıdaki politika geçersiz bir bağlantı noktası numarası belirtir:

    <?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> öğesinde tanımlanan bağlantı noktası numarası geçersiz olduğundan API Proxy'sinin dağıtımı şu hatayı vererek başarısız olur:

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    

Çözünürlük

MessageLogging politikasının <Port> öğesinde bir bağlantı noktası numarası tanımlandığından emin olun. Sıfırdan büyük bir tam sayı olmalıdır.

Yukarıda gösterilen örneği düzeltmek için <Protocol> öğesinde geçerli bir bağlantı noktası numarası tanımlayın.

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