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
.
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
- Jika Anda belum memahami konfigurasi
logrotate
, baca logrotate manual. - Jika Anda belum memahami konfigurasi
crontab
, baca manual crontab.
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 mengaturlogrotate
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 cronlogrotate
komponen. - Untuk komponen
edge-router
, cron joblogrotate
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:
- 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 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/
. 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.