Pemecahan masalah error deployment kebijakan Logging Pesan

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

InvalidProtocol

Pesan error

Deployment proxy API melalui UI Edge atau Edge Management API gagal dengan pesan error ini:

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

Contoh pesan error

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

Contoh screenshot

Cause

Penerapan kebijakan MessageLogging policy dapat gagal dengan error ini jika protokol yang ditentukan dalam elemen <Protocol> tidak valid. Protokol yang valid adalah TCP dan UDP. Untuk mengirim pesan syslog melalui TLS/SSL, hanya TCP yang didukung.

Misalnya, deployment Proxy API gagal dengan error ini jika Anda menentukan HTTP dalam elemen <Protocol> Kebijakan MessageLogging seperti yang ditunjukkan di bawah:

<Protocol>HTTP</Protocol>

Diagnosis

  1. Identifikasi kebijakan MessageLogging tempat terjadinya error. Anda dapat menemukan informasi ini dalam pesan error. Misalnya, dalam error berikut, nama kebijakannya adalah LogToSyslog:

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
    
  2. Dalam konfigurasi kebijakan MessageLogging yang gagal, periksa apakah protokol yang ditentukan dalam elemen <Protocol> valid. Jika ada protokol tidak valid yang ditentukan, maka itulah penyebab error.

    Misalnya, kebijakan berikut menentukan protokol yang tidak valid.

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

    Karena protokol yang ditentukan dalam elemen <Protocol> tidak valid, deployment Proxy API gagal dengan error:

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
    

Resolusi

Pastikan protokol yang ditentukan dalam elemen <Protocol> kebijakan MessageLogging valid. Elemen <Protocol> mendukung nilai berikut:

  • TCP
  • UDP

Untuk memperbaiki contoh yang ditunjukkan di atas, tentukan protokol yang valid dalam elemen <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

Pesan error

Deployment proxy API melalui UI Edge atau Edge Management API gagal dengan pesan error ini:

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

Contoh pesan error

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

Contoh screenshot

Penyebab

Deployment kebijakan MessageLogging dapat gagal dengan error ini jika nomor port tidak ditentukan dalam elemen <Port> atau jika tidak valid. Nomor port harus berupa bilangan bulat yang lebih besar dari nol.

Misalnya, jika elemen <Port> dideklarasikan seperti yang ditunjukkan di bawah, deployment proxy API akan gagal:

<Port>0</Port>

Diagnosis

  1. Identifikasi kebijakan MessageLogging tempat terjadinya error. Anda dapat menemukan informasi ini dari pesan error. Misalnya, dalam error berikut, nama kebijakannya adalah LogToSyslog:

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    
  2. Dalam pemeriksaan kebijakan MessageLogging yang gagal, periksa apakah nomor port yang valid ditentukan dalam elemen <Port>. Jika nomor port tidak ditentukan atau tidak valid, itulah penyebab error.

    Misalnya, kebijakan berikut menentukan nomor port yang tidak valid:

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

    Karena nomor port yang ditentukan dalam elemen <Port> tidak valid, deployment Proxy API gagal dengan error:

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    

Resolusi

Pastikan nomor port ditentukan dalam elemen <Port> kebijakan MessageLogging. Nilainya harus berupa bilangan bulat yang lebih besar dari nol.

Untuk memperbaiki contoh yang ditunjukkan di atas, tentukan nomor port yang valid dalam elemen <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>