Mengaktifkan rotasi log untuk komponen Edge

Rotasi log—proses merotasi beberapa file log yang tidak digunakan dan tidak digunakan— menyederhanakan administrasi sistem yang menghasilkan file log dalam jumlah besar. Rotasi log memungkinkan rotasi otomatis, kompresi, penghapusan, dan milis file log.

Di Edge untuk Private Cloud, beberapa file log utama di setiap apigee komponen dikonfigurasi dengan mekanisme rotasi {i>default<i}. Misalnya, pada Komponen Pemroses Pesan, file berikut dikonfigurasi dengan rotasi default mekanisme ini menggunakan logback:

  • /opt/apigee/var/log/edge-message-processor/logs/system.log
  • /opt/apigee/var/log/edge-message-processor/logs/events.log
  • /opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.log
  • /opt/apigee/var/log/edge-message-processor/logs/configurations.log
  • /opt/apigee/var/log/edge-message-processor/logs/transactions.log

Ada file yang mirip untuk komponen edge-* lainnya (yang namanya diawali dengan edge-), seperti edge-management-server, edge-router, edge-postgres-server, dan edge-qpid-server.

Setiap komponen edge-* ini juga menghasilkan file log tambahan yang dialihkan dari konsol komponen masing-masing. Dalam kasus komponen {i>Message Processor<i}, file ini bernama /opt/apigee/var/log/edge-message-processor/edge-message-processor.log. Komponen edge-* lainnya menghasilkan file yang serupa. File-file ini rotasi tidak dilakukan oleh library logback, tetapi menggunakan logrotate dan crontab.

Sebelum memulai

Mengaktifkan rotasi log

Dimulai dengan Edge untuk Private Cloud versi 4.52, saat Anda menginstal edge-* , entri crontab untuk memutar log ini otomatis dibuat dalam crontab pengguna apigee. {i>cron job <i}ini berjalan setiap jam secara default, dan menggunakan utilitas logrotate untuk merotasi log. Jika beberapa edge-* komponen diinstal pada node yang sama (misalnya, dalam penginstalan lengkap, atau jika {i>router<i} dan prosesor pesan diinstal pada satu {i>node<i}), setiap komponen akan memiliki entri {i>cron<i} sendiri untuk merotasi lognya masing-masing.

Catatan:

  • Jika selama penginstalan komponen edge-*, Anda tidak ingin secara otomatis mengatur logrotate cronjob, setel tanda “ENABLE_LOGROTATE=n” di file konfigurasi senyap yang Anda gunakan untuk penginstalan. Jika cron job tidak disetel selama penginstalan, Anda dapat menyiapkannya nanti dengan mengikuti langkah-langkah untuk mengaktifkan cron logrotate komponen.
  • Untuk komponen edge-router, cron job logrotate tambahan dikonfigurasi secara default. {i>cron<i} ini merotasi akses dan log {i>error<i} yang dibuat oleh Nginx.

Contoh berikut menggambarkan berbagai konfigurasi dan operasi administratif yang dapat Anda lakukan.

Melihat entri cron pada node

sudo crontab -u apigee -l

Melihat entri cron logrotate komponen

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -s

Misalnya, untuk melihat cron logrotate pemroses pesan tepi, jalankan:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s

Melihat komponen Konfigurasi logrotate

Konfigurasi logrotate komponen dapat ditemukan dalam file $APIGEE_ROOT/<component>/logrotate/logrotate.conf. Misalnya, dalam kasus pemroses pesan edge, konfigurasi logrotate node dapat berupa ditemukan di $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf.

Mengaktifkan cron logrotate komponen

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e

Misalnya, untuk mengaktifkan cron logrotate edge-message-processor, jalankan:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e

Menonaktifkan cron logrotate komponen

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -d

Misalnya, untuk menonaktifkan cron logrotate pemroses pesan tepi, jalankan:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -d

Mengubah jadwal cron dari perintah logrotate tertentu

