10. Monitoring
• 정의
- 시스템에 관련된 정량적 수치를 수집, 처리, 집계 , 보여주는 행위
- 서비스 관점의 모니터링 (지연시간, 트래픽 , 에러, 포화도)
- 시스템 관점의 모니터링 (사용율, 포화도, 에러)
- 사용자에 따라 정의가 약간씩 다름
• 모니터링의 구성요소
- Metrics
- Logging
- Tracing
- Alerting
- Visualization
• Observability 의 하위 집합
11. Prometheus
• Monitoring system
- Time-series based
- Open-source
- Built at SoundCloud 2012
- CNCF 2nd Graduated Project
- Service Discovery
- Alert
- Visualization
• Features
- Multi-dimensional data model
- PromQL, a flexible query language
- Pull over HTTP
- Push gateway
- Service discovery or Static configuration
- Multiple modes of graphing and dashboarding support
13. Exporter
• What is?
- 서비스나 어플리케이션에서 데이터를 수집
- 프로메테우스 형식으로 HTTP를 통해 노출
• 공식언어
- Go
- Java
- Python
- Ruby
• 커뮤니티 지원 언어
- Bash, Common Lips, Elixir, Erlanb, Haskell
- .NET, C#, C++,
- Lua, Node.js, Perl, PHP, Rust
14. AlertManager
• What is?
- 프로메테우스 서버에 생성된 조건에 의해 트리거 되는 알림
- HTTP를 통해 노출
• 공식지원 언어
- Go
- Java
- Python
- Ruby
• 커뮤니티 지원 언어
- Bash, Common Lips, Elixir, Erlanb, Haskell
- .NET, C#, C++,
- Lua, Node.js, Perl, PHP, Rust
15. Visualization
• API
- PromQL 쿼리를 통해 원시 데이터 제공
• WEB-GUI
- 2종류의 내부 시각화 컴포넌트를 제공
- PromQL 쿼리를 이용한 시각화
• Grafana
- 다양한 데이터소스를 대상으로 시각화 가능
- 다양한 플러그인 지원
- Alert 무료
- Grafanalab을 통한 다양한 dashboard 템플릿 제공
- 이뻐요
19. Control Plane Components
• kube-apiserver
- 자체적인 DNS와 네트워크 구성으로 서비스 통신
- 트래픽 로드밸런싱
• etcd
- cluster data
• kube-scheduler
- 파드와 노드의 상황을 체크하여 파드 분배
• kube-controller-manager
- node controller
- Job controller
- Endpoints controller
- Service Account & Token controllers
• cloud-controller-manager
20. EKS
• AWS에서 제공하는 서비스
- Control Plane 역할에 한해서 대신 해줌
• kubernetes는 혼자서는 할 수 있는게 별로 없어요
- Etcd 별도 설치
- Stateless 로 인한 Clustering 미비
- Service Descovery DNS, Network
- Ingress Controller, OIDC, OPA
- Upgrade!!!
• 이걸 최상의 상태로 유지 해줍니다.
- 무중단 보장
- ECR, ELB, IAM, VPC 와의 유연한 연동
- Upgrade!!!
25. Operator
• What is?
- Kubernetes 에서 Prometheus의 관리 제공
- 간편한 스택 구성과 자동화 제공
• 주요기능
- Kubernetes Custom Resources
- Simplified Deployment Configuration
- Prometheus Target Configuration
26. Vs.
• Prometheus Operator
- 공식 설치 방식
- .
• kube-prometheus
- 클러스터링을 목적으로 하는 설치 방식
- HA 지원
- Prometheus Operator 포함됨
• community helm chart
- Kube-prometheus를 package manager를 사용하여 설치