Günlük rotasyonu (birden fazla günlük dosyasını kullanımda veya kullanımdan kaldırma işlemi), çok sayıda günlük dosyası oluşturan sistemlerin yönetimini basitleştirir. Günlük rotasyonu; günlük dosyalarının otomatik olarak döndürülmesini, sıkıştırılmasını, kaldırılmasını ve postalanmasını sağlar.
Private Cloud için Edge'de, her bir apigee
bileşenindeki ana günlük dosyalarının bazıları varsayılan bir rotasyon mekanizmasıyla yapılandırılır. Örneğin, Mesaj İşleyici bileşeninde, aşağıdaki dosyalar geri kayıt kullanılarak varsayılan döndürme mekanizmasıyla yapılandırılır:
/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
edge-management-server
, edge-router
, edge-postgres-server
ve edge-qpid-server
gibi diğer edge-*
bileşenleri (adları edge-
ile başlayan) için de benzer dosyalar vardır.
edge-*
bileşenlerinin her biri, ilgili bileşen konsolunun yönlendirilen bir çıktısı olan ek bir günlük dosyası da oluşturur. Mesaj İşleyici bileşeninde bu dosya /opt/apigee/var/log/edge-message-processor/edge-message-processor.log
olarak adlandırılır.
Diğer edge-*
bileşenleri benzer bir dosya oluşturur. Bu dosyaların rotasyonu, geri dönüş kitaplığı tarafından değil, logrotate
ve crontab
kullanılarak yapılır.
Başlamadan önce
logrotate
yapılandırmalarına aşina değilseniz günlük döndürme kılavuzunu okuyun.crontab
yapılandırmalarına aşina değilseniz crontab kılavuzunu okuyun.
Günlük rotasyonlarını etkinleştir
Private Cloud için Edge sürüm 4.52'den başlayarak bir edge-*
bileşeni yüklediğinizde, apigee
kullanıcısının crontab
bölümünde bu günlüğü döndürmek için otomatik bir crontab
girişi oluşturulur. Bu cron işi, varsayılan olarak saatte bir çalışır ve günlükleri döndürmek için logrotate
yardımcı programını kullanır. Aynı düğüme birden fazla edge-*
bileşeni yüklüyse (örneğin, hepsi bir arada kurulumda veya yönlendirici ve mesaj işlemci bir düğüme yüklüyse) her bileşenin, ilgili günlüklerini döndürmek için kendi cron girişi olur.
Notes:
- Bir
edge-*
bileşeninin yüklenmesi sırasında otomatik olarak birlogrotate
cronjobu ayarlamak istemiyorsanız yükleme için kullandığınız sessiz yapılandırma dosyasında "ENABLE_LOGROTATE=n" işaretini ayarlayın. Cron işi yükleme sırasında ayarlanmazsa bir bileşeninlogrotate
cron'unu etkinleştirme adımlarını uygulayarak daha sonra ayarlayabilirsiniz. edge-router
bileşeni için ek birlogrotate
cron işi de varsayılan olarak yapılandırılır. Bu cron, Nginx tarafından oluşturulan erişim ve hata günlüklerini döndürür.
Aşağıdaki örneklerde, gerçekleştirebileceğiniz çeşitli yapılandırmalar ve yönetim işlemleri gösterilmektedir.
Bir düğümdeki cron girişlerini görüntüleyin
sudo crontab -u apigee -l
Bir bileşenin logrotate
cron girişini görüntüleme
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -s
Örneğin, uç-mesaj işlemcisinin logrotate
cron'unu görüntülemek için şu komutu çalıştırın:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s
Bir bileşenin logrotate
yapılandırmasını görüntüleme
Bir bileşenin logrotate
yapılandırmasını $APIGEE_ROOT/<component>/logrotate/logrotate.conf
dosyasında bulabilirsiniz.
Örneğin, uç mesaj işlemcisinde düğümün logrotate
yapılandırması $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf
içinde bulunabilir.
Bir bileşenin logrotate
cron'unu etkinleştirme
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e
Örneğin, uç mesaj işlemcisinin logrotate
cron'unu etkinleştirmek için şu komutu çalıştırın:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
Bir bileşenin logrotate
cron'unu devre dışı bırakma
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -d
Örneğin, uç mesaj işlemcisinin logrotate
cronunu devre dışı bırakmak için şu komutu çalıştırın:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -d
Belirli bir logrotate
komutunun cron programını değiştirme
logrotate
cron programını değiştirmek istediğiniz düğümde, ilgili bileşenin yapılandırma geçersiz kılma dosyasını açın. edge-*
bileşeninin yapılandırma geçersiz kılma dosyaları aşağıdaki tabloda listelenmiştir:
Bileşen | Yapılandırma geçersiz kılma dosyası |
---|---|
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 |
Uygun geçersiz kılma dosyasını açın ve aşağıdaki yapılandırma geçersiz kılmasını ayarlayın. Aşağıdaki örnek, cron işini her saatin 0. dakikasında çalışacak şekilde geçersiz kılar.
conf_logrotate_cron_duration=0 * * * *
Yapılandırmayı geçersiz kılmayı ayarlamak için:
- Dosyanın
apigee
kullanıcısı tarafından okunabildiğinden emin olun. - Yeni cron programını bileşene uygulayın:
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e
Örneğin, Edge-message işlemcisinin logrotate
tablosuna daha yeni bir cron programı uygulamak için şunu girin:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
Değişikliklerin uygulandığını doğrulamak için cron girişlerini kontrol edin veya bileşenin logrotate
cron girişini görüntüleyin.
Ek logrotate
yapılandırmaları
Cron programını değiştirmeye ilişkin yukarıdaki bölümde listelenen adımlara benzer şekilde, ek yapılandırmaları da değiştirebilirsiniz. Aşağıdaki tabloda bu yapılandırmalar açıklanmaktadır:
Yapılandırma | Açıklama |
---|---|
conf_logrotate_bin_location |
Logrotate ikili programının konumu. Varsayılan: /usr/sbin/logrotate |
conf_logrotate_status_file |
Günlük döndürmenin çalışma zamanı durumunu yakalayan durum dosyası. Gösteri, apigee kullanıcısı için okuma/yazma izinlerine sahip. Varsayılan: $APIGEE_ROOT/var/run/<component>/logrotate.status |
conf_logrotate_logs |
Döndürülecek günlükler. Joker karakter içerebilir. Varsayılan:
$APIGEE_ROOT/var/log/<component>/<component>.log
|
conf_logrotate_rotate |
Rotasyon sayısı. Varsayılan: "5" |
conf_logrotate_compress |
Döndürülen dosyaların sıkıştırılıp sıkıştırılmayacağını belirler. Varsayılan: "compress" |
conf_logrotate_compress_type |
Sıkıştırma türü. Varsayılan: "delaycompress". Döndürülen en son dosyanın sıkıştırılmasını, bir sonraki günlük döndürme döngüsüne erteler. |
conf_logrotate_size |
Rotasyon için günlük boyutu sınırı. Varsayılan: "10M" |
Kendi günlük döndürme mekanizmanızı ve cron'unuzu kullanın
<component>.log dosyasını döndürme gereksinimleriniz Apigee tarafından sağlanan yapılandırmalar tarafından karşılanmıyorsa logrotate veya başka araçlar kullanarak kendi günlük rotasyon mekanizmanızı kullanırsınız. Örneğin, Apigee'nin sağladığı yapılandırmalar sayesinde günlükleri boyuta göre dönüşümlü olarak yayınlayabilirsiniz ancak günlükleri tarih/saat veya diğer faktörlere göre dönüşümlü olarak yayınlamak istiyorsunuz. Bu gibi durumlarda, Apigee tarafından sağlanan logrotate
cron'unu devre dışı bırakıp kendi cron işlerinizi gerektiği gibi oluşturmanız gerekir.
Apigee'nin günlük rotasyonu cron girişine bakmanız gerekiyorsa bunu $APIGEE_ROOT/
dosyasında bulabilirsiniz. Örneğin, edge-message-processor
söz konusu olduğunda dosyanın adı $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron
olur. Bu dosya hem cron girişini hem de günlük rotasyonu için Apigee tarafından yürütülen komutu içerir. logrotate
kullanmak istiyor ancak Apigee'nin yapılandırmasını kullanmak istemiyorsanız kendi logrotate
yapılandırma dosyanızı oluşturup günlük rotasyonu gerçekleştirmek için benzer bir logrotate
komutu kullanabilirsiniz.