Linux 로그 경로 정리 · 25/50 · Part 3. Ubuntu / Debian 로그 경로
선행 학습 → 23. /var/log/syslog 분석 · 19. Rocky Linux 서비스 이벤트 추적
이번 글 → /var/log/daemon.log 분석
이어서 → 26. apt와 dpkg 로그 분석
오래된 자료에는 "Ubuntu 데몬 로그는 /var/log/daemon.log"라고 나와 있지만, Ubuntu 24.04 기본 설정에서는 이 파일이 만들어지지 않습니다. 50-default.conf 에서 daemon.* 규칙이 주석 처리되어 있기 때문입니다(실습 환경에서 직접 확인). 이번 글은 "파일이 없다"는 상황에서 데몬 로그를 찾는 방법을 다룹니다.
핵심 요약
- 24.04 기본:
#daemon.* -/var/log/daemon.log(주석) → daemon 로그는syslog에 들어간다.- 서비스 단위 분석은 파일보다
journalctl -u <unit>이 정확하다.- 규칙을 켜는 것은 "수집 정책 변경"이므로 변경관리 대상이다.
| 질문 | 답 |
|---|---|
| daemon facility란? | 시스템 데몬이 쓰는 facility (코드 3). systemd, cron 외 여러 서비스 |
| 왜 기본 비활성? | syslog 와 중복 저장을 줄이고 journald로 서비스별 조회가 가능하기 때문 |
| 어디서 보나? | /var/log/syslog (파일) 또는 journalctl -u / SYSLOG_FACILITY=3 (저널) |
| 서비스 자체 로그는? | Apache·Nginx·MySQL 등은 facility와 무관하게 자체 파일에 기록 |

데몬 (daemon facility) ──▶ journald ──┬──▶ journalctl -u <unit> / SYSLOG_FACILITY=3
└──▶ rsyslog
├─ *.*;auth,authpriv.none ──▶ /var/log/syslog (활성)
└─ #daemon.* ──X──▶ /var/log/daemon.log (주석)
서비스 자체 로그 (Apache 등) ──────────────────────▶ /var/log/apache2/*.log
| 대상 | Ubuntu 24.04 기본 | 대안 |
|---|---|---|
| 데몬 전체 | /var/log/syslog | journalctl SYSLOG_FACILITY=3 |
| 특정 서비스 | — | journalctl -u nginx |
| Apache | /var/log/apache2/access.log, error.log | |
| Nginx | /var/log/nginx/access.log, error.log | |
| MySQL/MariaDB | 설정값 확인 (log_error) | journalctl -u mariadb |
daemon.log | 없음 | 규칙 활성화 시 생성 |
# 규칙 상태 확인
grep -nE '^#?\s*daemon' /etc/rsyslog.d/50-default.conf
ls -l /var/log/daemon.log 2>/dev/null || echo "daemon.log 없음 (기본 설정)"
# daemon facility 로그를 저널에서 직접
journalctl SYSLOG_FACILITY=3 --since today -o short-iso --no-pager | tail -10
# 서비스 단위 조회 (가장 정확)
journalctl -u ssh -u cron -u nginx --since "-1h" -o short-iso --no-pager | tail -20
# 서비스 로그 경로를 설정값으로 확인
grep -rE 'ErrorLog|CustomLog' /etc/apache2/ 2>/dev/null | grep -v '#' | head
grep -rE 'access_log|error_log' /etc/nginx/ 2>/dev/null | grep -v '#' | head
grep -rE 'log[_-]error|general_log' /etc/mysql/ 2>/dev/null | grep -v '#' | head
# 1) 변경 전 백업과 문법 검증 — 운영 서버는 변경관리 승인 후
sudo cp -a /etc/rsyslog.d/50-default.conf /root/50-default.conf.bak
sudo sed -i 's/^#daemon\.\*/daemon.*/' /etc/rsyslog.d/50-default.conf # 설정 파일 수정 (로그 파일 아님)
sudo rsyslogd -N1 && sudo systemctl restart rsyslog
# 2) logrotate 대상에 /var/log/daemon.log 가 포함되어 있는지 확인
grep -n daemon.log /etc/logrotate.d/rsyslog
수정 대상은 설정 파일입니다. 로그 파일을
sed -i로 수정하는 것은 이 시리즈에서 금지합니다. 24.04 기본/etc/logrotate.d/rsyslog목록에는daemon.log가 없으므로 켤 경우 순환 대상에 추가해야 디스크가 차지 않습니다.

위 이미지는 Ubuntu 24.04 실습 환경에서 daemon 로그 위치를 실제로 확인한 결과입니다.
저널에서 daemon 로그를 볼 때 유용한 필드(예시 출력):
[예시 출력: journalctl -u nginx -o verbose 일부]
_SYSTEMD_UNIT=nginx.service
SYSLOG_FACILITY=3
PRIORITY=3
_EXE=/usr/sbin/nginx
MESSAGE=nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
| 필드 | 의미 |
|---|---|
_SYSTEMD_UNIT | 어느 서비스인지 (위조 불가 신뢰 필드) |
PRIORITY=3 | err — 서비스 기동 실패 |
_EXE | 실제 실행 파일 경로 |
| 정상 | 의심 |
|---|---|
| daemon.log 없음 (기본값) | daemon.log가 최근 생성 → 설정 변경 이력 확인 |
| 서비스 오류가 배포 시각과 일치 | 오류 직후 다른 포트로 같은 서비스 기동 |
| 서비스 로그 경로가 기본값 | 로그 경로가 /dev/null 로 바뀐 설정 |
journald 수집(4.x의 <log_format>journald</log_format>) 또는 syslog 파일 수집으로 daemon 로그를 확보한다(47편 실측 설정 참조).[ ] daemon 규칙 주석 상태 확인
[ ] journalctl SYSLOG_FACILITY=3 조회
[ ] journalctl -u 로 서비스 단위 조회
[ ] 웹/DB 로그 경로를 설정값으로 확인
[ ] 규칙 활성화 시 logrotate 추가 필요성 이해
[ ] 로그 경로 설정 변경의 보안 의미 설명
daemon.log 는 생성되지 않는다.syslog 와 journald에서 찾는다.journalctl -u 가 가장 정확하다.| 구분 | 글 |
|---|---|
| ◀ 이전 글 | 24. /var/log/kern.log 분석 |
| ▶ 다음 글 | 26. apt와 dpkg 로그 분석 |
| 시리즈 | Linux 로그 경로 정리 전체 보기 |
| 선행 시리즈 | 리눅스 시스템 기초 · 파일 · 권한 · 사용자 관리 · 서비스 · 프로세스 관리 · Linux 시스템 보안 기초 |