일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- BFS
- alembic
- 위상 정렬
- 가우스 소거법
- 구성적
- 백엔드
- flask
- 신입
- 취업
- 이분 탐색
- 리트코드
- api서버
- SQL
- 테일러 급수
- sqlalchemy
- 알고리즘
- 파이썬
- MYSQL
- 수학
- 웹서버
- 데이터베이스
- python
- C언어
- 개발자
- Django
- 강한 연결 요소
- 아파치
- scc
- 백준
- FastAPI
- Today
- Total
Devlog
[Linux] 특정 service의 로그를 보는 방법 본문
계기
저의 또 다른 개발 블로그(프론트엔드 포트폴리오용)에 소개 페이지를 추가하고 systemctl을 이용해서 재배포를 했더니
분조장을 유발하는 500에러가 터졌습니다
이런 얼탱이없는 사고가 왜 났는지 파악하기 위해 systemctl status명령어를 사용했습니다
파란 불이 켜저있지만 밑에 로그는 빨간불인 것처럼 보이는군요
listOnTimeout 이라는 내용이 있는 걸 보니 뭔가 무한루프를 도는 것 같습니다
하지만 이거 가지고는 원인을 파악할 수가 없죠
로그의 전체 내용을 보아야 할 필요가 있습니다
그러면 어떤 명령어를 입력해야 할까요?
정답은 jouralctl 이라는 명령어를 사용하면 됩니다.
사용법
$ sudo journalctl -u [서비스 이름]
위의 명령어를 입력해먼 해당 서비스에 대한 로그를 처음부터 확인할 수 있습니다.
특정 조건을 만족하는 로그 내역 가져오기
아까 전에는 특정 서비스에 대해 로그를 가져왔습니다.
하지만 특정 서비스 말고도 작동되고 있는 service의 전체 로그를 가져올 수 있는 방법이 있습니다
-u [서비스 이름] 만 빼면 모든 서비스의 로그를 가져옵니다
sudo journalctl
특정 시간의 로그를 확인하려면 --since와 --until을 추가합니다
2024년 2월 24일 10시 부터 10시 10분 사이의 로그를 보고 싶은 경우 아래와 같이 입력하면 됩니다
sudo journalctl --since "2024-02-24 10:00:00" --until "2024-02-24 10:10:00"
날짜를 따로 지정하는 것은 매우 귀찮은 일입니다
그래서 journalctl은 최근 N개의 로그만 가져오는 기능도 제공합니다
sudo journalctl -n [로그 갯수]
갯수 관심 없고 그냥 맨 끝으로 이동하고 싶다! 하면 -e를 추가합니다
sudo journalctl -e
마지막으로 로그를 실시간으로 볼 수 있는 기능도 제공합니다
service에서 뭔가 메세지를 보내면 콘솔에서도 실시간으로 출력되는 기능이죠
-f를 사용합니다
sudo journalctl -f
끗
이렇게 해서 특정 service의 로그를 확인하는 방법에 대해 알아보았습니다
저는 이 기능을 통해 node 명령어를 제대로 찾을 수 없다는 원인을 파악했구요
이제 얘가 안돌아가는 문제를 해결하러 가보겠습니다 ㅂㅂ