/ Opt paketi günlükleri nereye yazmalı?


13

/opt/package_nameYapılandırma dosyalarını /etc/opt/package_nameve statik dosyaları depolamak için özel bir paket yüklüyorum /var/opt/package_name/static/- hepsi FHS tarafından önerilen kurallara uyuyor. [ 1 ] [ 2 ] [ 3 ]

Bazı günlük dosyalarını da saklamam gerekiyor. Analiz araçlarıyla keşfedilebilir olmalarını istiyorum, bu yüzden de geleneksel bir konumda olmalılar. Bunlar girerse:

  • /var/log/package_name (bu özel bir paket olmasına rağmen bir sistem paketi gibi)
  • /var/opt/package_name/log( /var/optsözleşmeyi takiben - bu keşfedilebilir mi?)
  • başka bir şey?

/ Var / log'u tarayan bir analiz aracı örneğiniz var mı?
sourcejedi

5
Cevap syslog neden olmasın?
Joshua

Yanıtlar:


19

Onları yerleştiririm /var/log/package_name; en az sürpriz ilkesini daha iyi karşılar /var/opt/package_name/log. Bunun için bir alıntım yok; sadece günlükleri arayacağım yerle eşleşiyor.

Ayrıca kendi günlük dosyalarımı yazmaya devam edebilir, bunun yerine sysloguygun bir etiket ve tesisle giriş yapabilirim; yerleşik analiz araçlarıyla temiz bir entegrasyon arıyorsanız, bir iletişim kanalı için daha iyisini yapabileceğime inanmıyorum:

  • Listelenen bir özellik olarak "log analizi" her jenerik araç zaten izliyor syslog.
  • Günlük dosyası yayınlama ve döndürme semantiği benim için işlenir; logrotateBana dosyayı bırakıp yeni bir tane açmamı söyleyecek bir mekanizma ayarlamam gerekmiyor . logrotateDöndürülecek yeni dosyalardan bahsetmeme bile gerek yok !
  • Günlükleri merkezi günlük sunucularına boşaltma, site isterse benim için işlenir; rsyslogGerekirse mevcut yerleşik araçlar gerektiğinde kullanımda olacaktır, bu yüzden bu özelliği kendim uygulamayı düşünmek zorunda değilim.
  • Günlük dosyaları etrafındaki erişim denetimleri (POSIX ve ör. SELinux) zaten işlenmiştir, bu nedenle dağıtıma özgü güvenlik semantiğine çok fazla dikkat etmem gerekmez.

Günlüğüm için bazı özel ikili biçim yapmadıkça ve o zaman bile, JSON gibi syslog dostu makine ayrıştırılabilir metin biçimlerini tercih ederim. Kendi ayrı günlük dosyalarımı haklı çıkarmakta zorlanıyorum; analiz araçları zaten syslogbir şahin gibi izliyor .


8

Paket yapılandırma dosyalarınız için FHS kurallarını izlediğiniz için, tutarlı olmalı ve günlük dosyalarını depolamalısınız /var/opt/package_name/log.

FHS şunları söylüyor:

/ Opt içindeki paketlerin değişken verileri / var / opt / dizinine kurulmalıdır .

ve ayrıca devletler

/ Opt, / var / opt ve / etc / opt hiyerarşilerinin dışında, düzgün çalışması için dosya sistemi ağacındaki belirli konumlarda bulunması gereken paket dosyaları dışında başka paket dosyaları bulunamaz. Örneğin, aygıt kilit dosyaları / var / lock içine ve aygıtlar / dev içine yerleştirilmelidir.

Günlük dosyalarının altında /var/optolması, paketin düzgün çalışmasını engellemez, bu nedenle kullanmak /var/logstandardı açıkça ihlal eder.

"Bu keşfedilebilir mi?" Özel günlüklerin zaten özel araçlarla işlenmesi muhtemeldir, ancak genel bir aracın bunları işlemek için tasarlandığı varsayılarak, sizinki gibi ayrıştırılmamış paketler için standart konumu keşfetmelidir.

syslogGünlüğe kaydetme yapılandırmasını merkezileştirmek ve ayarlamak için kullanışlı bir özellik olduğunu , ancak iyi bilinen bir yola sahip düz dosyalarda yapmanız gereken günlüklerin nerede saklanacağı konusundaki sorunu tam olarak çözmediğini unutmayın. Bazen bir uygulama günlüğü dizininde saklanan bazı dosyalara, uygulamanın kendisi veya ilişkili programlar, örneğin bir işlem kimliğini depolayan bir dosya tarafından beklenen yollarını kullanarak erişilebilecek şekilde tasarlanmıştır, bu nedenle syslogbunlar için çalışmaz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.