Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  panduan penyelenggaraan log systemd (dengan contoh)

panduan penyelenggaraan log systemd (dengan contoh)

王林
王林ke hadapan
2023-06-09 21:46:33707semak imbas

systemd 日志维护指南(附实例)

Jika pengedaran Linux anda menyokong ​​systemd​​​, maka bermula dari permulaan, ia akan memuat turun semua proses dan aplikasi daripada sistem setiap saat Kumpul log masuk program tersebut. Semua acara log ini diuruskan oleh daemon systemd's ​journald​. journald mengumpul semua log (maklumat, amaran, ralat, dll.) dan menyimpannya sebagai data binari dalam fail cakera.

Memandangkan log disimpan pada cakera dan dikumpulkan setiap saat, ia memerlukan ruang cakera yang besar terutamanya untuk sistem dan pelayan lama. Sebagai contoh, pada salah satu sistem ujian saya yang telah berjalan selama setahun atau lebih, fail log bersaiz gigabait.

Jika anda menguruskan berbilang sistem dan pelayan, adalah disyorkan bahawa anda mesti mengurus log jurnal dengan betul untuk operasi yang cekap. Mari kita lihat cara mengurus fail log.

penyelenggaraan log systemd

Menggunakan alat ​​journalctl​​ systemd, anda boleh menanyakan log ini dan melakukan pelbagai operasi padanya. Sebagai contoh, lihat fail log daripada pemula yang berbeza untuk memeriksa amaran dan ralat terakhir untuk proses atau aplikasi tertentu. Jika anda tidak mengetahui mana-mana perkara ini, saya syorkan anda melihat dengan pantas tutorial ini sebelum mengikuti panduan ini: ​​Menggunakan journalctl untuk melihat dan menganalisis log systemd (dengan contoh) ​​​.

Di manakah fail log untuk diari fizikal?

daemon journald systemd mengumpul log setiap kali ia dimulakan. Ini bermakna ia mengkategorikan fail log berdasarkan keadaan permulaan.

Log disimpan dalam bentuk binari dalam laluan ​​/var/log/journal​​, dan folder ialah ID mesin.

Contohnya:

systemd 日志维护指南(附实例)

Skrin skrin lokasi fail log-1

systemd 日志维护指南(附实例)

Tangkapan skrin lokasi fail log-2

Selain itu, perlu diingat bahawa bergantung pada konfigurasi sistem, fail log masa jalan disimpan dalam ​​/run/log/journal/​​. Dan ini akan dipadamkan pada setiap permulaan.

Bolehkah saya memadamkan fail log secara manual?

Anda boleh, tetapi jangan lakukannya. Sebaliknya, ikut arahan di bawah dan gunakan alat ​​journalctl​​ untuk mengosongkan fail log untuk mengosongkan ruang cakera.

Berapa banyak ruang cakera yang diduduki oleh fail log systemd?

Buka terminal dan jalankan arahan berikut.

journalctl --disk-usage

Ini sepatutnya memberikan anda bilangan sebenar fail log yang digunakan pada sistem anda.

systemd 日志维护指南(附实例)

arahan penggunaan cakera journalctl

Jika anda mempunyai persekitaran desktop grafik, anda boleh membuka pengurus fail dan menyemak imbas laluan​ ​/var/log/journal​​, dan semak sifatnya.

proses pembersihan log sistem

Cara berkesan untuk membersihkan fail log hendaklah melalui fail konfigurasi ​​journald.conf​​. Dalam keadaan biasa, walaupun ​​journalctl​​ menyediakan alatan untuk memadam fail log, anda tidak seharusnya memadamkan fail ini secara manual.

让我们来看看如何 ​​手动​​ 删除它,然后我将解释 ​​journald.conf​​ 中的配置变化,这样你就不需要时不时地手动删除文件;相反,systemd 会根据你的配置自动处理它。

手动删除

首先,你必须 ​​flush​​ 和 ​​rotate​​ 日志文件。轮换rotate是将当前活动的日志文件归档,并立即开始创建一个新的日志文件继续记录日志。冲洗flush 开关要求日志守护进程将存储在 ​​/run/log/journal/​​ 中的所有日志数据冲入 ​​/var/log/journal/​​,如果持久性存储被启用的话。

