Pemecahan masalah error deployment kebijakan Logging Pesan

Anda sedang melihat dokumentasi Apigee dan Apigee hybrid.
Lihat Dokumentasi Apigee Edge.

ini.

InvalidProtocol

Pesan error

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

Screenshot contoh

Kesalahan 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 ini:

<Protocol>HTTP</Protocol>

Diagnosis

  1. Mengidentifikasi 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 yang tidak valid yang ditentukan, maka itulah penyebab error.

    Misalnya, kebijakan berikut menetapkan 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 dan disertai error:

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
    

Resolusi

Pastikan protokol yang ditentukan dalam elemen <Protocol> kebijakan MessageLogging valid. <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 Apigee atau 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.

Screenshot contoh

Kesalahan saat menyimpan revisi 4.

Penyebab

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

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

<Port>0</Port>

Diagnosis

  1. Mengidentifikasi 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 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 menetapkan 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 dan disertai error:

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    

Resolusi

Pastikan nomor port ditentukan dalam elemen <Port> di 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>