Mengaktifkan log debug NGINX di Router

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

Di Apigee, Router secara default dikonfigurasi untuk hanya mencatat pesan error dalam file log error. Namun, mungkin ada banyak situasi di mana Anda mungkin perlu mengumpulkan informasi lebih banyak untuk menentukan penyebab error tertentu terjadi. Salah satu cara untuk melakukannya adalah dengan mengonfigurasi Router agar beroperasi dalam mode debug sehingga Anda bisa mendapatkan log debug, yang dapat membantu Anda mendapatkan informasi lebih lanjut tentang error dan menyelesaikannya lebih cepat.

Dokumen ini menjelaskan cara mengaktifkan log debug di Router Apigee Edge untuk permintaan pada host virtual tertentu. Logging debug dapat diaktifkan untuk mengambil lebih banyak informasi saat ada masalah seperti permintaan yang salah format, 400 Bad Request - SSL Certificate Error, di Arah Utara (antara aplikasi Klien dan Router).

Sebelum memulai

  • Jika Anda belum terbiasa dengan log error NGINX dan level logging, lihat dokumentasi log error NGINX.
  • Kumpulkan nama organisasi, lingkungan, dan host virtual permintaan API yang informasi debugnya Anda perlukan.

Mengaktifkan log debug NGINX di Router

Bagian ini menjelaskan cara mengaktifkan log debug di Router Edge.

Mengidentifikasi file konfigurasi host virtual yang relevan

Langkah berikut menjelaskan cara menemukan file konfigurasi host virtual yang relevan di Router:

  1. Jika Anda mengetahui nama organisasi, nama lingkungan, dan host virtual untuk permintaan API tertentu yang ingin di-debug, tentukan file konferensi virtual host seperti berikut:
    1. Buka direktori /opt/nginx/conf.d/.
    2. Telusuri file ORG_NAME_ENV_NAME_VIRTUALHOST.conf di direktori conf.d menggunakan perintah berikut:
      ls -ltrh | grep "ORG_NAME_ENV_NAME_VIRTUALHOST_NAME"
      
  2. Jika tidak mengetahui nama organisasi, Anda dapat mengidentifikasi file konfigurasi host virtual menggunakan nama alias host yang digunakan dalam permintaan API sebagai berikut:

    Buka direktori /opt/nginx/conf.d/ dan telusuri hostalias yang digunakan untuk membuat permintaan menggunakan perintah berikut:

    ls -ltrh | grep -r 'HOST_ALIAS_NAME'
    

    Contoh output:

    Misalnya nama alias host adalah opdk.cert-test.com. Saat menjalankan perintah ls -ltrh, Anda akan melihat output seperti yang ditunjukkan di bawah ini:

Mengaktifkan logging debug untuk host virtual tertentu di Router

Langkah-langkah berikut menjelaskan cara mengaktifkan log debug pada Router Apigee untuk host virtual tertentu.

  1. Buka file berikut pada mesin Router di editor: /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf. Contoh:
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
    
  2. Ubah baris berikut:
    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
    

    hingga

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
    
  3. Simpan perubahan.
  4. Jalankan perintah reload NGINX. Contoh:
    sudo /opt/nginx/scripts/apigee-nginx reload
    
  5. File berikut sekarang akan mengambil log debug:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Jika Anda ingin mengambil log debug di lebih dari satu Router, ulangi langkah-langkah ini di setiap Router.

Memverifikasi informasi debug dicatat dalam file log error NGINX

  1. Setelah klien membuat Permintaan API pada alias host dan port yang terkait dengan konfigurasi host virtual, log debug akan direkam dalam file berikut:

    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log

  2. Pastikan Anda melihat informasi debug untuk permintaan API seperti yang ditunjukkan dalam contoh berikut:

    Contoh informasi debug:

    2021/01/27 02:48:40 [warn] 27624#27624: *3777 a client request body is buffered to a temporary file /opt/apigee/var/log/edge-router/nginx/client_temp/0000000001, client: XX.XX.XX.XX, server: XX.XX.XX.XX, request: "POST /post-no-target HTTP/1.1", host: "XX.XX.XX.XX:443"
    

    Informasi yang ditunjukkan di atas akan diambil saat klien mengirim permintaan POST dengan payload yang besar. Log ini hanya akan ditampilkan saat logging debug diaktifkan.

  3. Jika tidak melihat informasi debug tambahan, pastikan Anda telah mengikuti semua langkah yang diuraikan dalam Mengaktifkan logging debug untuk host virtual tertentu di Router dengan benar. Jika Anda melewatkan langkah apa pun, ulangi lagi semua langkah tersebut dengan benar.
  4. Jika Anda masih tidak bisa mendapatkan informasi debug, hubungi Dukungan Apigee Edge.

Menonaktifkan log debug untuk host virtual tertentu di Router

Bagian ini menjelaskan cara menonaktifkan log debug di Router untuk host virtual tertentu.

  1. Buka file berikut di mesin Router di editor: /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf Misalnya:
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
    
  2. Ubah baris berikut:

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
    

    hingga

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
    
  3. Simpan perubahan.
  4. Jalankan perintah reload NGINX. Contoh:
    /opt/nginx/scripts/apigee-nginx reload
    
  5. File berikut sekarang hanya akan mengambil log error:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Jika Anda ingin menghentikan log debug di lebih dari satu Router, ulangi langkah-langkah ini di setiap Router.

Hanya memverifikasi informasi error yang dicatat dalam file log error NGINX

  1. Buat beberapa permintaan API pada alias host dan port yang terkait dengan konfigurasi host virtual tertentu atau tunggu klien membuat permintaan tersebut.
  2. Periksa file berikut: /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
  3. Pastikan Anda hanya melihat informasi error dan informasi debug tidak lagi dicatat dalam log untuk permintaan tersebut.
  4. Jika masih melihat informasi debug tambahan yang dicatat dalam log, pastikan Anda telah mengikuti semua langkah yang diuraikan dalam Menonaktifkan log debug untuk host virtual tertentu di Router dengan benar. Jika Anda melewatkan langkah apa pun, ulangi lagi semua langkah tersebut dengan benar.
  5. Jika Anda masih tidak bisa mendapatkan informasi debug, silakan hubungi Dukungan Apigee Edge.