Rotasi log—proses merotasi beberapa file log untuk digunakan dan tidak digunakan— menyederhanakan administrasi sistem yang menghasilkan file log dalam jumlah besar. Rotasi log memungkinkan rotasi, kompresi, penghapusan, dan pengiriman file log secara otomatis.
Di Edge for Private Cloud, beberapa file log utama di setiap komponen apigee
dikonfigurasi dengan mekanisme rotasi default. Misalnya, pada komponen Message Processor, file berikut dikonfigurasi dengan mekanisme rotasi default 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
File serupa ada untuk komponen edge-* lainnya (yang namanya
dimulai dengan edge-), seperti edge-management-server,
edge-router, edge-postgres-server, dan edge-qpid-server.
edge-* ini juga menghasilkan file log tambahan yang merupakan output yang dialihkan dari konsol komponen masing-masing. Dalam kasus komponen Message Processor, file ini disebut /opt/apigee/var/log/edge-message-processor/edge-message-processor.log.
Komponen edge-* lainnya menghasilkan file yang serupa. Rotasi file ini tidak dilakukan oleh
library logback, melainkan menggunakan logrotate dan crontab.
Sebelum memulai
- Jika Anda belum memahami konfigurasi
logrotate, baca manual logrotate. - Jika Anda belum memahami konfigurasi
crontab, baca manual crontab.
Mengaktifkan rotasi log
Mulai dari Edge untuk Private Cloud versi 4.52, saat Anda menginstal komponen edge-*, entri crontab untuk
merotasi log ini akan otomatis dibuat di crontab pengguna apigee. Cron job ini berjalan setiap jam secara default, dan menggunakan utilitas logrotate untuk merotasi log. Jika beberapa komponen edge-*
diinstal pada node yang sama (misalnya, dalam penginstalan all-in-one, atau jika
router dan pemroses pesan diinstal pada satu node), setiap komponen akan memiliki entri cron-nya sendiri untuk
merotasi log masing-masing.
Catatan:
- Jika selama penginstalan komponen
edge-*, Anda tidak ingin otomatis menyiapkan cronjoblogrotate, tetapkan flag “ENABLE_LOGROTATE=n” dalam file konfigurasi otomatis yang Anda gunakan untuk penginstalan. Jika cron job tidak ditetapkan selama penginstalan, Anda dapat menyiapkannya nanti dengan mengikuti langkah-langkah untuk mengaktifkan cronlogrotatekomponen. - Untuk komponen
edge-router, cron joblogrotatetambahan juga dikonfigurasi secara default. Cron ini merotasi log akses dan error yang dihasilkan oleh Nginx.
Contoh berikut mengilustrasikan berbagai konfigurasi dan operasi administratif yang dapat Anda lakukan.
Melihat entri cron di 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 edge-message-processor, jalankan:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s
Melihat konfigurasi logrotate komponen
Konfigurasi logrotate komponen dapat ditemukan di file
$APIGEE_ROOT/<component>/logrotate/logrotate.conf.
Misalnya, dalam kasus edge-message-processor, konfigurasi logrotate node dapat
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 edge-message-processor, jalankan:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -d
Mengubah jadwal cron perintah logrotate tertentu
Pada node tempat Anda ingin mengubah jadwal cron logrotate, buka file penggantian konfigurasi komponen masing-masing. File penggantian konfigurasi komponen edge-*
tercantum dalam tabel di bawah:
| Komponen | File penggantian 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 penggantian yang sesuai dan tetapkan penggantian konfigurasi berikut. Contoh di bawah mengganti cron job untuk berjalan pada menit ke-0 setiap jam.
conf_logrotate_cron_duration=0 * * * *
Untuk menetapkan penggantian konfigurasi:
- Pastikan file dapat dibaca oleh pengguna
apigee. - 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 edge-message-processor, masukkan:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
Untuk memverifikasi bahwa perubahan telah diterapkan, periksa entri cron atau lihat entri cron logrotate komponen.
Konfigurasi logrotate tambahan
Serupa dengan langkah-langkah yang tercantum di bagian di atas untuk mengubah jadwal cron, Anda juga dapat mengubah konfigurasi tambahan. 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 yang menangkap status runtime logrotate - menampilkan izin baca/tulis untuk pengguna apigee. Default: $APIGEE_ROOT/var/run/<component>/logrotate.status |
conf_logrotate_logs |
Log 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: “compress” |
conf_logrotate_compress_type |
Jenis kompresi. Default: “delaycompress”. Menunda kompresi file yang dirotasi terbaru ke siklus logrotate berikutnya. |
conf_logrotate_size |
Batas ukuran log untuk rotasi. Default: “10M” |
Menggunakan mekanisme rotasi log dan cron Anda sendiri
Jika persyaratan Anda untuk merotasi <component>.log tidak terpenuhi oleh konfigurasi
yang disediakan oleh Apigee, Anda dapat 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
menonaktifkan cron logrotate yang disediakan oleh Apigee dan menyiapkan cron job Anda sendiri sesuai kebutuhan.
Jika perlu merujuk ke entri cron rotasi log Apigee, Anda dapat menemukannya di file
$APIGEE_ROOT/. Misalnya, dalam kasus
edge-message-processor, file ini disebut
$APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron. File ini
mencakup 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 file konfigurasi logrotate sendiri dan menggunakan perintah logrotate yang serupa untuk melakukan rotasi log.