Understanding of Apache kafka metrics for monitoring SANG WON PARK
2019 kafka conference seould에서 발표한 "Apache Kafka 모니터링을 위한 Metrics 이해" 슬라이드 자료
기존 2018년 자료에서 모니터링 관점에서 중요한 metrcis를 중심으로 정리하였고, 2019년 기준으로 추가/변경된 metrics를 반영하였다.
주용 내용은
- 업무에 최적화된 apache kafka 모니터링을 하려면?
- 어떤 정보를 모니터링 해야 할까?
- 적시성 관점의 모니터링 지표 (TotalTimeMs에 대한 세부 구조 이해)
- 안정성 관점의 모니터링 지표 (데이터 유실이 없이 중단없는 서비스)
- 언제 apache kafka 클러스터를 확장해야 할까? (어떤 지표를 봐야 할까?)
위 모든 지표는 producer/broker/consumer 3가지 측면에서 검토하였다.
컨퍼런스 영상 링크 : https://www.youtube.com/watch?v=p2RGsTOCHAg
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안SANG WON PARK
Apache Kafak의 빅데이터 아키텍처에서 역할이 점차 커지고, 중요한 비중을 차지하게 되면서, 성능에 대한 고민도 늘어나고 있다.
다양한 프로젝트를 진행하면서 Apache Kafka를 모니터링 하기 위해 필요한 Metrics들을 이해하고, 이를 최적화 하기 위한 Configruation 설정을 정리해 보았다.
[Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안]
Apache Kafka 성능 모니터링에 필요한 metrics에 대해 이해하고, 4가지 관점(처리량, 지연, Durability, 가용성)에서 성능을 최적화 하는 방안을 정리함. Kafka를 구성하는 3개 모듈(Producer, Broker, Consumer)별로 성능 최적화를 위한 …
[Apache Kafka 모니터링을 위한 Metrics 이해]
Apache Kafka의 상태를 모니터링 하기 위해서는 4개(System(OS), Producer, Broker, Consumer)에서 발생하는 metrics들을 살펴봐야 한다.
이번 글에서는 JVM에서 제공하는 JMX metrics를 중심으로 producer/broker/consumer의 지표를 정리하였다.
모든 지표를 정리하진 않았고, 내 관점에서 유의미한 지표들을 중심으로 이해한 내용임
[Apache Kafka 성능 Configuration 최적화]
성능목표를 4개로 구분(Throughtput, Latency, Durability, Avalibility)하고, 각 목표에 따라 어떤 Kafka configuration의 조정을 어떻게 해야하는지 정리하였다.
튜닝한 파라미터를 적용한 후, 성능테스트를 수행하면서 추출된 Metrics를 모니터링하여 현재 업무에 최적화 되도록 최적화를 수행하는 것이 필요하다.
Apache kafka performance(latency)_benchmark_v0.3SANG WON PARK
Apache Kafka를 이용하여 이미지 데이터를 얼마나 빠르게(with low latency) 전달 가능한지 성능 테스트.
최종 목적은 AI(ML/DL) 모델의 입력으로 대량의 실시간 영상/이미지 데이터를 전달하는 메세지 큐로 사용하기 위하여, Drone/제조공정 등의 장비에서 전송된 이미지를 얼마나 빨리 AI Model로 전달 할 수 있는지 확인하기 위함.
그래서 Kafka에서 이미지를 전송하는 간단한 테스트를 진행하였고,
이 과정에서 latency를 얼마나 줄여주는지를 확인해 보았다.(HTTP 프로토콜/Socket과 비교하여)
[현재 까지 결론]
- Apache Kafka는 대량의 요청 처리를 위한 throughtput에 최적화 된 솔루션임.
- 현재는 producer의 몇가지 옵션만 조정하여 테스트한 결과이므로,
- 잠정적인 결과이지만, kafka의 latency를 향상을 위해서는 많은 시도가 필요할 것 같음.
- 즉, 단일 요청의 latency는 확실히 느리지만,
- 대량의 처리를 기준으로 평균 latency를 비교하면 평균적인 latency는 많이 낮아짐.
Test Code : https://github.com/freepsw/kafka-latency-test
ARM과 AMD64의 차이에 대해 설명하고
오픈스택에 ARM을 도입하기 위한 커뮤니티 활동을 소개합니다.
1. ARM vs AMD64
2. CISC/RISC 차이
3. 커뮤니티에서 ARM위에 오픈스택을 올리기 위한 노력
- SIG (Special Interest Groups)
- PTG(Project Team Gathering)
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안SANG WON PARK
Apache Kafak의 빅데이터 아키텍처에서 역할이 점차 커지고, 중요한 비중을 차지하게 되면서, 성능에 대한 고민도 늘어나고 있다.
다양한 프로젝트를 진행하면서 Apache Kafka를 모니터링 하기 위해 필요한 Metrics들을 이해하고, 이를 최적화 하기 위한 Configruation 설정을 정리해 보았다.
[Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안]
Apache Kafka 성능 모니터링에 필요한 metrics에 대해 이해하고, 4가지 관점(처리량, 지연, Durability, 가용성)에서 성능을 최적화 하는 방안을 정리함. Kafka를 구성하는 3개 모듈(Producer, Broker, Consumer)별로 성능 최적화를 위한 …
[Apache Kafka 모니터링을 위한 Metrics 이해]
Apache Kafka의 상태를 모니터링 하기 위해서는 4개(System(OS), Producer, Broker, Consumer)에서 발생하는 metrics들을 살펴봐야 한다.
이번 글에서는 JVM에서 제공하는 JMX metrics를 중심으로 producer/broker/consumer의 지표를 정리하였다.
모든 지표를 정리하진 않았고, 내 관점에서 유의미한 지표들을 중심으로 이해한 내용임
[Apache Kafka 성능 Configuration 최적화]
성능목표를 4개로 구분(Throughtput, Latency, Durability, Avalibility)하고, 각 목표에 따라 어떤 Kafka configuration의 조정을 어떻게 해야하는지 정리하였다.
튜닝한 파라미터를 적용한 후, 성능테스트를 수행하면서 추출된 Metrics를 모니터링하여 현재 업무에 최적화 되도록 최적화를 수행하는 것이 필요하다.
Apache kafka performance(latency)_benchmark_v0.3SANG WON PARK
Apache Kafka를 이용하여 이미지 데이터를 얼마나 빠르게(with low latency) 전달 가능한지 성능 테스트.
최종 목적은 AI(ML/DL) 모델의 입력으로 대량의 실시간 영상/이미지 데이터를 전달하는 메세지 큐로 사용하기 위하여, Drone/제조공정 등의 장비에서 전송된 이미지를 얼마나 빨리 AI Model로 전달 할 수 있는지 확인하기 위함.
그래서 Kafka에서 이미지를 전송하는 간단한 테스트를 진행하였고,
이 과정에서 latency를 얼마나 줄여주는지를 확인해 보았다.(HTTP 프로토콜/Socket과 비교하여)
[현재 까지 결론]
- Apache Kafka는 대량의 요청 처리를 위한 throughtput에 최적화 된 솔루션임.
- 현재는 producer의 몇가지 옵션만 조정하여 테스트한 결과이므로,
- 잠정적인 결과이지만, kafka의 latency를 향상을 위해서는 많은 시도가 필요할 것 같음.
- 즉, 단일 요청의 latency는 확실히 느리지만,
- 대량의 처리를 기준으로 평균 latency를 비교하면 평균적인 latency는 많이 낮아짐.
Test Code : https://github.com/freepsw/kafka-latency-test
ARM과 AMD64의 차이에 대해 설명하고
오픈스택에 ARM을 도입하기 위한 커뮤니티 활동을 소개합니다.
1. ARM vs AMD64
2. CISC/RISC 차이
3. 커뮤니티에서 ARM위에 오픈스택을 올리기 위한 노력
- SIG (Special Interest Groups)
- PTG(Project Team Gathering)
JBoss Community's Application Monitoring PlatformTed Won
This document introduces two open source projects, RHQ and Byteman, that can help software engineers broaden the scope of their development activities. RHQ is a platform for monitoring JBoss applications, while Byteman allows testing and debugging of applications. The presentation aims to share stories about these tools in order to help developers expand their work.
Hadoop for the Data Scientist: Spark in Cloudera 5.5Cloudera, Inc.
Inefficient data workloads are all too common across enterprises - causing costly delays, breakages, hard-to-maintain complexity, and ultimately lost productivity. For a typical enterprise with multiple data warehouses, thousands of reports, and hundreds of thousands of ETL jobs being executed every day, this loss of productivity is a real problem. Add to all of this the complex handwritten SQL queries, and there can be nearly a million queries executed every month that desperately need to be optimized, especially to take advantage of the benefits of Apache Hadoop. How can enterprises dig through their workloads and inefficiencies to easily see which are the best fit for Hadoop and what’s the fastest path to get there?
Cloudera Navigator Optimizer is the solution - analyzing existing SQL workloads to provide instant insights into your workloads and turns that into an intelligent optimization strategy so you can unlock peak performance and efficiency with Hadoop. As the newest addition to Cloudera’s enterprise Hadoop platform, and now available in limited beta, Navigator Optimizer has helped customers profile over 1.5 million queries and ultimately save millions by optimizing for Hadoop.
This document discusses the Infinispan Spark connector, which provides integration between JBoss Data Grid 7 (JDG 7) and Apache Spark. It introduces JDG 7 and Apache Spark and their features. The Infinispan Spark connector allows users to create Spark RDDs and DStreams from JDG cache data, write RDDs and DStreams to JDG caches, and perform real-time stream processing with JDG as the data source for Spark. The connector supports various configurations and provides seamless functional programming with Spark. A demo of examples is referenced.
Human: Thank you for the summary. Can you provide another summary in 2 sentences or less?
100% Serverless big data scale production Deep Learning Systemhoondong kim
- BigData Sale Deep Learning Training System (with GPU Docker PaaS on Azure Batch AI)
- Deep Learning Serving Layer (with Auto Scale Out Mode on Web App for Linux Docker)
- BigDL, Keras, Tensorlfow, Horovod, TensorflowOnAzure
이준영 (현 소프트웨어인라이프 연구원)
OpenShfit와 CSB.IO
인프라 비용을 절감하고 애플리케이션 개발속도를 향상 시킬 수 있는 방안으로 PaaS와 레드햇의 오픈 소스 솔루션인 OpenShift에 대하여 설명한다.
그리고, CSB.IO와 OpenShift의 미래 모습에 대해서도 소개한다.
- The Cloud Life Seminar 2014 발표 내용
The document introduces new features of JBoss EAP 7 and JBoss Data Grid 7. JBoss EAP 7 includes support for Java EE 7, Java 8, improved clustering and web server Undertow. Undertow can be used as a reverse proxy and load balancer with mod_cluster. JBoss Data Grid 7 provides distributed caching and integrates with Apache Spark, allowing cached data to be accessed from Spark jobs and Spark data to be cached.
Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...Ted Won
This document provides an overview of hands-on training for using Jenkins X (JX), an automated CI/CD solution for building and deploying modern cloud applications on Kubernetes. It outlines prerequisites, and steps to install JX, create a Kubernetes cluster on GKE, and build a sample Spring Boot application with CI/CD pipelines and GitOps promotion between environments. It also discusses using Minikube for local development and provides additional references on JX and related tools.
Jenkins X - automated CI/CD solution for cloud native applications on KubernetesTed Won
Let's have a look at CI/CD best practices to help developers on the cloud platform Kubernetes, which is becoming an industry standard, as we move to the era of cloud native application development, which is about to come.
Hawkular is an open source monitoring project that is the successor to JBoss ON (RHQ). It provides REST services for collecting and storing metrics and for alerting. Hawkular started in 2014 and provides solutions for monitoring containers, applications, middleware, and IoT devices. It includes projects for services and alerts, metrics storage, and formerly application performance monitoring (which is now handled by Jaeger). Hawkular integrates with ManageIQ and is used to provide middleware management within CloudForms.
This document discusses Complex Event Processing (CEP) using Esper. It defines CEP as detecting patterns among events. Esper is an open source CEP engine that provides an SQL-like Event Processing Language (EPL) to define queries over event streams. The document outlines Esper's architecture, features like filtering, windows, aggregation, and joins. It provides examples of EPL queries for topics detection, continuous queries, and pattern matching.
2. 소개
•
Real-time CEP(Complex Event Processing) Platform Engineer
•
Hadoop기반 Big Data 플랫폼 개발
•
Software Architect, Development, Testing, Operation
•
Performance Management
•
Korea JBoss User Group 커뮤니티 부운영자
•
한국자바개발자협의회(JCO) 회원
•
Redhat JBoss RHQ Contributor - 한글화 작업
Apache Hadoop
6. Big Data Platform Software Stack
Apache Hadoop
출처: http://www.slideshare.net/babokim/big-data-20111203
7. Real Time Big Data 서비스 요건
•
쇼핑몰 사이트의 사용자 클릭 스트림을 통해 실시간 개인화
•
E-mart 고객이 끌고 다니는 카트를 통해 실시간 개인화 (RFID)
•
대용량 이메일 서버의 스팸 탐지 및 필터링
•
위치 정보 기반 광고 서비스
•
사용자 및 시스템 이벤트를 이용한 실시간 보안 감시
•
시스템 정보 수집을 통한 장비 고장 예측
•
ETL(Extract, Transform, Load)
Apache Hadoop
8. Real Time Big Data 구현을 위한 기술
실시간 로그 수집 및 분배 기술
실시간 이벤트 처리 기술
대용량 데이터의 배치 처리 및 분석 기술
통합 기술
Apache Hadoop
9. Real Time Big Data 구현을 위한 기술
Real-time Distributed Log Aggregator
Complex Event Processing
Distributed Computing
Developer's Engineering
Apache Hadoop
10. Real Time Big Data 구현을 위한 기술
Scribe, Flume 로그 수집기
CEP Esper, S4, Storm 이벤트 처리기
Hadoop 분산 파일 처리 시스템
개발자의 기술력
Apache Hadoop
14. Unstructured Data
•
데이터는 유형, 특성 등으로 잘 저장해야 잘 사용할 수 있다!
•
데이터의 약 20%는 정형 데이터, 80%는 비정형 데이터
•
Blog, SNS, Mobile 등을 통해 비정형 데이터는 더욱더 빠르게 증가 추세
•
80%의 비정형 데이터를 어떻게 분석할 것인가?
•
비정형 데이터를 이용하여 의미 있는 정보를 찾아내는 것은 정형 데이터를 분석하는 것보
다 훨씬 복잡
•
비정형 데이터를 정형화 구조로 변환 작업 필요
•
전체 아키텍쳐에서 가장 적절한 변환 작업 위치 선정 필요
Apache Hadoop
19. Complex Event Processing?
•
CEP는 실시간 대용량 Event 처리 기술
•
CEP는 EDA(Event-driven architecture) 기반 시스템
•
Mutliple event stream에서 발생하는 패턴 감지 기술
Apache Hadoop
22. Complex Event Processing?
•
Algorithmic Stock-Trading
•
Real-time analytics
•
Predictive analytics
•
BAM - Business Activity Monitoring
•
BI - Business intelligence
Apache Hadoop
23. Complex Event Processing?
•
Core Concept 용어 정리
용어
정의
이벤트
실제로 발생한 사건, 일, 메시지
상태의 변경
특정한 액션 또는 상태의 변화를 통해 발생하는 변경이 불가
능한 과거의 기록
이벤트 스트림
시간의 순서대로 연속되는 이벤트의 흐름
시작과 끝이 없는 이벤트의 연속된 흐름
실시간의 특징
현저하게 낮은 수준의 지연
일정한 응답속도
예측 가능한 성능
Apache Hadoop
31. Summary
•
Real-Time Big Data는
• Real-Time과 Analytics의 Convergence
• High Technology
•
아직까지 Real-Time 이벤트 처리 기술인 CEP에 대한 이해 부족으로 인
하여 시장에서 적용 사례 부족
•
향후 Big Data 시장에서 강력한 폭풍이 될 것
Apache Hadoop
32. References
•
Big Data Use-Case: Real-time Dispenser Maintenance
• http://jameskaskade.com/?p=2177
•
Real Time analytics for Big Data: Facebook's New Realtime
Analytics System
• http://tinyurl.com/3cgg6yr
•
Esper Documentation
• http://esper.codehaus.org/esper-4.5.0/doc/reference/en/
html_single/index.html
Apache Hadoop