New World
[Log] 다양한 로그 확인 방법 본문
Log 는 다양한 정보를 담고 있다.
시스템, 애플리케이션, 네트워크 등에서 발생하는 이벤트나 작업의 기록을 의미한다.
시스템 관리와 문제 해결에 중요한 정보를 제공해주며 시스템의 상태나 오류, 침해 사고를 추적할 수 있습니다.
문제가 생기면 제일 먼저 확인하는 것도 이 로그 입니다.
또한, 로그는 매번 잘 보관해두는 것이 중요합니다.
1. 리눅스 관련 로그 확인
리눅스 관련 로그는 /var/log 에 담겨있다.
보통 2가지 로그를 많이 확인한다.
secure
- cat /var/log/secure
- 시스템 보안과 관련된 로그를 기록합니다.
- 인증 관련, 사용자 로그인 및 로그아웃 시도, 사용자 권한 변경, SSH 접속 시도
- sudo 명령어 사용 내역 등 보안과 관련된 활동들을 기록합니다.
messages
- cat /var/log/messages
- 시스템의 전반적인 메세지를 기록합니다
- 시스템에서 발생하는 다양한 이벤트, 오류, 정보성 메세지 등을 포함합니다
- 일반적인 시스템 상태, 하드웨어 이벤트, 커널 메세지, 네트워크 이벤트 등 다양한 로그 항목을 포함합니다
- 또한, 다른 로그들에 쌓이지 않는 부분도 많아 원하는 부분에 대한 로그를 찾기 어렵다면 많이 사용하는 로그입니다
2. httpd 관련 로그 확인
/var/log/httpd 에 쌓인다. httpd 폴더는 보통 Apache HTTP Server 와 관련된 파일들이 저장되는 디렉터리이다.
이 폴더에서 주로 관리되는 로그 파일은 웹 서버의 동작과 관련된 정보를 기록합니다.
access_log, error_log, ssl_access_log, ssl_error_log, ssl_request_log 등이 쌓인다.
저는 주로 사용자의 로그를 파악하기 위해 access_log 를 많이 사용합니다.
access_log
- cat /var/log/httpd/access_log
- 사용자가 웹 서버에 접근한 기록을 남기는 로그
- 웹 서버에 대한 모든 요청이 기록됩니다.
- HTTP 메서드, 요청된 URL, 클라이언트의 IP 주소, 응답 상태 코드, 요청 처리 시간, 브라우저 종류 등 정보 기록
error_log
- cat /var/log/httpd/error_log
- Apache 웹 서버에서 발생한 오류나 문제를 기록
- 웹 서버가 처리한 요청 중 오류가 발생한 경우, 정보를 기록합니다
- 서버의 설정 오류, 스크립트 오류, 서버 자원 부족 문제 등을 추적할 수 있습니다.
ssl 관련 로그
- Apache 서버에 SSL/TLS 연결이 설정된 경우, 암호화된 연결에 대한 정보를 기록합니다
- SSL 인증서의 유효성 검사, 암호화된 연결의 생성, 연결 오류 등에 대한 기록이 포함됩니다.
3. mysql 관련 로그 확인
mysql 로그는 /var/log/mysql 에 있습니다.
mysql 로그도 미리미리 설정을 확인해줄 필요가 있습니다.
- cat /var/log/mysql/mysql-slow.log
4. Docker 관련 로그 확인
로그 확인이 필요한 컨테이너 명은 docker ps 를 사용하여 찾아줍니다.
이후, 컨테이너의 로그는 아래 명령어를 사용하여 확인합니다.
Docker 로그는 설정에 따라 다르지만, Docker 를 kill 한 후 다시 올리면 kill 하기 이전에 있던 로그가 사라질 수도 있습니다.
그런 일이 없도록 미리미리 Docker log 설정 확인이 필요합니다.
docker logs -f <컨테이너명> --since <출력 시간>