然后,在 ​​flush​​ 和 ​​rotate​​ 之后,你需要用 ​​vacuum-size​​、​​vacuum-time​​ 和 ​​vacuum-files​​ 选项运行 ​​journalctl​​ 来强制 systemd 清除日志。

例 1:

sudo journalctl --flush --rotate
sudo journalctl --vacuum-time=1s

上面这组命令会删除所有存档的日志文件,直到最后一秒。这有效地清除了一切。因此,在运行该命令时要小心。

systemd 日志维护指南(附实例)

日志清理-例子

清理完毕后:

systemd 日志维护指南(附实例)

清理后--日志的占用空间

你也可以根据你的需要在 ​​--vacuum-time​​ 的数字后面提供以下后缀:

  • ​s​​:秒
  • ​m​​:分钟
  • ​h​​:小时
  • ​days​​:天
  • ​months​​:月
  • ​weeks​​:周
  • ​years​​:年

例 2:

sudo journalctl --flush --rotate
sudo journalctl --vacuum-size=400M

这将清除所有存档的日志文件,并保留最后 400MB 的文件。记住这个开关只适用于存档的日志文件,不适用于活动的日志文件。你也可以使用后缀,如下所示。

  • ​K​​:KB
  • ​M​​:MB
  • ​G​​:GB

例 3:

sudo journalctl --flush --rotate
sudo journalctl --vacuum-files=2

​vacuum-files​​ 选项会清除所有低于指定数量的日志文件。因此,在上面的例子中,只有最后两个日志文件被保留,其他的都被删除。同样,这只对存档的文件有效。

如果你愿意,你可以把两种选项结合起来,但我建议不要这样做。然而,如果同时使用两个选项,请确保先用 ​​--rotate​​ 选项运行。

使用配置文件自动删除

虽然上述方法很好,也很容易使用,但建议你使用 journald 配置文件来控制日志文件的清理过程,该文件存在于 ​​/etc/systemd/journald.conf​​。

systemd 为你提供了许多参数来有效管理日志文件。通过组合这些参数,你可以有效地限制日志文件所占用的磁盘空间。让我们来看看。

​​​). ​​​). ​​

journald.conf 参数

描述

实例

​SystemMaxUse​

指定日志在持久性存储中可使用的最大磁盘空间

​SystemMaxUse=500M​

​SystemKeepFree​

指定在将日志条目添加到持久性存储时,日志应留出的空间量。

mengawal Seberapa besar fail log tunggal boleh berkembang dalam storan berterusan sebelum diputar.

​SystemKeepFree=100M​

​SystemMaxFileSize​


Menentukan ruang cakera maksimum yang boleh digunakan dalam storan yang tidak menentu (dalam sistem fail ​

​SystemMaxFileSize=100M​

​RuntimeMaxUse​

​/run​

Menentukan jumlah ruang yang dikhaskan untuk kegunaan lain apabila menulis data ke storan yang tidak menentu (dalam sistem fail ​

​RuntimeMaxUse=100M​

​RuntimeKeepFree​

指定单个日志文件在被轮换之前在易失性存储(在 ​​/run​​ 文件系统内)所能占用的空间量。

​RuntimeMaxFileSize=200M​

如果你在运行中的系统的 ​​/etc/systemd/journald.conf​​ 文件中添加这些值,那么在更新文件后,你必须重新启动 journald。要重新启动,请使用以下命令。

sudo systemctl restart systemd-journald

核实日志文件

在你清理完文件后,检查日志文件的完整性是比较明智的。要做到这一点,请运行下面的命令。该命令显示了日志文件是否通过(​​PASS​​)、失败(​​FAIL​​)。

journalctl --verify

systemd 日志维护指南(附实例)

验证日志文件

总结

希望本指南能帮助你了解 systemd 日志管理流程的基本情况。通过这些,你可以通过限制空间、清除旧的日志文件来管理系统或服务器中的日志文件所使用的磁盘空间。这些只是指导性的命令,你可以通过多种方式组合这些命令来实现你的系统需求。

Atas ialah kandungan terperinci panduan penyelenggaraan log systemd (dengan contoh). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam