컨테이너 환경에서 모니터링 이슈와 해결 방안
Immutable Infrastructure인 컨테이너 환경에서의 모니터링 이슈 설명
Prometheus, Grafana, OPENMARU APM
• 직접 작업
• Script
• SSH Client Tool 활용
인프라 관리
• 휴먼 에러
• 오타, 누락
• 변경 이력 관리 : 누가, 언제, 무엇을?
직접 인프라 관리의 문제점
https://medium.com/jsonlovesyaml/devops-on-steroids-with-oracle-kubernetes-engine-oke-
oracle-developer-cloud-service-wercker-4eb7d45be6be
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
• 제품
• Ansible
• Chef
• Puppet
인프라 관리 자동화
자동화 도구 기대효과
Machine #3
admin11
(+100)
front11
(+200)
test11
(+300)
Machine #4
admin21
(+100)
front21
(+200)
test21
(+300)
Machine #5
front31
(+100)
test31
(+200)
admin
front
test
Apache +
mod_jk / mod_cluster
admin
Virtual Host
front test
Apache +
mod_jk / mod_cluster
admin
Virtual Host
front test
JBoss WEB(Apache)
JBoss EAP
Domain Controller
Machine #1 Machine #2
실제 Web / WAS 구성 – 다양한 서비스
OPENMARU APM - 미들웨어 설치/구성/튜닝 자동화(Ansible)
고객 요구사항에 따른 웹 시스템 작업
• 휴먼 에러 – 그래도 사람이 하는 일
• 작업 누락
• 변경 이력 관리에 대한 또 관리
• 작업 내역 관리
• Ansible Log 등
인프라 관리의 자동화는 했는데…
https://medium.com/jsonlovesyaml/devops-on-steroids-with-oracle-kubernetes-engine-oke-
oracle-developer-cloud-service-wercker-4eb7d45be6be
GUI, 스캐쥴링, 히스토리 관리, 인증환경
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
Docker by Google Trends
Docker by Google Trends
하드웨어 가상화와 OS 가상화 비교
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
Mutable vs Immutable
• Immutable 은 기존에 서버를 지속적으로 '관리'한다는 데서 벗어나 어떻게 하면 서버를
잘 쓰고 버리는 지를 다룹니다.
• Mutable (Snowflake Server)
• 서버를 계속 유지하며 설치/업데이트
• 모든 서버의 상태를 똑같이 유지하기 어려움
• 수동 및 자동화 도구
• 문서화, 담당자 변경
• Immutable (Phoenix Server)
• 패기 후 새롭게 셋팅
• Code와 Data를 분리
• Was는 Stateless
• Log 및 Upload data 등은 별도로 관리 (NFS, Gluster)
서버는 주기적으로 태워 버려라
- 마틴 파울러 -
V1.0
Instance
Image
V1.0 1.0
V1.1
V1.1 1.1
V1.2
V1.2
(Crash)
V1.2 v1.2 V1.2
(Crash)
Deploy
Rolling
Update
Build
Image
Version Up
Build
Image
Version Up
1.2
Rolling
Update
Rolling Back Rolling Back
Deploy Deploy
Restart
존재하지 않는 컨테이너
• 시스템 접근 불가
• 로그 확인 불가
• 장애 원인 파악 불가
Restart
Time
Crash Crash
Web Console
실시간 데이터 수집
비상태 정보 기록
KHAN [apm] Server
• 비상태 인스턴스 조회가능
• 사라진 장애 시점의 데이터 조회가능
• 인스턴스 장애 원인 파악가능
Immutable
• Openshift (Kubenetes) 배포 프로세스
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
• SoundCloud 에서 제작 된 오픈 소스 시스템 모니터링 및 경고 툴 킷
• Prometheus는 Kubernetes 이후 2016 년에 두 번째 호스팅 프로젝트로 Cloud
Native Computing Foundation 에 가입
• 특징
• Key/Value 기반의 시계열 데이터
• 유연한 Query PromQL
• Pull 방식, Push 방식도 제공
• 그래프 제공 및 대시보드 솔루션과 연계
• 구성요소
• Exporters (100개 이상)
• Push Gateway
• Client Libraries
• Alert Manager
• Etc…
Prometheus
Grafana
• Visualize
• Dashboard
• Panel
• Plugin (Apps)
• Kubernetes
• Zabbix
• etc…
• Datasource
• Prometheus
• Influxdb
• Elasticsearch
• AWS CloudWatch
• etc…
• Alert
Prometheus + Grapana Architecture
데모 환경
Prometheus 데이터 조회
• Query PromQL
Prometheus Target
• Targets
데이터
• Metrics
Grafana
• Container CPU
Grafana
• Container Memory
Grafana
• Container processes Network I/O
Grafana
• Node DISK
Grafana
• Node
• CPU, MEM
• Load Average
Grafana
하지만
• OS 및 OCP, K8S 관점의 모니터링
• 애플리케이션 관점의 모니터링 항목 부재
• 응답 분포도
• 지연 트랜잭션
• Stack Trace
• 느린 Query
• Metric 내용을 학습
• 커스텀 대시보드 작성
• Prometheus Query(PromQL) 학습
• 빠른 데이터 추적의 어려움
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
OPENMARU APM – 분포도 및 Stack Trace 분석
액티브 사용자수에 대한 특정 기능 제공
지연 현상을 시각적으로
즉시 확인
트랜잭션 맵을 마우스로 드래그
하여 상세 분석
페이지를 표시
트랜잭션 맵(T-Map)
대시보드
1
2
OPENMARU APM – 분포도 및 Stack Trace (Micro Service)
/test/serverLog /test/accessLog
/test/browserTop
/getLog.jsp
POD #2 POD #2 POD #2
OPENMARU APM – 분석 기능
스레드 덤프 분석기
Lock을 추적가능, URL 정보표시
오픈파일 분석기
JVM 메모리 객체 분석기
Java 메모리를 점유한 객체 분석/비교
시스템 프로세스 분석기
네트워크 상태 분석기
Java 프로세스,시스템이 사용중인 네트워크 분석
데이터 추세 분석
Java 프로세스가 오픈한 파일 분석 시스템의 프로세스 CPU, 메모리 사용량 분석/비교 과거 데이터의 증감 추세를 분석하는 기능
OPENMARU APM - 스레드 덤프 분석
• 스레드 상세 분석
• Lock 번호 클릭 시 Lock
Owner 번호로 이동
• 스레드 덤프 요청
• 스레드 덤프 분석
• 스레드 상태 분석표
1 2
스레드 덤프 분석기
OPENMARU APM – 스레드 덤프 분석
OPENMARU APM – Auto Scaling
B사 OpenShift(Docker) 환경 C사 Apache MESOS(Docker) 환경
EC2 인스턴스 오토스케일링
A사 아마존(AWS) 환경
Container 오토스케일링Pod 오토스케일링
OPENMARU APM – Auto Scaling
오픈 시프트
3
Openshift에서 Auto Scaling으로
인스턴스 증가
KHAN [apm] Auto Scaling으로
인스턴스 증가된 인스턴스 표현
1개 Pod 컨테이너 3개 Pod 컨테이너 4개 Pod 컨테이너
KHAN [apm] KHAN [apm] KHAN [apm]
오픈 시프트 오픈 시프트
OPENMARU APM – Auto Scaling
웹시스템 클러스터링 아키텍처
웹시스템 클러스터링 아키텍처
웹시스템 클러스터링 아키텍처
웹시스템 클러스터링 아키텍처
웹시스템 클러스터링 아키텍처
OPENMARU APM - 헬스 체크
실패 시 알림 및 복구 명령어 실행
WAS WASWAS WAS
웹서버 웹서버
Web App Web App Web App Web App
DB
사용자
(고객)
헬스체크 대시보드
홈페이지 서비스외부 인터넷 망
KHAN
[Agent]
사용자 관점
KHAN
[Agent]
KHAN
[Agent]
KHAN
[Agent]
DMZ L4
각 WAS
각 WEB
Private Zone
DMZ Zone
사용자 관점의 모니터링
• HTTP Status Code 뿐만 아니라 응답
컨텐츠에 포함된 문자열에 따라 성공
여부 판단
• 네트워크 각 구간별 헬스체크를 통해
실 사용자 관점의 모니터링
※ 실패 시 각 머신의 SYS 에이전트를 통
해서 복구 명령어 실행
System Agent System Agent System Agent System Agent
System Agent System Agent
HTTP URL
HTTP URL
HTTP URL
OPENMARU APM - 헬스 체크
OPENMARU APM - Quick Service ON
1
2
퀵서비스 ON
과거 데이터의 증감 추세를 분석하는 기능
퀵서비스 전송 해당 Thread Dump 를 퀵서비스 버튼을 이용하면 화면 및
덤프 파일이 오픈나루 서비스 데스크에 접수
OPENMARU APM - Quick Service ON
“살아 남는 종(種)은 강한 종이 아니고,
또 우수한 종도 아니다.
변화에 적응하는 종이다. ”
- Charles Darwin, 1809
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
제품이나 서비스에 관한 문의
콜 센터 :02-469-5426 ( 휴대폰 : 010-2243-3394 )
전자메일:sales@opennaru.com
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안

