| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
- 인프라
- OS
- 엘라스틱서치
- 운영체제
- Data Engineering
- tech
- 데이터엔지니어
- 분산시스템
- elasticsearch
- 코테
- SRE
- k8s
- devsecops
- Monitoring
- Kafka
- 커널
- Observability
- it
- Network
- fork()
- etcd
- 개발
- 개발자
- 시스템호출
- Pub/Sub
- AWS
- Kubernetes
- 스프링빈
- 쿠버네티스
- 대규모시스템
- Today
- Total
목록DevOps (21)
모래성 말고 철옹성
etcd란? 분산 환경에서 데이터를 안정적으로 저장하는 강한 일관성(Strong Consistency) 기반의 키-값 저장소이다.주요 특징으로는리더 선출 자동 처리 - 네트워크 분할 상황에서도 안정적으로 리더 선출고가용성 - 리더 노드 장 시 데이터와 서비스 지속 가능분산 시스템 필수 구성요소 - k8s같은 클러스터 환경에서 핵심 메타데이터 저장소로 사용etcd 주요 기능간단한 인터페이스curl 같은 HTTP 도구로 값 읽기/쓰기 가능key-value 저장표준 파일 시스템처럼 계층적 디렉토리 구조 지원변경 감지특정 키, 디렉터리 변경 시 감지하고 반응보안 기능선택적 SSL 클라이언트 인증서 지원고성능인스턴스당 초당 수천 건의 쓰기 처리 가능TTL 지원특정 키에 만료 시간 부여 가능분산 합의Raft 프로토..
"측정할 수 없으면, 개선할 수도 없다”서비르를 운영하다 보면 사용자, 운영자, 개발자 마다 "서비스가 잘 되고 있구나"의 기준은 제각각이다. 운영자는 "로그가 안보여요", 고객은 "너무 느려요" 이렇게 서로 다른 잣대를 쓰면, 문제를 발견하는 시점도 다르고 우선순위도 충돌하게 된다. 그렇기 때문에 감 대신에 측정 가능한 정량적인 기준이 필요했고, 그게 바로 SLI, SLO, SLA 체계이다. 서비스 수준 척도 (Service Level Indicator, SLI)서비스 수준을 판단할 수 있는 몇 가지를 정량적으로 측정한 값ex. 응답속도, 시스템 처리량, 에러율 등SRE의 관점에서 가장 중요한 지표는 가용성업계에서 통상 고가용성(High Availability)를 99% 또는 99.9% 와 같이 표현한..
Firecracker가 탄생한 히스토리AWS는 처음에 Lambda 서비스를 만들면서 고객별로 전용 서버를 할당해 안전하게 운영했습니다. 하지만 이 방식은 무겁고 관리가 어려운 문제점이 있었습니다. 서버리스와 컨테이너 사용이 급격히 늘어나면서, 더 빠르고 가볍고 효율적인 가상 머신 기술이 필요해졌습니다.그래서 AWS는 Firecracker를 개발했습니다. Firecracker는 아주 작고 빠른 가상 머신으로, 한 서버에 수천 개를 동시에 띄워도 안전하고 효율적으로 운영할 수 있도록 설계되었습니다. 덕분에 Lambda와 Fargate 같은 서비스가 더 빠르고 효율적으로 동작할 수 있게 되었습니다.개요Firecracker는 MicroVM을 빠르고 안전하게 만드는 기술Firecracker의 중요한 구성요소는 가..
Java Agent애플리케이션의 성능을 자동으로 측정예외와 오류 추적대표적인 프레임워크 기본적으로 지원간단한 API를 제공하여 어떤 애플리케이션이든 계측 가능Java Agent의 작동 방식지원되는 기술을 자동으로 계측하여 이벤트를 기록에이전트는 바이트코드 계측을 수행이벤트 전후에 코드를 안전하게 삽입하여 실행 시간, 메타데이터, HTTP 정보를 측정코드를 다시 컴파일 수행할 필요 없음이벤트는 트랜잭션과 스팬 형태로 Elastic APM에 전송Node.js Agent성능 메트릭과 오류를 자동으로 수집대표적인 프레임워크와 라우터를 기본적으로 지원간단한 API를 제공하여 어떤 애플리케이션이든 계측 가능Node.js Agent의 작동 방식지원되는 기술을 자동으로 계측하여 이벤트를 기록모듈이 로드될 때 패치비동기..
Elastic APM 이란Elastic 플랫폼 위에 구축된 APM(Application Performance Monitoring) 시스템소프트웨어 서비스를 실시간으로 모니터링할 수 있게 함응답 시간에 대한 자세한 성능 정보를 수집예: 데이터베이스 쿼리, 캐시 호출, HTTP 요청 등처리되지 않은 오류 및 예외를 자동으로 수집오류는 주로 stacktrace를 기반으로 그룹화새로운 오류가 발생했을 때 쉽게 식별하고, 발생 횟수도 파악할 수 있음호스트 수준의 기본 메트릭과 에이전트 별 메트릭 모니터링도 지원Elastic APM 의 구성요소Elastic APM 은 네 가지 요소로 구성APM agentsElastic APM integrationElasticsearchKibana일반적으로 이 네 가지 구성 요소로 ..
Log 란?로그(log)는 시스템, 애플리케이션, 장치, 또는 심지어 사람의 활동을 기록한 것근본적으로는 사실 timestamp + data로그의 생애 주기 (ELK Stack)Elastic Agent가 로그를 수집하고 Elasticsearch 클러스터로 전송Hot-Warm 아키텍처로 로그 수명 주기 관리처음엔 Hot 노드에 저장시간이 지나면 Warm 노드로 이동이후에는 삭제되거나 Cold/Frozen 티어로 이동 가능로그가 클러스터 내에 있는 동안에는 어느 티어에 있든지 검색 및 분석이 가능Timestamp에 대해타임스탬프 처리의 어려움 존재다양한 포맷 존재시간대 처리 복잡Elasticsearch 권장 포맷기본적으로 ISO 8601 형식여러 시간 포맷도 설정을 통해 수집 가능ISO 8601의 장점명확하..
Elastic Agent 란?에이전트(Agent)는 Integrations를 호스트 서버에 전송정책(Policy)은 각 호스트에서 어떤 Integrations 기능을 사용할지를 정의Integraions 기능은 다양한 데이터 소스를 어떻게 추출하고 전송할지에 대한 정보를 포함]IntegrationsIntegrations는 외부 서비스와 시스템을 Elastic과 연동함빠르게 시스템에 대한 인사이트와 대응을 보조새로운 데이터 소스 수집 가능Integrations는 종종 기본으로 제공되는 기능(out-of-the-box assets)과 함께 제공되며, 여기에는 대시보드, 시각화 도구, 파이프라인 등이 포함Elastic Agent policies어떤 integration을 실행할지, 어떤 호스트에서 실행할지를 지..
Uptime 가동시간시스템이 살아있지 않으면 관측할 수 없음따라서 Observability는 보통 "시스템이 살아있나?" 부터 시작HeartbeatUptime 데이터를 수집하고 ship하는 agentICMPv4 and v6 (echo requests)requires root accessTCP사용자 정의 페이로드를 보내고 받음으로써 엔드포인트 확인HTTP호스트가 예상한 응답을 반환하는지 확인e.g. 상태 코드, 응답 헤더 또는 콘텐츠 등TCP와 HTTP 모니터는 모두 SSL/TLS를 지원일부 프록시 설정도 지원용어 정리ICMP (Internet Control Message Protocol)인터넷 제어 메시지 프로토콜IP 동작에서 진단이나 제어로 사용되거나 오류에 대한 응답으로 만들어진 메시지인터넷/통신 상..