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

Deployment kebijakan 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 ditampilkan di bawah ini:

<Protocol>HTTP</Protocol>

Diagnosis

  1. Identifikasi kebijakan MessageLogging tempat error terjadi. Anda dapat menemukan informasi ini di 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 ditetapkan, 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 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 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 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. Di kebijakan MessageLogging yang gagal, periksa apakah nomor port yang valid ditentukan dalam elemen <Port>. Jika nomor port tidak ditentukan atau tidak valid, berarti 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 ditetapkan dalam elemen <Port> pada 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>