More Related Content

PPTX
Ansible를 통한 컨테이너 환경 자동화
PPTX
쿠버네티스 ( Kubernetes ) 소개 자료
PPTX
04.웹시스템 이해 하기
PDF
[OpenInfra Days Korea 2018] K8s workshop: with containers & K8s on OpenStack ...
PDF
모두의 쿠버네티스 (Kubernetes for everyone)
PPTX
03.Ansible 소개
PDF
Kubernetes
PDF
cbhoilab vagrant와 ansible 쿠버네티스 설치 v2
Ansible를 통한 컨테이너 환경 자동화
쿠버네티스 ( Kubernetes ) 소개 자료
04.웹시스템 이해 하기
[OpenInfra Days Korea 2018] K8s workshop: with containers & K8s on OpenStack ...
모두의 쿠버네티스 (Kubernetes for everyone)
03.Ansible 소개
Kubernetes
cbhoilab vagrant와 ansible 쿠버네티스 설치 v2

What's hot (20)

PDF
[OpenInfra Days Korea 2018] (삼성전자) Evolution to Cloud Native
PPTX
쿠버네티스의 이해 #2
PDF
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...
PDF
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 쿠버네티스 소개(정낙수 클라우드 솔루션 아키텍트)
PPTX
[넥슨] kubernetes 소개 (2018)
PPTX
MSA ( Microservices Architecture ) 발표 자료 다운로드
PDF
[락플레이스] RHEL8.4 웨비나 발표자료
PPTX
Streaming platform Kafka in SK planet
PPTX
Krnet2018 kakao container cloud dkos
PDF
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
PDF
[오픈소스컨설팅] ARM & OpenStack Community
PDF
[OpenInfra Days Korea 2018] (Track 1) Openstack 쉽게 설치하기 - SOfTI Easy Installer
PPTX
Hystrix소개
PPTX
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
PDF
Kubernetes에서 Windows Application 호스팅하기
PDF
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 CLI 소개 및 활용
PPTX
An overview of kubernetes & (very) simple live demo
PDF
쉽고 빠르게 접하는 오픈스택
PDF
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
PPTX
쿠버네티스의 이해 #1
[OpenInfra Days Korea 2018] (삼성전자) Evolution to Cloud Native
쿠버네티스의 이해 #2
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 쿠버네티스 소개(정낙수 클라우드 솔루션 아키텍트)
[넥슨] kubernetes 소개 (2018)
MSA ( Microservices Architecture ) 발표 자료 다운로드
[락플레이스] RHEL8.4 웨비나 발표자료
Streaming platform Kafka in SK planet
Krnet2018 kakao container cloud dkos
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
[오픈소스컨설팅] ARM & OpenStack Community
[OpenInfra Days Korea 2018] (Track 1) Openstack 쉽게 설치하기 - SOfTI Easy Installer
Hystrix소개
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
Kubernetes에서 Windows Application 호스팅하기
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 CLI 소개 및 활용
An overview of kubernetes & (very) simple live demo
쉽고 빠르게 접하는 오픈스택
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
쿠버네티스의 이해 #1
Ad

Similar to Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안 (20)

PDF
OPENMARU APM 브로셔
PPTX
오픈소스 WAS를 위한 APM 솔루션 - OPENMARU APM
PDF
OpenShift 4버전의 변경사항 및 OPENMARU APM의 CoreOS, CRI-O 모니터링 기능
PPTX
애플리케이션 최적화를 위한 컨테이너 인프라 구축
PPTX
010.JAVA TROUBLESHOOTING
PDF
[오픈소스컨설팅] OpenInfra Asia 2024_OpenStack & K8S로 혁신하는 기상청
PDF
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
PDF
Cloud for Kubernetes : Session5
PDF
[giip] A.I. Infrastructure Advisor (인공지능 인프라 어드바이저)
PDF
[네이버오픈소스세미나] Contribution, 전쟁의 서막 : Apache OpenWhisk 성능 개선 - 김동경
PDF
05.OPENMARU APM 소개
PDF
Kubernetes on Premise
PPTX
[MeetUp][3rd] Prometheus 와 함께하는 모니터링 및 시각화
PDF
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
PDF
[AWSome Day온라인 컨퍼런스] 강의 3: 클라우드 구축하기 - 정도현, AWS 테크니컬 트레이너
PDF
클라우드 컴퓨팅 기반 기술과 오픈스택(Kvm) 기반 Provisioning
PPTX
[DDD] 모바일 게임을 만들기 위한 AWS 고군분투기 (2019)
PDF
[2018] NHN 모니터링의 현재와 미래 for 인프라 엔지니어
PPTX
폴라리스오피스 운영시스템
PDF
성공적인 하이브리드 클라우드를 위한 레드햇의 전략
OPENMARU APM 브로셔
오픈소스 WAS를 위한 APM 솔루션 - OPENMARU APM
OpenShift 4버전의 변경사항 및 OPENMARU APM의 CoreOS, CRI-O 모니터링 기능
애플리케이션 최적화를 위한 컨테이너 인프라 구축
010.JAVA TROUBLESHOOTING
[오픈소스컨설팅] OpenInfra Asia 2024_OpenStack & K8S로 혁신하는 기상청
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
Cloud for Kubernetes : Session5
[giip] A.I. Infrastructure Advisor (인공지능 인프라 어드바이저)
[네이버오픈소스세미나] Contribution, 전쟁의 서막 : Apache OpenWhisk 성능 개선 - 김동경
05.OPENMARU APM 소개
Kubernetes on Premise
[MeetUp][3rd] Prometheus 와 함께하는 모니터링 및 시각화
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
[AWSome Day온라인 컨퍼런스] 강의 3: 클라우드 구축하기 - 정도현, AWS 테크니컬 트레이너
클라우드 컴퓨팅 기반 기술과 오픈스택(Kvm) 기반 Provisioning
[DDD] 모바일 게임을 만들기 위한 AWS 고군분투기 (2019)
[2018] NHN 모니터링의 현재와 미래 for 인프라 엔지니어
폴라리스오피스 운영시스템
성공적인 하이브리드 클라우드를 위한 레드햇의 전략
Ad

