Saya menginstal paket khusus /opt/package_name
, menyimpan file konfigurasi di /etc/opt/package_name
dan file statis di /var/opt/package_name/static/
- semua mengikuti konvensi yang disarankan oleh FHS. [ 1 ] [ 2 ] [ 3 ]
Saya juga perlu menyimpan beberapa file log. Saya ingin mereka dapat ditemukan oleh alat analisis, jadi mereka juga harus berada di lokasi konvensional. Haruskah ini masuk:
/var/log/package_name
(seperti paket sistem, meskipun ini adalah paket khusus)/var/opt/package_name/log
(mengikuti/var/opt
konvensi - tetapi apakah ini dapat ditemukan?)- sesuatu yang lain?
Jawaban:
Saya akan menempatkan mereka di
/var/log/package_name
; itu memenuhi prinsip kejutan setidaknya lebih baik daripada/var/opt/package_name/log
. Saya tidak memiliki kutipan untuk ini; hanya cocok dengan tempat saya mencari log.Saya mungkin juga berhenti menulis file log saya sendiri, dan sebagai gantinya login
syslog
dengan tag dan fasilitas yang sesuai; jika saya mencari integrasi yang bersih dengan alat analisis yang mapan, saya tidak yakin bisa melakukan yang lebih baik untuk saluran komunikasi:syslog
.logrotate
memberitahu saya untuk melepaskan file dan membuka yang baru. Saya bahkan tidak perlu memberi tahulogrotate
tentang file baru untuk diputar!rsyslog
akan digunakan jika diperlukan, jadi saya tidak perlu merenungkan penerapan fitur itu sendiri.Kecuali saya sedang melakukan beberapa format biner khusus untuk log saya dan bahkan kemudian, saya lebih suka format teks yang dapat diurai-mesin syslog seperti JSON. Saya mengalami kesulitan membenarkan file log saya sendiri yang terpisah; alat analisis sudah menonton
syslog
seperti elang.sumber
Ketika Anda mengikuti konvensi FHS untuk file konfigurasi paket Anda, Anda harus konsisten dan menyimpan file log
/var/opt/package_name/log
.FHS menyatakan:
dan juga menyatakan
Memiliki file log di bawah
/var/opt
tidak mencegah paket berfungsi dengan benar sehingga menggunakan/var/log
sebaliknya jelas melanggar standar.Tidak jelas apa yang Anda maksud dengan "apakah ini dapat ditemukan?" karena Anda log kustom cenderung ditangani oleh alat kustom, tetapi dengan asumsi alat generik dirancang untuk memprosesnya, ia harus menjelajahi lokasi standar untuk paket yang tidak diikat seperti milik Anda.
Catatan itu
syslog
adalah fasilitas yang berguna untuk memusatkan dan menyetel konfigurasi logging tetapi tidak sepenuhnya menyelesaikan masalah tentang di mana menyimpan log ketika Anda harus melakukannya dalam file biasa dengan jalur yang terkenal. Beberapa file kadang-kadang disimpan dalam direktori log aplikasi dirancang agar dapat diakses menggunakan jalur yang diharapkan oleh aplikasi itu sendiri atau oleh program terkait, misalnya file yang menyimpan ID proses, jadisyslog
tidak akan berfungsi untuk mereka.sumber