CentOS 7에서 이전 시작의 로그 메시지를 표시하는 방법은 무엇입니까?

CentOS 7에서 이전 시작의 로그 메시지를 표시하는 방법은 무엇입니까?

CentOS 7 시스템에서는 journalctl마지막 시작 이후 생성된 메시지만 인쇄됩니다.

주문하다

# journalctl --boot=-1

인쇄

Failed to look up boot -1: Cannot assign requested address

상태 1로 종료됩니다.

이것을 현재 Fedora 시스템과 비교해 보면 CentOS 7에는 이 기능이 없다는 것을 알았습니다 /var/log/journal( journalctl제공하지도 않습니다 --list-boots).

그래서 제 질문은 마지막 시작 날짜 이전에 작성된 로그 메시지를 표시하는 방법입니다.

아니면 CentOS 7에서 이 기능을 활성화해야 할까요?

( journalctl매뉴얼 페이지에는 버전 번호로 "systemd 208"이 나열되어 있습니다.)

답변1

너무 길어요.

CentOS 7에서는 로그 메시지의 영구 저장을 활성화해야 합니다.

# mkdir /var/log/journal
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald

그렇지 않으면 시작 사이에 로그 메시지가 유지되지 않습니다.

세부 사항

journald이전 실행의 로그 메시지 유지 여부를 구성할 수 있습니다 /etc/systemd/journald.conf. CentOS 7의 기본 설정은 다음과 같습니다.

[Journal]
Storage=auto

어디Journald.conf 매뉴얼 페이지다음과 같이 해석됩니다 auto.

"휘발성", "지속적", "자동" 및 "없음" 중 하나입니다. "휘발성"인 경우 저널 로그 데이터는 메모리, 즉 /run/log/journal 계층 구조(필요한 경우 생성됨)에만 저장됩니다. "지속적"인 경우 데이터는 먼저 디스크에 저장됩니다. 즉, /var/log/journal 계층 구조(필요한 경우 생성됨) 아래에 저장되고 /run/log/journal(필요한 경우 생성됨)로 대체되며 조기 시작 디스크는 쓸 수 없습니다. "자동차""영구적"과 유사하지만 디렉터리/var/로그/로그필요한 경우 생성되지 않습니다.그 존재가 로그 데이터의 위치를 ​​제어하도록.

(강조는 내 것)

이것systemd-journald.service 매뉴얼 페이지그러므로 다음과 같이 지적됩니다.

기본적으로 저널은 /run/log/journal/에 로그 데이터를 저장합니다. /run/은 휘발성이므로 재부팅 시 로그 데이터가 손실됩니다. 데이터를 영구적으로 만들려면 systemd-journald가 데이터를 저장할 /var/log/journal/을 만드는 것으로 충분합니다.

분명히 기본값은Fedora 19에서 변경된 사항(영구 스토리지) CentOS 7은 Fedora 18에서 파생되었으므로 기본적으로 여전히 비영구적입니다. 기본적으로 지속성은 /var/log/messagesrsyslogd(기본적으로 실행되고 Journald에서 입력을 받음)에 의해 작성된 회전 버전을 통해 Journald 외부에서 구현됩니다./var/log/messages-YYYYMMDD

따라서 RHEL/CentOS 7에서 Journald를 사용하여 영구 로깅을 활성화하려면 다음을 수행해야 합니다.

# mkdir /var/log/journal

그런 다음 권한을 수정하고 다음을 통해 저널을 다시 시작합니다.

# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald

답변2

systemctl restart systemd-journald

로그가 손실될 수 있습니다. 참조https://github.com/systemd/systemd/issues/2236

mkdir /var/log/journal

하나 있다변화존재하다 v208:

systemd-journald는 더 이상 생성된 로그 파일 그룹을 "systemd-journal" 그룹으로 조정하지 않습니다. 대신, "systemd-journal" 그룹이 소유한 로그 디렉토리와 해당 setgid 비트 설정을 사용하여 커널 파일 시스템 계층이 자동으로 로그 파일이 이 그룹 할당을 상속하도록 합니다.

systemd에 포함된 tmpfiles.d(5) 조각은 setgid 비트와 그룹이 로그 디렉터리에 올바르게 설정되었는지 확인합니다(각 부팅에 로그 디렉터리가 존재하는 경우).

그래서, 당신은 다음 과 같은 systemd-tmpfiles --create --prefix /var/log/journal것을 실행해야합니다mkdir /var/log/journal

당신은 또한 볼 수 있습니다:

관련 정보