본문 바로가기

서비스 머니터링5

Devops Day 63 (6.5) 서비스 모니터링_서비스 수준 목표 서비스 수준 관련 용어 서비스를 운영하는 데 있어서, 사용자에게 필요한 적정 수준을 정의하고 제공하기 위해, 서비스 제공자와 사용자는 서로 서비스 수준 협약(Service Level Agreements, SLA)을 맺습니다. 하지만 고객과의 약속이라는 것은 "어느 정도의 서비스를 제공해야 제대로 제공했다고 말할 수 있는 것인지"를 정확하게 명시하지 않으면 안 됩니다. 따라서, SRE 엔지니어는 척도를 통한 목표를 이해하고, 실제로 목표를 세우는 방법을 알아야 합니다. 여기서는 서비스 수준 관련 용어에 대해서 학습합니다. SLI (서비스 수준 척도, Service Level Indicator) 서비스 수준 지표(SLI)는 기업이 고객에 대한 서비스 수준을 측정하는 데 도움이 되는 구체적인 지표입니다. SL.. 2023. 6. 5.
Devops Day 62 (6.2) 서비스 모니터링_Prometheus + Grafana Prometheus 모니터링 시스템 프로메테우스는 오픈소스 모니터링/알림 시스템입니다. 프로메테우스는 쿠버네티스, 노드, 프로메테우스 자체를 모니터링할 수 있습니다. CNCF에서 프로메테우스 역시 관리하고 있으며, 이 두 도구를 비롯해 시각화를 담당하는 Grafana와 함께 세 도구 조합은 정석적으로 널리 사용되고 있습니다. 프로메테우스 구성 요소 · 프로메테우스는 시계열(time series) 데이터를 저장합니다. · 프로메테우스 서버는 다양한 exporter로부터 각 대상의 메트릭을 pull하여 주기적으로 가져오는 모니터링 시스템입니다. o 예를 들어, 쿠버네티스 관련 메트릭을 가져오고 싶다면 쿠버네티스 exporter를, mongoDB 관련 메트릭을 가져오고 싶다면, mongodb exporter를.. 2023. 6. 4.
Devops Day 62 (6.2) 서비스 모니터링_쿠버네티스 클러스터 모니터링 쿠버네티스 클러스터 모니터링 쿠버네시트의 경우 클러스터안에 다수의 노드 그리고 그 안에 파드를 비롯한 다앵한 워크로드가 많게는 수백 개가 실행되는 형태로 구성되어 있습니다. 단일 노드의 경우 리눅스 명령어를 이용하여 하드웨어의 상황을 파악하고, 각 프로세스 모니터링을 했다면, 쿠버네티스의 경우 각 노드는 전적으로 컨트롤 플레인에 의해 관리되므로 우리는 모니터링에 대해 다른 접근 방법을 가져야 합니다. 클러스터 환경에서의 문제 해결의 어려움 클러스터 모니터링에서도 노드가 사용하는 리소스를 확인할 수 있습니다. 대표적으로 kubectl top 명령어가 있습니다. 이 명령어는 노드와 파드가 각각 얼마만큼의 CPU/메모리 리소스를 사용하고 있는지 확인할 수 있습니다. 여러 개의 마이크로서비스가 워크로드로서 실행.. 2023. 6. 3.
Devops Day 61 (6.1) 서비스 모니터링_Sprint Auto Scaling + CloudWatch를 이용한 알림 Bare Minimum Requirement · EC2 서버를 ASG를 통해 구성합니다. 구성은 다음을 따릅니다. · CloudWatch 알람을 통해 ASG의 스케일 인/아웃을 진행합니다. · 스케일 인/아웃이 진행될 때 디스코드에 알림을 보냅니다. · 메트릭을 바탕으로 장애 발생 예상 시점에 디스코드에 알림을 보냅니다. · CPU 사용률(CPUUtilization) 값이 특정 값 이상일 때 경보가 발생하게 하세요 Getting Started 시작 템플릿 구성 ASG를 위한 시작 템플릿 구성은 다음을 따릅니다. · 그룹 정보 o 원하는 용량: 1 o 최소 용량: 1 o 최대 용량: 3 · 시작 템플릿은 다음 구성을 따릅니다. o Ubuntu Server (LTS) o t2.nano o 기존 혹은 신규 키.. 2023. 6. 1.
Devops Day 60 (5.31) 서비스 모니터링_모니터링의 목표와 측정 항목 모니토링의 목표 메트릭이란 : 시간에 따라 측정한 결과값입니다. 보다 넓은 의미로는 비즈니스 개념을 나타내는 수치 측정을 의미하기도 합니다. 모니터링의 목표 : 1. 시간을 기준으로 측정되는 주요 메트릭을 최소화하여 고가용성을 달성 2. 사용량을 추적하여, 배포에 앞서 세운 가설을 검증하고 개선 - 애자일에서는 “검증된 학습(Validated learning)을 적용한다”라고 합니다. - Validated learning : https://www.boldare.com/blog/lean-startup-validated-learning/ 주요 벤더들이 이야기하는 모니터링의 목표와 메트릭 구글이 이야기하는 모니터링의 목표는 다음과 같습니다. 장기적인 트렌드 분석 (Analyzing long-term trend.. 2023. 6. 1.