Rotasi log—proses memutar beberapa file log ke dalam dan ke luar penggunaan—menyederhanakan administrasi sistem yang menghasilkan file log dalam jumlah besar. Rotasi log memungkinkan rotasi, kompresi, penghapusan, dan pengiriman file log otomatis.
Di Edge untuk Private Cloud, beberapa file log utama pada setiap komponen apigee
dikonfigurasi dengan mekanisme rotasi default. Misalnya, pada komponen Pemroses Pesan, 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 diawali 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. Untuk komponen Pemroses Pesan, file ini diberi nama /opt/apigee/var/log/edge-message-processor/edge-message-processor.log
.
Komponen edge-*
lainnya akan menghasilkan file yang serupa. Rotasi file ini tidak dilakukan oleh library logback, melainkan menggunakan logrotate
dan crontab
.
Sebelum memulai
- Jika Anda tidak terbiasa dengan konfigurasi
logrotate
, baca manual logrotate. - Jika Anda belum terbiasa dengan konfigurasi
crontab
, baca panduan crontab.
Mengaktifkan rotasi log
Mulai dari Edge for Private Cloud versi 4.52, saat Anda menginstal komponen edge-*
, entri crontab
untuk memutar log ini akan otomatis dibuat dalam 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 lengkap, atau jika
router dan prosesor pesan diinstal pada satu node), setiap komponen akan memiliki cron entry-nya sendiri untuk
memutar log masing-masing.
Notes:
- Jika selama penginstalan komponen
edge-*
, Anda tidak ingin menyiapkan cronjoblogrotate
secara otomatis, tetapkan flag “ENABLE_LOGROTATE=n” dalam 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 cronlogrotate
komponen. - Untuk
edge-router
komponen, cron joblogrotate
tambahan juga dikonfigurasi secara default. cron ini merotasi akses dan log error yang dihasilkan oleh Nginx.
Contoh berikut mengilustrasikan berbagai konfigurasi dan operasi administratif yang dapat Anda lakukan.
Melihat entri cron pada node
sudo crontab -u apigee -l
Lihat entri cron logrotate
komponen
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -s
Misalnya, untuk melihat cron logrotate
prosesor pesan edge, jalankan:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s
Lihat konfigurasi logrotate
komponen
Konfigurasi logrotate
komponen dapat ditemukan di file
$APIGEE_ROOT/<component>/logrotate/logrotate.conf
.
Misalnya, dalam kasus pemroses pesan edge, 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
prosesor pesan edge, 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 ini:
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 setel penggantian konfigurasi berikut. Contoh di bawah ini mengganti cron job yang dijalankan 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
pemroses pesan edge, masukkan:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
Untuk memastikan 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 merekam status runtime logrotate - acara memiliki izin baca/tulis
untuk pengguna apigee . 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: “compress” |
conf_logrotate_compress_type |
Jenis kompresi. Default: “Delaycompress”. Menunda kompresi file terbaru yang dirotasi ke siklus logrotate berikutnya. |
conf_logrotate_size |
Batas ukuran log untuk rotasi. Default: “10 jt” |
Menggunakan mekanisme rotasi log Anda sendiri dan cron
Jika persyaratan Anda untuk merotasi <component>.log tidak terpenuhi oleh konfigurasi yang disediakan oleh Apigee, gunakan mekanisme rotasi log Anda sendiri menggunakan alat seperti logrotate atau lainnya. Misalnya, konfigurasi yang disediakan oleh Apigee memungkinkan Anda merotasi log menurut 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 melihat 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 cron entry dan perintah yang dieksekusi oleh Apigee untuk rotasi log. Jika 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.