LabHub

네트워크 트러블슈팅 · 종합: 장애 트리아지 · 실습

종합 트리아지: 결제 API 장애

LabHub 에서 이어서 보기

목표

세 가지 결함이 겹친 장애를 계층별로 좁혀 원인을 특정하고, 고치고, 정해진 형식의 사후 보고서를 남깁니다. 이 코스에서 배운 모든 도구를 한 번에 씁니다.

왜 중요한가

실제 장애는 원인이 하나가 아닌 경우가 많습니다. 하나를 고치고 "안 낫네" 하고 방향을 바꾸면 이미 고친 것까지 의심하게 됩니다. 그래서 각 층을 끝까지 확인하고 발견한 것을 전부 적어 두는 편이 결국 빠릅니다. 그리고 고친 뒤에는 실패를 재현했던 그 명령으로 성공을 확인해야 조치가 끝납니다.

단계

1. bash /opt/fixtures/nt-triage/start-incident.sh 로 장애 상황을 재현하고, /opt/fixtures/nt-triage/incident.md 를 읽으세요. /root/triage 디렉터리를 만드세요.
2. 자기 인터페이스 IP 로 3회 ping 한 결과를 /root/triage/l3.txt 로 저장하세요. 손실이 0% 여야 합니다.
3. 자기 인터페이스 IP 의 91019102 포트를 각각 두드려 보고, 결과를 /root/triage/l4.txt 에 두 줄로 적으세요.
9101=<open|refused|timeout> / 9102=<open|refused|timeout>
4. pay-api.labhub.local 의 이름 해석 결과를 확인하고, /root/triage/name.txt 에 두 줄로 적으세요.
RESOLVED=<getent 가 돌려준 IP> / SOURCE=<그 값이 적혀 있는 파일의 절대 경로>
5. 9101 서비스의 리슨 주소를 확인해 /root/triage/bind.txt 에 한 줄로 적으세요. BIND=<리슨 주소:포트> 형식입니다. (예: BIND=127.0.0.1:9101)
6. 접근 가능한 쪽(9102)으로 /ok 를 요청해 상태 코드를 /root/triage/http.txtcode=<코드> 한 줄로 적으세요.
7. 두 가지를 고치세요.

참고

단계 8개

  1. 장애 상황 재현
  2. L3 도달성 확인
  3. 포트별 결과 판정
  4. 이름 해석 문제 특정
  5. 바인딩 문제 특정
  6. 애플리케이션 계층 확인
  7. 고치고 검증
  8. 사후 보고서