PowerFlex Raf: Syslog iletme özelliği etkinleştirildiğinde /var/log alanı sorunları
Summary: Bu makalede, günlük döndürmenin yeterince sık gerçekleşmemesi nedeniyle /var/log alanındaki sorun açıklanmaktadır.
Symptoms
Geçerli logrotate yapılandırması, mesaj dosyasını haftada bir kez döndürür, ancak VxFlex Manager'da syslog iletmenin etkinleştirildiği durumlarda yeterince hızlı dönmeyebilir.
Önemli Bilgiler:
- Syslog iletme özelliği VxFlex Manager'da etkinleştirilir.
- /var/log bölümü hızla doluyor.
- Bu, sistemden sisteme büyük ölçüde değişebilir
- Uzak sistem günlüğü, VxFlex entegre raf veya cihaz sistemindeki aygıtlarda etkinleştirilir ve sistem günlüğü olaylarını VxFlex Manager a göndermek üzere yapılandırılır
Cause
/var/log dosya sistemi %100 olduğunda kaynak envanteri tüm kaynaklar için başarısız olur.
Bilginize: Aşağıda listelenen uyarılar veya kritik uyarılar, alan bu kontrolleri gerçekleştirmek için çok doluysa veya çok hızlı doluyorsa çalışmayabilir.
- VxFlex Manager kullanıcı arayüzü %75 ise >bir uyarı gösteriyor:
VxFlex Manager kullanıcı arayüzü %95 ise > kritik gösterir:
df -h, /var/log değerinin çok yüksek bir kullanım kapasitesinde olduğunu ve hızla büyüdüğünü gösterir.
Resolution
Syslog yönlendirmesi etkinleştirilmiş VxFlex Manager cihazlarında günlük döndürmeyi düzeltmek için aşağıdaki adımları kullanarak logrotate'i yapılandırabilir, mevcut günlükleri sıkıştırabilir, rsyslog ayarlarını değiştirebilir ve hata ayıklama günlüğü seviyelerini düşürebilirsiniz:
1. Adım: VxFlex Manager da SSH oturumu açın ve kök kullanıcı olun: sudo su -
2 Adım: Aşağıdaki metnin içinde bulunduğundan emin olarak (vi editor) syslog logrotate kurallarını düzenleyin /etc/logrotate.d/syslog
/var/log/cron /var/log/maillog /var/log/messages /var/log/secure /var/log/spooler { size 100M nodateext rotate 5 compress missingok copytruncate postrotate /bin/killall -s SIGHUP -r rsyslog endscript }
3. Adım: Yeni yapılandırmanın doğru kaydedilip kaydedilmediğini doğrulamak için şu komutu girin:
cat /etc/logrotate.d/syslog
4. Adım: /var/log alanının ne kadar hızlı dolduğuna bağlı olarak, aşağıdaki seçeneklerden birini belirleyin:
/var/log dosyasını günlük olarak doldurmayan, ancak haftalık rotasyondan daha hızlı bir rotasyona ihtiyaç duyan ortamlar için, aşağıdaki komutu kullanarak logrotate'i haftalıktan günlük'e değiştirin:
cp /etc/cron.weekly/logrotate /etc/cron.daily/
/var/log'u günlük rotasyonun barındırabileceğinden daha hızlı dolduran ortamlar için, aşağıdaki komutu kullanarak logrotate'i günlükten saatliğe değiştirin:
cp /etc/cron.daily/logrotate /etc/cron.hourly/
5. Adım: Aşağıdaki komutu çalıştırarak mevcut dosyaları sıkıştırın ve alan açın:
for log in `ls /var/log/messages-*`; do sudo gzip $log; done
Not: /var/log/messages dosyası, sıkıştıramayacağınız kadar doluysa aşağıdaki komutu kullanarak dosyayı temizleyin:
cat /dev/null > /var/log/messages
6. Adım: Logrotate yapılandırmasının düzgün çalışıp çalışmadığını doğrulamak için aşağıdaki komutu çalıştırın:
logrotate -f /etc/logrotate.d/syslog
7. Adım: İletilen sistem günlüğü olaylarını VxFlex Manager cihazındaki /var/log/messages dosyasına kaydetmeyi durdurmak için aşağıdakileri yapın:
- Bu komutu kullanarak /etc/rsyslog.d/ dizininde conf dosyasını oluşturun:
vi 21-stop-remote-host-syslog-logging.conf - Yukarıdaki yeni oluşturulan dosyaya aşağıdaki satırı ekleyin:
if $fromhost-ip != '127.0.0.1' then ~ - Aşağıdaki komutu yazarak dosyayı kaydedin:
:wq! - Rsyslog hizmetini yeniden başlatın:
systemctl restart rsyslog.service
Not: 21, rsyslog için kullanılan öncelik numarasıdır. Rsyslog yeniden başlatıldıktan sonra gelen uzak sistem günlüklerini /var/log/messages dizinine kaydetmez. VxFlex Manager ın yerel sistem günlükleri yine de /var/log/messages klasörüne kaydedilir.
Bilginize: VxFlex Manager'da syslog iletme etkinleştirilmemiş olsa bile, ana bilgisayarlar VxFlex Manager'a yönlendirilebilir ve bu da /var/log/messages dosyasını spam olarak gönderebilir. VxFlex Manager sistem günlüğünün açık olup olmamasına bakılmaksızın, mesaj dosyası taşıyorsa 7. adımı yapılandırın.
8 Adım: Aşağıdaki adımları uygulayarak VxFlex Manager cihazındaki günlük depolamasının hata ayıklama günlük düzeyini değiştirin:
- Aşağıdaki komutu kullanarak günlüğe kaydetme düzeyini düzenleyin:
vi /etc/logstash/logstash.yml - Dosyada Hata Ayıklama Ayarları'nı arayın
- Günlük düzeyini info (varsayılan) yerine error olarak değiştirin

- Aşağıdaki dosyayı düzenleyin: vi /etc/logstash/log4j2.properties
- Varsayılan yapılandırmada, rootLogger.appenderRef.console ile başlayan bir satır vardır, bu satırı aşağıdaki gibi # kullanarak yorumlayın:
-
Aşağıdaki komutu çalıştırarak logstash hizmetini yeniden başlatın: systemctl yeniden başlatma günlüğü
8. Adım: /var/log dosya sistemi %100 doluysa VxFlex Manager cihazını yeniden başlatın. Bu, tüm hizmetlerin yedeklemeye doğru şekilde başlamasını sağlar.
Not: Alan sorunlarını çözdükten ve cihazı yeniden başlattıktan sonra uyarı bağlayıcısının düzgün çalıştığından emin olmak için bir test uyarısı gönderin.
Additional Information
- VxFlex Manager'ın gelecekteki bir sürümü için sistem günlüğü mesajlarının /var/log/messages klasörüne kaydedilmesini durdurmak üzere bir düzeltme üzerinde çalışılmaktadır.
- Bu, 3.4.0.4271 sürümüne kadar (bu sürüm dahil) syslog iletme özelliğine sahip tüm VxFlex Manager sürümleri için geçerlidir.