모니터링, 로깅 및 알림
DevOps 맥락에서 모니터링과 로깅의 차이점은 무엇인가요?
답변:
모니터링은 문제를 사전에 감지하기 위해 실시간 시스템 상태 및 성능 메트릭에 중점을 둡니다. 로깅은 사후 분석, 디버깅 및 감사를 위해 시간이 지남에 따라 이벤트 및 데이터를 기록하는 것을 포함합니다. 모니터링은 '지금 무슨 일이 일어나고 있는지'를 알려주고, 로깅은 '무슨 일이 일어났는지'를 알려줍니다.
'관찰 가능성의 세 가지 기둥 (three pillars of observability)' 개념을 설명하세요.
답변:
관찰 가능성의 세 가지 기둥은 로그 (Logs), 메트릭 (Metrics), 추적 (Traces) 입니다. 로그는 개별 이벤트 기록을 제공하고, 메트릭은 시간이 지남에 따른 집계된 숫자 데이터를 제공하며, 추적은 분산 시스템 전반에 걸친 요청의 엔드투엔드 흐름을 보여줍니다. 이 세 가지를 함께 사용하면 시스템 동작에 대한 포괄적인 보기를 얻을 수 있습니다.
클라우드 네이티브 환경에서 모니터링 및 로깅을 위한 몇 가지 인기 있는 도구의 이름을 언급하세요.
답변:
모니터링을 위한 인기 있는 도구로는 Prometheus, Grafana, Datadog, New Relic 이 있습니다. 로깅을 위한 일반적인 선택으로는 ELK Stack(Elasticsearch, Logstash, Kibana), Splunk, Loki, Sumo Logic 이 있습니다. 클라우드 제공업체는 AWS CloudWatch 또는 Azure Monitor 와 같은 자체 네이티브 서비스도 제공합니다.
중요한 시스템 문제에 대한 알림은 일반적으로 어떻게 설정하나요?
답변:
알림은 일반적으로 주요 메트릭 (예: CPU 사용률 > 80%, 오류율 > 5%) 에 대한 임계값을 정의하여 설정됩니다. 임계값이 초과되면 알림이 트리거되어 PagerDuty, Slack, 이메일 또는 SMS 와 같은 채널을 통해 담당자에게 전송됩니다. 의미 있는 임계값을 설정하여 알림 피로 (alert fatigue) 를 피해야 합니다.
알림 시스템에서 '런북 (runbook)'의 목적은 무엇인가요?
답변:
런북은 특정 알림 또는 인시던트를 진단하고 해결하기 위한 단계를 설명하는 상세한 가이드입니다. 엔지니어에게 사전 정의된 절차, 명령 및 컨텍스트를 제공하여 문제를 신속하게 해결하고, 평균 해결 시간 (MTTR) 을 줄이며, 일관된 응답을 보장합니다.
모니터링에서 'SLO' 및 'SLI'의 중요성을 설명하세요.
답변:
서비스 수준 지표 (SLI, Service Level Indicators) 는 지연 시간 또는 오류율과 같이 서비스 성능의 특정 측면에 대한 정량적 측정입니다. 서비스 수준 목표 (SLO, Service Level Objectives) 는 이러한 SLI 에 대한 목표 값으로, 원하는 서비스 신뢰 수준을 정의합니다. 이는 '좋은' 상태가 무엇인지 정의하고 모니터링 및 알림 전략을 안내하는 데 도움이 됩니다.
마이크로서비스 아키텍처를 효과적으로 모니터링하려면 어떻게 해야 하나요?
답변:
마이크로서비스를 모니터링하려면 서비스 간 요청을 추적하기 위한 분산 추적 (distributed tracing), 중앙 집중식 분석을 위한 집계된 로깅, 각 구성 요소에 대한 서비스별 메트릭이 필요합니다. 추적을 위한 Jaeger/Zipkin, 메트릭을 위한 Prometheus, 중앙 집중식 로깅 솔루션과 같은 도구는 복잡한 상호 작용에 대한 가시성을 확보하는 데 중요합니다.
로그 집계 (log aggregation) 란 무엇이며 왜 중요한가요?
답변:
로그 집계는 다양한 소스 (애플리케이션, 서버, 네트워크 장치) 의 로그를 중앙 집중식 위치로 수집하는 프로세스입니다. 효율적인 검색, 분석, 시스템 간 이벤트 상관 관계 및 장기 보관에 중요하며, 디버깅 및 감사를 훨씬 쉽게 만듭니다.
'알림 피로 (alert fatigue)' 개념을 설명하고 이를 완화하는 방법을 설명하세요.
답변:
알림 피로는 엔지니어가 너무 많은 중요하지 않거나 중복된 알림을 받아 중요한 알림을 무시하게 되는 현상입니다. 완화 전략에는 실행 가능하고 의미 있는 임계값 설정, 에스컬레이션 정책 사용, 관련 알림 그룹화, 알림 중복 제거 및 억제 구현이 포함됩니다.
모니터링 시스템에서 대시보드 (dashboards) 의 역할은 무엇인가요?
답변:
대시보드는 주요 메트릭 및 로그의 시각적 표현을 제공하여 시스템 상태 및 성능에 대한 빠른 개요를 제공합니다. 추세를 식별하고, 이상 징후를 감지하며, 다양한 이해 관계자에게 운영 상태를 전달하여 더 빠른 의사 결정 및 문제 해결을 가능하게 합니다.