나는 항상 이것이 journalctl
시스템 로그의 포괄적인 수집기라고 가정했지만 이것이 잘못된 것임을 발견했습니다.
예를 들어 dmesg
systemd가 완전히 활성화되기 전에 시스템 로깅을 제공하고 하드웨어 상태 및 프로세스에 대한 보다 정확한 보기를 제공합니다.
지식이 풍부한 시스템 관리자가 Linux에서 사용하는 다른 표준 또는 유용한 시스템 로깅 도구가 있습니까?
답변1
나는 항상 Journalctl이 시스템 로그의 포괄적인 수집자라고 가정했지만 그것이 틀렸다는 것을 알았습니다.
좀 그렇네요! Journalctl은 systemd 시스템의 일부입니다. 이러한 측면에서 서비스 수명 주기, 로그인 등과 관련된 모든 것이 실제로 기록됩니다. 기본적으로 systemd가 수행하거나 알고 있는 모든 것입니다. 여기에는 (기본적으로) 이러한 서비스의 표준 출력을 기록하는 systemd 서비스 파일을 통해 시작된 서비스도 포함됩니다.
그러나 각 프로그램은 원하는 만큼 로그를 기록할 수 있습니다. 예를 들어, 메일 서버 데몬은 /var/log/mail/...에 기록할 수 있고, apache2 웹 서버에는 구성 가능한 자체 로깅 위치가 있습니다.
따라서 /var/log는 일반적으로 관련 로그 파일을 찾을 수 있는 곳이지만 최소한 실행 중인 서비스의 구성을 확인하려는 경우 일반적인 방식으로 시작된 모든 서비스가 기록되고 나열됩니다. .systemctl status
예를 들어 dmesg는 systemd가 완전히 활성화되기 전에 시스템 로깅을 제공하고 하드웨어 상태 및 프로세스에 대한 보다 정확한 보기를 제공합니다.
dmesg
실수 하지 마세요경쟁자to log: 커널 로그 버퍼를 출력하는 명령일 뿐입니다. 커널 메시지 외에는 아무것도 기록하지 않습니다. 예, 로깅이 녹음을 시작하기 전에 작동 중입니다. 그러나 journalctl -b0
현재 부팅 시작 부분부터 로그를 읽으려고 이 작업을 수행하면~해야 한다표시되는 메시지는 출력 시작 부분에 표시되는 메시지와 동일합니다 dmesg
. 따라서 실행 중인 시스템에서 보는 내용은 실행 중인 시스템에서 dmesg
보는 내용의 엄격한 하위 집합이어야 합니다 journalctl
.