Edge bileşenleri için günlük rotasyonunu etkinleştirme

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.

Bu 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

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 bir logrotate 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şenin logrotate cron'unu etkinleştirme adımlarını uygulayarak daha sonra ayarlayabilirsiniz.
  • edge-router bileşeni için ek bir logrotate 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:

  1. Dosyanın apigee kullanıcısı tarafından okunabildiğinden emin olun.
  2. 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//logrotate/logrotate.cron 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.