서버의 로그가 디버그 모드로 쌓이고 그 양이 상당하다면 서버에서 로그를 확인할 경우 매우 오래 걸리고
메모리를 잡아먹어 서비스에 이상이 생길 수 있다.
또한 로컬PC로 다운받을 경우 다운시간이 오래 걸리고 용량이 너무 클 경우 메모장이나 툴에서 열리지 않는다.
이점을 해결하기 위해 특정 시간대의 로그만을 따로 추출하여 파일로 저장하는 방법으로 해결가능하다.
아래 명령어 처럼 awk 명령어를 사용하여 로그 데이터를 비교하고 자른 후 다른 파일로 저장한다.
awk '$2 >= "10:00:00" && $2 <= "11:00:00"' /app/server.log | grep "2023-12-19" > test.log
awk '$3 >= "10:00:00" && $3 <= "11:00:00"' /var/log/messages | grep "Dec 19" > test.log
첫번째 명령어의 형식은 2023-12-19 11:56:40,638 INFO [stdout] 으로 시작되는 형식이며
두번째 명령어는 Dec 17 04:01:01 WEB systemd: 로 시작되는 형식의 12월 19일 10:00 ~ 11:00 까지의 server.log 로그 데이터를 test.log 파일로 저장하는 명령어이다.
여기서 $2, $3의 의미는 2번째, 3번째 필드를 의미하고 다음조건으로 해당값이 10:00:00 보다 크고 11:00:00 보다 작은 것을 출력한다.
그 후 grep으로 12월 19일이 포함된것을 추출하여 test.log로 덮어쓰기를 한다.
'IT 인프라 > 서버' 카테고리의 다른 글
이벤트뷰어 윈도우 로그인 기록 확인 필터링 (1) | 2024.06.11 |
---|---|
가상화 리눅스 VG 용량 증설 (NUTANIX) (0) | 2023.12.21 |
우분투 20.04 삽질일기 (네트워크 어댑터 인식불가) (0) | 2022.08.29 |
[HA] 우분투 20.04 Pacemaker 고가용성 클러스터 만들기 (0) | 2022.08.03 |
hyper-v vmware 변환 vhdx to vmdk 마이그레이션 (2) | 2022.05.12 |