Mengaktifkan rotasi log untuk komponen Edge

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.

Setiap komponen 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

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 cronjob logrotate 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 cron logrotate komponen.
  • Untuk edge-router komponen, cron job logrotate 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:

  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 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//logrotate/logrotate.cron. 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.