More from Opennaru, inc. (20)

PDF
머신 중심에서 애플리케이션 중심으로 불변의 인프라스트럭처 개념 이해
PDF
쿠버네티스를 이해하려면 반드시 알아야 하는 불변의 인프라스트럭처
PDF
컨테이너 기술의 역사와 발전 단계
PDF
구글은 왜 쿠버네티스를 오픈소스로 공개했을까요?
PPTX
컨테이너 기술과 가상화 기술의 주요한 차이점
PPTX
컨테이너 개념의 이해 - 물류 분야의 컨테이너와 다른점은?
PDF
VM과 컨테이너 상에서 Apache & Tomcat 설치, 실행 그리고 배포 데모
PDF
가상화 기술 VS 컨테이너의 집적도 비교 데모
PDF
PaaS 환경에서 기업 메신저 서비스 10분 만에 구축하기 데모
PDF
마이크로서비스 아키텍처 (MSA) 데모
PDF
클라우드 환경에서의 모니터링의 특징과 구현 방안 로그통합
PDF
컨테이너 상에서의 서비스 무중단 배포 방법 비교 데모
PDF
자동 확장 자원 풀 – Auto Scaling 데모
PDF
자동 장애 복구 데모 – Auto Healing 데모
PDF
멀티 애플리케이션 환경에서 부하에 따른 자동 자원 할당 데모
PDF
PaaS 환경에서 전자 정부 프레임워크 배포 데모
PDF
PaaS 환경에서 워드프레스 구축하기 데모
PDF
PaaS 환경에서 다중 사용자를 위한 머신 러닝 플랫폼 구축 데모
PDF
16. understanding and implementing msa concepts pub
PDF
개발자가 PaaS 환경에서 반드시 알아야 하는 기술들
머신 중심에서 애플리케이션 중심으로 불변의 인프라스트럭처 개념 이해
쿠버네티스를 이해하려면 반드시 알아야 하는 불변의 인프라스트럭처
컨테이너 기술의 역사와 발전 단계
구글은 왜 쿠버네티스를 오픈소스로 공개했을까요?
컨테이너 기술과 가상화 기술의 주요한 차이점
컨테이너 개념의 이해 - 물류 분야의 컨테이너와 다른점은?
VM과 컨테이너 상에서 Apache & Tomcat 설치, 실행 그리고 배포 데모
가상화 기술 VS 컨테이너의 집적도 비교 데모
PaaS 환경에서 기업 메신저 서비스 10분 만에 구축하기 데모
마이크로서비스 아키텍처 (MSA) 데모
클라우드 환경에서의 모니터링의 특징과 구현 방안 로그통합
컨테이너 상에서의 서비스 무중단 배포 방법 비교 데모
자동 확장 자원 풀 – Auto Scaling 데모
자동 장애 복구 데모 – Auto Healing 데모
멀티 애플리케이션 환경에서 부하에 따른 자동 자원 할당 데모
PaaS 환경에서 전자 정부 프레임워크 배포 데모
PaaS 환경에서 워드프레스 구축하기 데모
PaaS 환경에서 다중 사용자를 위한 머신 러닝 플랫폼 구축 데모
16. understanding and implementing msa concepts pub
개발자가 PaaS 환경에서 반드시 알아야 하는 기술들

Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안

  • 1. 컨테이너 환경에서 모니터링 이슈와 해결 방안 Immutable Infrastructure인 컨테이너 환경에서의 모니터링 이슈 설명 Prometheus, Grafana, OPENMARU APM
  • 2. • 직접 작업 • Script • SSH Client Tool 활용 인프라 관리
  • 3. • 휴먼 에러 • 오타, 누락 • 변경 이력 관리 : 누가, 언제, 무엇을? 직접 인프라 관리의 문제점 https://medium.com/jsonlovesyaml/devops-on-steroids-with-oracle-kubernetes-engine-oke- oracle-developer-cloud-service-wercker-4eb7d45be6be
  • 5. • 제품 • Ansible • Chef • Puppet 인프라 관리 자동화
  • 7. Machine #3 admin11 (+100) front11 (+200) test11 (+300) Machine #4 admin21 (+100) front21 (+200) test21 (+300) Machine #5 front31 (+100) test31 (+200) admin front test Apache + mod_jk / mod_cluster admin Virtual Host front test Apache + mod_jk / mod_cluster admin Virtual Host front test JBoss WEB(Apache) JBoss EAP Domain Controller Machine #1 Machine #2 실제 Web / WAS 구성 – 다양한 서비스
  • 8. OPENMARU APM - 미들웨어 설치/구성/튜닝 자동화(Ansible)
  • 9. 고객 요구사항에 따른 웹 시스템 작업
  • 10. • 휴먼 에러 – 그래도 사람이 하는 일 • 작업 누락 • 변경 이력 관리에 대한 또 관리 • 작업 내역 관리 • Ansible Log 등 인프라 관리의 자동화는 했는데… https://medium.com/jsonlovesyaml/devops-on-steroids-with-oracle-kubernetes-engine-oke- oracle-developer-cloud-service-wercker-4eb7d45be6be GUI, 스캐쥴링, 히스토리 관리, 인증환경
  • 12. Docker by Google Trends Docker by Google Trends
  • 13. 하드웨어 가상화와 OS 가상화 비교
  • 15. Mutable vs Immutable • Immutable 은 기존에 서버를 지속적으로 '관리'한다는 데서 벗어나 어떻게 하면 서버를 잘 쓰고 버리는 지를 다룹니다. • Mutable (Snowflake Server) • 서버를 계속 유지하며 설치/업데이트 • 모든 서버의 상태를 똑같이 유지하기 어려움 • 수동 및 자동화 도구 • 문서화, 담당자 변경 • Immutable (Phoenix Server) • 패기 후 새롭게 셋팅 • Code와 Data를 분리 • Was는 Stateless • Log 및 Upload data 등은 별도로 관리 (NFS, Gluster) 서버는 주기적으로 태워 버려라 - 마틴 파울러 -
  • 16. V1.0 Instance Image V1.0 1.0 V1.1 V1.1 1.1 V1.2 V1.2 (Crash) V1.2 v1.2 V1.2 (Crash) Deploy Rolling Update Build Image Version Up Build Image Version Up 1.2 Rolling Update Rolling Back Rolling Back Deploy Deploy Restart 존재하지 않는 컨테이너 • 시스템 접근 불가 • 로그 확인 불가 • 장애 원인 파악 불가 Restart Time Crash Crash Web Console 실시간 데이터 수집 비상태 정보 기록 KHAN [apm] Server • 비상태 인스턴스 조회가능 • 사라진 장애 시점의 데이터 조회가능 • 인스턴스 장애 원인 파악가능 Immutable • Openshift (Kubenetes) 배포 프로세스
  • 18. • SoundCloud 에서 제작 된 오픈 소스 시스템 모니터링 및 경고 툴 킷 • Prometheus는 Kubernetes 이후 2016 년에 두 번째 호스팅 프로젝트로 Cloud Native Computing Foundation 에 가입 • 특징 • Key/Value 기반의 시계열 데이터 • 유연한 Query PromQL • Pull 방식, Push 방식도 제공 • 그래프 제공 및 대시보드 솔루션과 연계 • 구성요소 • Exporters (100개 이상) • Push Gateway • Client Libraries • Alert Manager • Etc… Prometheus
  • 19. Grafana • Visualize • Dashboard • Panel • Plugin (Apps) • Kubernetes • Zabbix • etc… • Datasource • Prometheus • Influxdb • Elasticsearch • AWS CloudWatch • etc… • Alert
  • 20. Prometheus + Grapana Architecture
  • 29. Grafana • Node • CPU, MEM • Load Average
  • 31. 하지만 • OS 및 OCP, K8S 관점의 모니터링 • 애플리케이션 관점의 모니터링 항목 부재 • 응답 분포도 • 지연 트랜잭션 • Stack Trace • 느린 Query • Metric 내용을 학습 • 커스텀 대시보드 작성 • Prometheus Query(PromQL) 학습 • 빠른 데이터 추적의 어려움
  • 33. OPENMARU APM – 분포도 및 Stack Trace 분석 액티브 사용자수에 대한 특정 기능 제공 지연 현상을 시각적으로 즉시 확인 트랜잭션 맵을 마우스로 드래그 하여 상세 분석 페이지를 표시 트랜잭션 맵(T-Map) 대시보드 1 2
  • 34. OPENMARU APM – 분포도 및 Stack Trace (Micro Service) /test/serverLog /test/accessLog /test/browserTop /getLog.jsp POD #2 POD #2 POD #2
  • 35. OPENMARU APM – 분석 기능 스레드 덤프 분석기 Lock을 추적가능, URL 정보표시 오픈파일 분석기 JVM 메모리 객체 분석기 Java 메모리를 점유한 객체 분석/비교 시스템 프로세스 분석기 네트워크 상태 분석기 Java 프로세스,시스템이 사용중인 네트워크 분석 데이터 추세 분석 Java 프로세스가 오픈한 파일 분석 시스템의 프로세스 CPU, 메모리 사용량 분석/비교 과거 데이터의 증감 추세를 분석하는 기능
  • 36. OPENMARU APM - 스레드 덤프 분석 • 스레드 상세 분석 • Lock 번호 클릭 시 Lock Owner 번호로 이동 • 스레드 덤프 요청 • 스레드 덤프 분석 • 스레드 상태 분석표 1 2 스레드 덤프 분석기
  • 37. OPENMARU APM – 스레드 덤프 분석
  • 38. OPENMARU APM – Auto Scaling B사 OpenShift(Docker) 환경 C사 Apache MESOS(Docker) 환경 EC2 인스턴스 오토스케일링 A사 아마존(AWS) 환경 Container 오토스케일링Pod 오토스케일링
  • 39. OPENMARU APM – Auto Scaling 오픈 시프트 3 Openshift에서 Auto Scaling으로 인스턴스 증가 KHAN [apm] Auto Scaling으로 인스턴스 증가된 인스턴스 표현 1개 Pod 컨테이너 3개 Pod 컨테이너 4개 Pod 컨테이너 KHAN [apm] KHAN [apm] KHAN [apm] 오픈 시프트 오픈 시프트
  • 40. OPENMARU APM – Auto Scaling
  • 46. OPENMARU APM - 헬스 체크 실패 시 알림 및 복구 명령어 실행 WAS WASWAS WAS 웹서버 웹서버 Web App Web App Web App Web App DB 사용자 (고객) 헬스체크 대시보드 홈페이지 서비스외부 인터넷 망 KHAN [Agent] 사용자 관점 KHAN [Agent] KHAN [Agent] KHAN [Agent] DMZ L4 각 WAS 각 WEB Private Zone DMZ Zone 사용자 관점의 모니터링 • HTTP Status Code 뿐만 아니라 응답 컨텐츠에 포함된 문자열에 따라 성공 여부 판단 • 네트워크 각 구간별 헬스체크를 통해 실 사용자 관점의 모니터링 ※ 실패 시 각 머신의 SYS 에이전트를 통 해서 복구 명령어 실행 System Agent System Agent System Agent System Agent System Agent System Agent HTTP URL HTTP URL HTTP URL
  • 47. OPENMARU APM - 헬스 체크
  • 48. OPENMARU APM - Quick Service ON 1 2 퀵서비스 ON 과거 데이터의 증감 추세를 분석하는 기능 퀵서비스 전송 해당 Thread Dump 를 퀵서비스 버튼을 이용하면 화면 및 덤프 파일이 오픈나루 서비스 데스크에 접수
  • 49. OPENMARU APM - Quick Service ON
  • 50. “살아 남는 종(種)은 강한 종이 아니고, 또 우수한 종도 아니다. 변화에 적응하는 종이다. ” - Charles Darwin, 1809
  • 52. 제품이나 서비스에 관한 문의 콜 센터 :02-469-5426 ( 휴대폰 : 010-2243-3394 ) 전자메일:[email protected]

Editor's Notes

  • #51: 현재 웹서버, 서블릿 엔진은 이미 성능 적인 측면에서 거의 평준화 되었습니다. 하지만 앞서 설명한 세밀한 유입 제어가 뒷받침 되지 않는다면 배포나 특정 서버 작업 시에 안정성을 확보하기 어렵습니다. 하지만 Undertow 에서 제공하는 세밀한 유입 제어 부분을 활용한다면 배포 및 특정 작업 시에도 안정성을 확보하여 더욱 품질 좋은 서비스를 할 수 있게 될 것입니다. 그렇기에 저희는 엔터프라이즈 환경에서 Undertow, JBoss EAP 를 적극 추천합니다.