Di node tempat Anda ingin mengubah jadwal cron logrotate, buka masing-masing file pengganti konfigurasi komponen. File pengganti konfigurasi komponen edge-* tercantum dalam tabel di bawah ini:

Komponen File pengganti konfigurasi
edge-message-processor $APIGEE_ROOT/customer/application/message-processor.properties
edge-management-server $APIGEE_ROOT/customer/application/management-server.properties
edge-router $APIGEE_ROOT/customer/application/router.properties
edge-postgres-server $APIGEE_ROOT/customer/application/postgres-server.properties
edge-qpid-server $APIGEE_ROOT/customer/application/qpid-serverproperties

Buka file pengganti yang sesuai dan tetapkan penggantian konfigurasi berikut. Contoh di bawah ini mengganti cron job yang berjalan pada menit ke-0 setiap jam.

conf_logrotate_cron_duration=0 * * * *

Untuk menetapkan penggantian konfigurasi:

  1. Pastikan file dapat dibaca oleh pengguna apigee.
  2. Terapkan jadwal cron yang lebih baru ke komponen:
    $APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e

Misalnya, untuk menerapkan jadwal cron yang lebih baru ke logrotate pemroses pesan edge, masukkan:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e

Untuk memverifikasi bahwa perubahan telah diterapkan, periksa entri cron atau lihat logrotate entri cron.

Konfigurasi logrotate tambahan

Mirip dengan langkah-langkah yang tercantum di atas untuk mengubah jadwal {i>cron<i}, Anda dapat mengubah konfigurasi tambahan juga. Tabel di bawah menjelaskan konfigurasi ini:

Konfigurasi Deskripsi
conf_logrotate_bin_location Lokasi biner logrotate. Default: /usr/sbin/logrotate
conf_logrotate_status_file File status menangkap status runtime logrotate - show memiliki izin baca/tulis untuk apigee pengguna. Default: $APIGEE_ROOT/var/run/<component>/logrotate.status
conf_logrotate_logs Log mana yang akan dirotasi. Dapat menyertakan karakter pengganti. Default: $APIGEE_ROOT/var/log/<component>/<component>.log
conf_logrotate_rotate Jumlah rotasi. Default: “5”
conf_logrotate_compress Apakah akan mengompresi file yang dirotasi. Default: “kompresi”
conf_logrotate_compress_type Jenis kompresi. Default: “delaycompress”. Menunda kompresi file yang diputar terakhir ke siklus logrotate berikutnya.
conf_logrotate_size Batas ukuran log untuk rotasi. Default: “10 jt”

Gunakan mekanisme rotasi log dan cron Anda sendiri

Jika persyaratan Anda untuk merotasi <component>.log tidak terpenuhi oleh konfigurasi yang disediakan oleh Apigee, Anda menggunakan mekanisme rotasi log Anda sendiri menggunakan alat seperti logrotate atau lainnya. Misalnya, konfigurasi yang disediakan oleh Apigee memungkinkan Anda merotasi log berdasarkan ukuran tetapi Anda ingin merotasi log berdasarkan tanggal/waktu atau faktor lainnya. Dalam kasus tersebut, Anda harus mengelompokkan nonaktifkan cron logrotate yang disediakan oleh Apigee dan siapkan cron job Anda sendiri sesuai kebutuhan.

Jika perlu melihat entri cron rotasi log Apigee, Anda dapat menemukannya di file $APIGEE_ROOT//logrotate/logrotate.cron. Misalnya, dalam kasus edge-message-processor, file ini disebut $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron. File ini menyertakan entri cron dan perintah yang dijalankan oleh Apigee untuk rotasi log. Jika Anda ingin menggunakan logrotate tetapi tidak ingin menggunakan konfigurasi Apigee, Anda dapat membuat logrotate sendiri file konfigurasi dan gunakan perintah logrotate yang serupa untuk melakukan rotasi log.