systemd-journald 스토리지 형식의 크기(및 크기)를 줄일 수 있습니까?

systemd-journald 스토리지 형식의 크기(및 크기)를 줄일 수 있습니까?

저는 raspberrypi 머신에서 yocto 기반 시스템과 함께 systemd를 사용하고 있습니다. 최근에 메시지를 rsyslog.socket으로 리디렉션하는 데 문제가 있어서 rsyslog완전히 제거하기 로 결정했습니다 journald.

이 작업을 수행한 후 로그 파일 크기가 이전에 생각했던 것보다 훨씬 크다는 것을 알았습니다.

root@rpiDev: ~ $ journalctl -o cat > /tmp/journals-cat.txt
root@rpiDev: ~ $ journalctl -o export > /tmp/journals-exp.txt
root@rpiDev: ~ $ journalctl -o verbose > /tmp/journals-verb.txt
root@rpiDev: ~ $ journalctl -a -m > /tmp/journals.txt    ### This is what I need!
root@rpiDev: ~ $ journalctl -a -m -o verbose > /tmp/journals-everything.txt
root@rpiDev: ~ $ du -sh /tmp/journals* /var/log/journal/ ; journalctl --disk-usage
468.0K  /tmp/journals-cat.txt
15.7M   /tmp/journals-everything.txt
4.7M    /tmp/journals-exp.txt
4.9M    /tmp/journals-verb.txt
2.3M    /tmp/journals.txt
41.0M   /var/log/journal/
Archived and active journals take up 12.5M on disk.

크기를 비교해 보면, 저널이 생성한 바이너리는 merge() 저널보다 훨씬 큰 것으로 보입니다 -m.

나에게 정말 필요한 것은 그 안에 들어 있는 것입니다 /tmp/journals.txt.

질문: 로그가 바이너리에 저장하는 콘텐츠의 양을 런타임에 내가 알 수 있는 수준으로 줄이는 것이 가능합니까 journalctl -a -m?

즉, 나에게 중요하지 않은 모든 정보의 저장을 비활성화하고 Journald를 syslog처럼 사용할 수 있습니까?

로그의 영구 저장을 비활성화하고 이를 syslog로 전달하면 문제가 해결될 수 있지만 rsyslog를 다시 가져오지 않고도 가능할까요?

편집하다:

일부 사용자가 언급한 매개변수는 여기서는 도움이 되지 않았습니다.

  • 저장된 파일의 최대 크기만 사용 SystemMaxUse=하고 RuntimeMaxUse=설정하십시오. 동일한 양의 원치 않는 정보를 포함하는 더 작은 파일을 가질 수 있으므로 실제 로그는 훨씬 더 적습니다.
  • MaxLevel...=로그에 저장되는 최대 로그 수준을 설정하는 데 사용됩니다 . 여기서도 그건 나에게 필요한 것이 아니다.

편집 2:

내 솔루션:

나는 syslog(내가 사용하는)에 로그를 저장하기로 결정했습니다 rsyslog. 내 Journald.conf에서 및를
설정 Storage=volatile하고 사용하여 저널드의 디스크 사용량을 제한했습니다. 또한 이를 활성화하여 이제 이전 syslog 솔루션이 제대로 작동하고 런타임 로그도 볼 수 있습니다.SystemMaxUse=64MRuntimeMaxUse=64M
ForwardToSyslog=yes

답변1

/etc/systemd/journald.conf로그가 메모리와 디스크에서 사용할 수 있는 공간을 지정하려면 편집하세요 .

man journald.conf포함된 설정에 대한 자세한 설명을 참조하세요 .

관련 정보