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

Günlük rotasyonu: Birden fazla günlük dosyasını dönüşümlü olarak kullanma ve kullanım dışı bırakma işlemi daha basit süreçlerle çok sayıda günlük dosyası oluşturabilirsiniz. Günlük döndürme, otomatik döndürme, sıkıştırma günlük dosyalarının kaldırılması ve postalanması.

Private Cloud için Edge'de, her bir apigee öğesindeki ana günlük dosyalarının bazıları bileşeninin varsayılan bir döndürme mekanizmasıyla yapılandırılmış olması gerekir. Örneğin, İleti İşleyici bileşeni; aşağıdaki dosyalar varsayılan rotasyonla yapılandırılır aşağıdaki yöntemi izleyin:

  • /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

Benzer dosyalar, diğer edge-* bileşenleri (adları) için mevcut edge- ile başlar) (edge-management-server gibi), edge-router, edge-postgres-server ve edge-qpid-server.

Bu edge-* bileşenlerinin her biri, aynı zamanda yönlendiren ilgili bileşen konsolunun çıkışıdır. Mesaj İşleyici bileşeninde, bu dosyanın adı /opt/apigee/var/log/edge-message-processor/edge-message-processor.log. Diğer edge-* bileşenleri benzer bir dosya oluşturur. Bu dosyaların döndürme işlemi bunun yerine logrotate ve crontab kullanmasını gerektirir.

Başlamadan önce

Günlük döndürmeleri etkinleştir

edge-* yüklediğinizde Edge for Private Cloud sürüm 4.52 ile başlayarak bileşeni için bir crontab girişi Bu günlüğün rotasyonu, apigee kullanıcısının crontab öğesinde otomatik olarak oluşturulur. Bu cron işinin çalışma sıklığı: saat varsayılan olarak kullanılır ve günlükleri döndürmek için logrotate yardımcı programını kullanır. Birden fazla edge-* ise bileşenler aynı düğümde yüklüyse (örneğin, hepsi bir arada bir kurulumda veya yönlendirici ve mesaj işlemcisi bir düğümde yüklüyse her bileşenin kendi cron girişi olur ilgili günlükleri döndürüyor.

Notlar:

  • Bir edge-* bileşeninin yüklenmesi sırasında otomatik olarak bir logrotate cronjob, kullandığınız sessiz yapılandırma dosyanızda “ENABLE_LOGROTATE=n” işaretini ayarlayın yüklemeniz gerekir. Yükleme sırasında cron işi ayarlanmamışsa ayarlayabilirsiniz. şu adımları uygulayarak daha sonra bileşenin logrotate cron'unu etkinleştirin.
  • edge-router bileşeni için ek bir logrotate cron işi varsayılan olarak yapılandırılmıştır. Bu cron, Nginx tarafından oluşturulan erişimi ve hata günlüklerini döndürür.

Aşağıdaki örneklerde çeşitli yapılandırmalar ve yönetim işlemleri gösterilmektedir olanak sağlar.

Bir düğümdeki cron girişlerini görüntüleme

sudo crontab -u apigee -l

Bir bileşenin logrotate cron girişini göster

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -s

Örneğin, Edge-message-processor'ün 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

Bileşenleri görüntüleme logrotate yapılandırması

Bir bileşenin logrotate yapılandırması dosyada bulunabilir $APIGEE_ROOT/<component>/logrotate/logrotate.conf. Örneğin, uç mesaj işlemcisi durumunda, düğümün logrotate yapılandırması $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf içinde bulundu.

Bir bileşenin logrotate cron'unu etkinleştir

$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

Bileşenin logrotate cron'unu devre dışı bırak

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -d

Örneğin, Edge-message-processor'ün logrotate cron'unu 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şeninin yapılandırma geçersiz kılma dosyasına dönüştürü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 her saatin 0. dakikasında çalışacak cron işini geçersiz kılar.

conf_logrotate_cron_duration=0 * * * *

Yapılandırma geçersiz kılmasını 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, uç mesaj işlemcisinin logrotate parametresine 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şi.

Ek logrotate yapılandırmaları

Yukarıdaki bölümde cron zamanlamasını değiştirme adımlarına benzer şekilde, ve 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 Logrotate'in çalışma zamanı durumunu yakalayan durum dosyası - programın okuma/yazma izinleri var apigee kullanıcı için. Varsayılan: $APIGEE_ROOT/var/run/<component>/logrotate.status
conf_logrotate_logs Hangi günlüklerin döndürüleceği. Joker karakterler 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ğı. Varsayılan: "compress"
conf_logrotate_compress_type Sıkıştırma türü. Varsayılan değer: "delaycompress". Sıkıştırmayı erteler: döndürülen en son dosyayı bir sonraki logrotate döngüsüne ekleyebilirsiniz.
conf_logrotate_size Döndürme için boyut sınırını günlüğe kaydedin. Varsayılan: "10M"

Kendi günlük döndürme mekanizmanızı ve cron'u kullanın

Yapılandırmalar, <component>.log dosyasını döndürmeyle ilgili gereksinimlerinizi karşılamıyorsa sağlıyorsanız logrotate gibi araçlarla kendi günlük döndürme mekanizmanızı kullanırsınız veya diğerleri. Örneğin, Apigee'nin sunduğu yapılandırmalar, günlük kayıtlarını boyuta göre değiştirmenizi sağlar. Ancak Günlükleri tarihe/saate veya diğer faktörlere göre değiştirmek istiyorsanız. Bu gibi durumlarda Apigee tarafından sağlanan logrotate cron'u devre dışı bırakın ve gerektiğinde kendi cron işlerinizi kurun.

Apigee'nin günlük döndürme cron girişine bakmanız gerekirse bunu dosyada bulabilirsiniz. $APIGEE_ROOT//logrotate/logrotate.cron Örneğin, edge-message-processor, bu dosyanın adı $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron. Bu dosya cron girişini ve günlük rotasyonu için Apigee tarafından yürütülen komutu içerir. Şu durumda: logrotate kullanmak istiyor ancak Apigee'nin yapılandırmalarını kullanmak istemiyorsanız kendi sahibi: logrotate yapılandırma dosyası oluşturabilir ve günlük rotasyonu gerçekleştirmek için benzer bir logrotate komutu kullanabilirsiniz.