Saya menjalankan aplikasi simpul menggunakan systemd dengan file unit. Log aplikasi dapat dilihat menggunakan journalctl -u example.com
tetapi log akan terpotong di beberapa titik, menghapus riwayat (yang saya butuhkan untuk debugging).
Bagaimana cara mengkonfigurasi rotasi log dengan systemd sehingga log aplikasi saya disimpan example.com.log.1
, example.com.log.2
dll. Sehingga saya dapat menanyakan riwayat aplikasi saya?
Ini adalah file unit saya:
ExecStart=/usr/bin/node keystone.js
#Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=example.com
User=user
Group=user
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
man journald.conf
untuk meninjau opsi yang mengendalikan ruang disk jurnal systemd. Jika Anda masih memiliki pertanyaan, poskan konten Anda/etc/systemd/journald.conf
.Jawaban:
Meningkatkan Penyimpanan
Jika Anda menyimpan ke disk Anda dapat menambah jumlah ruang yang digunakan dengan mengubah
SystemMaxUse
dan / atauSystemKeepFree
. Memiliki lebih banyak ruang akan memungkinkan lebih banyak entri disimpan.Secara default batas penggunaan maksimum (
SystemMaxUse
) adalah 10% dari sistem file, dan nilai ruang bebas minimum (SystemKeepFree
) adalah 15% - meskipun keduanya dibatasi pada 4G.Rotasi Jurnal
Jurnal harus diputar secara otomatis ketika mereka mencapai
SystemMaxFileSize
nilai, dan jumlah jurnal dikendalikan olehSystemMaxFiles
. Jika Anda lebih suka rotasi berdasarkan waktu Anda dapat mengaturMaxFileSec
untuk mengatur entri waktu maksimum disimpan dalam satu jurnal.Catatan tentang Lokasi / Jenis Penyimpanan
Dengan journald Anda dapat memilih untuk menyimpan entri jurnal baik di memori (
Storage=volatile
) atau di disk (Storage=persistent
). Di atas mengasumsikan Anda menyimpan jurnal pada disk - jika ini bukan "Sistem" perlu diganti oleh "Runtime" dalam variabel di atas.Rincian lebih lanjut tersedia di
man journald.conf
.Alternatif - Melewati entri jurnal
Jika Anda sudah terbiasa dengan daemon SYSLOG tradisional, Anda dapat meneruskan acara jurnal dengan mengatur
ForwardToSyslog
opsi (yang meneruskan pesan dengan segera) atau meminta daemon syslog bahave seperti klien jurnal dan mengambil log itu sendiri.sumber