Pemecahan masalah error deployment kebijakan Logging Pesan

Anda sedang melihat dokumentasi Apigee dan Apigee Hybrid.
Lihat dokumentasi Apigee Edge.

InvalidProtocol

Pesan error

Deployment proxy API melalui UI atau API Apigee 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

Terjadi error saat menyimpan revisi 4.

Penyebab

Deployment kebijakan MessageLogging 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 error terjadi. Anda dapat menemukan informasi ini dalam pesan error. Misalnya, dalam error berikut, nama kebijakan adalah LogToSyslog:

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

    Misalnya, kebijakan berikut mencantumkan 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 akan 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 ditampilkan 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 atau API Apigee 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

Terjadi error saat menyimpan revisi 4.

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 error terjadi. Anda dapat menemukan informasi ini dari pesan error. Misalnya, dalam error berikut, nama kebijakan adalah LogToSyslog:

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    
  2. Dalam 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 akan 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 ditampilkan 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>