학습 가이드
#실무 9일 과정

Day 6. 운영 로그 분석 입문: ERROR 추출과 건수 집계

학습 목표

운영 로그에서 오류를 추출하고, 빈도 기준으로 우선순위를 정하는 방법을 학습합니다.

로그 분석은 많이 읽는 것이 아니라, 먼저 범위를 줄이는 작업입니다.


왜 ERROR부터 보는가

장애 상황에서 전체 로그를 처음부터 끝까지 읽으면 시간이 오래 걸립니다.

먼저 ERROR, FATAL, timeout, denied 같은 신호를 추출해 분석 범위를 줄여야 합니다.


1) 오류 라인 추출

grep -E "ERROR|FATAL" /var/log/app/app.log > /tmp/error.log

grep

grep은 파일에서 특정 문자열이나 패턴이 포함된 줄을 찾는 명령어입니다.

로그 분석에서 가장 먼저 익혀야 하는 명령 중 하나입니다.

-E 옵션

-E는 확장 정규표현식을 사용한다는 의미입니다.

ERROR|FATAL처럼 여러 키워드 중 하나를 찾을 때 유용합니다.

> 리다이렉션

>는 명령 결과를 파일로 저장합니다.

분석 결과를 /tmp/error.log에 저장하면 이후 명령에서 반복해서 사용할 수 있습니다.


2) 필요한 필드만 보기

awk "{print $1, $2, $5}" /tmp/error.log | head -n 20

awk

awk는 줄 단위 텍스트에서 특정 필드를 뽑아낼 때 사용합니다.

로그 형식이 일정하면 날짜, 시간, 서비스명, 오류코드 같은 값만 골라 볼 수 있습니다.

head

head는 파일의 앞부분만 출력합니다.

처음부터 전체를 보는 대신 샘플 몇 줄을 보고 로그 구조를 파악할 때 사용합니다.


3) 오류 빈도 집계

awk "{print $5}" /tmp/error.log | sort | uniq -c | sort -nr | head

sort

sort는 같은 값이 붙어 있도록 정렬합니다.

uniq -c

uniq -c는 중복된 줄의 개수를 세어줍니다.

sort -nr

숫자 기준으로 내림차순 정렬합니다.

오류가 가장 많이 발생한 항목부터 보면 대응 우선순위를 정하기 쉽습니다.


신규직원 실습 절차

  1. ERROR/FATAL 로그를 별도 파일로 추출합니다.

  2. 필요한 필드만 뽑아 로그 구조를 파악합니다.

  3. 빈도 기준으로 오류를 집계합니다.

  4. 상위 오류부터 원인을 확인합니다.


연계실습

  • 연계실습 텍스트: 로그에서 ERROR 추출 및 건수 집계

  • 실습 바로 시작: 문제 218 실습 시작하기 →



연계 실습

이 글에서 다룬 내용을 직접 명령어로 쳐 보면 훨씬 오래 남습니다.

  • 리눅스마스터 실기 텍스트 처리 문제 →
  • 로그 분석 명령어 실습 →

댓글 0

아직 댓글이 없습니다. 궁금한 점이나 풀이 경험을 남겨 보세요.