OpenSearch는 배포형 오픈 소스 검색과 분석 제품군으로 실시간 애플리케이션 모니터링, 로그 분석 및 웹 사이트 검색과 같이 다양한 사용 사례에 사용됩니다. OpenSearch는 데이터 탐색을 쉽게 도와주는 통합 시각화 도구 OpenSearch와 함께 뛰어난 확장성을 지닌 시스템을 제공하여 대량 데이터 볼륨에 빠르게 액세스 및 응답합니다. 이 세션에서는 실제 동작 구조에 대한 설명을 바탕으로 최적화를 하기 위한 방법과 운영상에 발생할 수 있는 이슈에 대해서 알아봅니다.
Kubernetes와 Kubernetes on OpenStack 환경의 비교와 그 구축방법에 대해서 알아봅니다.
1. 클라우드 동향
2. Kubernetes vs Kubernetes on OpenStack
3. Kubernetes on OpenStack 구축 방벙
4. Kubernetes on OpenStack 운영 방법
마이크로서비스 스타일로 만들어진 시스템을 모노리틱 스타일로 이관한 사례와 함께 스프링을 이용해 모듈형 모노리스(modular monoliths)를 만든 경험을 바탕으로 모노리틱/마이크로서비스 보다 본질적인 문제를 제기하고, 문제 해결을 위한 아이디어와 코드를 공유합니다.
https://github.com/arawn/building-modular-monoliths-using-spring
이 자료는 2019년 KSUG 세미나에서 진행한 "잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다"를 기반으로 몇가지 내용을 추가하고, 전개 방식을 다듬어 조금 더 친절하게 만들어졌습니다.
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...Amazon Web Services Korea
서비스 런칭을 위해 라이온하트와 카카오게임즈가 어떻게 최적 성능의 인스턴스를 선택하고, Windows 운영 체제를 최적화하며, 왜 Amazon Aurora를 기본 데이터베이스로 채택하였는지를 설명합니다. 또한, 출시부터 운영까지의 과정에서 MMORPG가 어떻게 AWS 상에서 설계되고, 게임 서버 성능을 극대할 수 있었는지에 대해 전달해드립니다.
OpenSearch는 배포형 오픈 소스 검색과 분석 제품군으로 실시간 애플리케이션 모니터링, 로그 분석 및 웹 사이트 검색과 같이 다양한 사용 사례에 사용됩니다. OpenSearch는 데이터 탐색을 쉽게 도와주는 통합 시각화 도구 OpenSearch와 함께 뛰어난 확장성을 지닌 시스템을 제공하여 대량 데이터 볼륨에 빠르게 액세스 및 응답합니다. 이 세션에서는 실제 동작 구조에 대한 설명을 바탕으로 최적화를 하기 위한 방법과 운영상에 발생할 수 있는 이슈에 대해서 알아봅니다.
Kubernetes와 Kubernetes on OpenStack 환경의 비교와 그 구축방법에 대해서 알아봅니다.
1. 클라우드 동향
2. Kubernetes vs Kubernetes on OpenStack
3. Kubernetes on OpenStack 구축 방벙
4. Kubernetes on OpenStack 운영 방법
마이크로서비스 스타일로 만들어진 시스템을 모노리틱 스타일로 이관한 사례와 함께 스프링을 이용해 모듈형 모노리스(modular monoliths)를 만든 경험을 바탕으로 모노리틱/마이크로서비스 보다 본질적인 문제를 제기하고, 문제 해결을 위한 아이디어와 코드를 공유합니다.
https://github.com/arawn/building-modular-monoliths-using-spring
이 자료는 2019년 KSUG 세미나에서 진행한 "잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다"를 기반으로 몇가지 내용을 추가하고, 전개 방식을 다듬어 조금 더 친절하게 만들어졌습니다.
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...Amazon Web Services Korea
서비스 런칭을 위해 라이온하트와 카카오게임즈가 어떻게 최적 성능의 인스턴스를 선택하고, Windows 운영 체제를 최적화하며, 왜 Amazon Aurora를 기본 데이터베이스로 채택하였는지를 설명합니다. 또한, 출시부터 운영까지의 과정에서 MMORPG가 어떻게 AWS 상에서 설계되고, 게임 서버 성능을 극대할 수 있었는지에 대해 전달해드립니다.
다양한 하둡에코 소프트웨어 성능을 검증하려는 목적으로 성능 테스트 환경을 구성해보았습니다. ELK, JMeter를 활용해 구성했고 Kafka에 적용해 보았습니다.
프로젝트에서 요구되는 성능요건을 고려해 다양한 옵션을 조정해 시뮬레이션 해볼수 있습니다.
처음 적용한 뒤 2년 정도가 지났지만, kafka 만이 아니다 다른 Hadoop eco 및 Custom Solution에도 유용하게 활용 가능하겠습니다.
오픈 소스 Actor Framework 인 Akka.NET 을 통해 온라인 게임 서버를 어떻게 구현할 수 있는지를 설명합니다. Actor Model 에 대한 기본 이해부터 Scale-out 가능한 게임 서버 구축까지 전반적인 내용에 대해 알 수 있습니다. 설명을 위해 클라이언트는 Unity3D 를 사용할 예정입니다.
1일 수천대의 서버에서 발생하는 30~50억건의 Log와 Metric을 처리하는 Planet Mon 을 지탱하는 기술인 Collection(Collectd, NXlog), Transport(Kakfa, Logstash), Log Stream Analytics, Storage(Elasticsearch), Visualization을 구성하는 Architecture에 대해 설명드리고 제가 개발한 Log Stream Analytics 서버들의 구현 기술에 대해 좀더 상세히 설명합니다.
기존에 저희 회사에서 사용하던 모니터링은 Zabbix 였습니다.
컨테이너 모니터링 부분으로 옮겨가면서 변화가 필요하였고, 이에 대해서 프로메테우스를 활용한 모니터링 방법을 자연스럽게 고민하게 되었습니다.
이에 이영주님께서 테크세션을 진행하였고, 이에 발표자료를 올립니다.
5개의 부분으로 구성되어 있으며, 세팅 방법에 대한 내용까지 포함합니다.
01. Prometheus?
02. Usage
03. Alertmanager
04. Cluster
05. Performance
2018년도 Amazon AWS re:Invent Machine Learning 부분에 대한 요약을 오픈소스컨설팅 서경빈(AWS SA)님이 해주셨습니다.
사내 발표 때 아주 쉽게 설명해주셔서 좋았는데, 해당 내용은 Tech Blog에서도 확인이 가능합니다.
https://tech.osci.kr/2018/12/06/50693623/
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트Ji-Woong Choi
Docker를 활용하여 Gitlab CI/CD 설치 구성 및 샘플 테스트를 위한 가이드 문서이며, Docker 및 Gitlab에 대한 개요 및 사용법에 대해서는 다루지 않습니다. Docker image를 이용 Gitlab 및 Gitlab CI/CD 설치 및 구성 후 Sample Spring boot web application을 이용하여 소스 변경에 따른 commit이 발생 했을 때 Gitlab CI/CD 기능을 통해 application 테스트, 빌드, 배포까지의 일련의 과정이 자동으로 진행되는지를 테스트 하는 내용입니다.
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항Ji-Woong Choi
Cloud 기반으로 U2C(Unix to Cloud),U2L(Unix to Linux) 마이그레이션에 대한 가이드 라인과 사이징 관련 고려 사항에 대해 설명한 자료입니다.
많은 전환 프로젝트에서 추출된 경험치가 들어가 있으며, 전환별 난이도 및 고려사항이 들어가 있습니다.
장소 : 미국 보스턴 Hynes Convention Center
일시 : 2017년 5월 6일 ~ 11일 (미국 동부 시각)
참가 인원 : 5000명 이상
참가 업체 : 1014개
참가국 : 63개국
세션 수 : 750여 개(이전 Summit 대비 약 250여 개 증가)
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick GuideJi-Woong Choi
본 문서는 RHEL에 내장된 재해복구솔루션 ReaR (Relax and Recover)를 이용하여 OS 영역의 데이터를 백업하고 복구하는 방법을 다루고 있습니다. ReaR는 iso를 비롯한 다양한 백업 데이터 포맷을 지원하나, 이 문서에서는 CD/DVD 미디어 반입/보관이 보안상 대부분 허용되지 않는 기업 환경에서도 원활히 사용할 수 있는 PXE boot를 지원하는 포맷으로 ReaR 백업 데이터를 생성하고 복구하는 방법만을 자세히 설명합니다.
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-RegionJi-Woong Choi
OpenStack Ceph & Neutron에 대한 설명을 담고 있습니다.
1. OpenStack
2. How to create instance
3. Ceph
- Ceph
- OpenStack with Ceph
4. Neutron
- Neutron
- How neutron works
5. OpenStack HA- controller- l3 agent
6. OpenStack multi-region
아틀라시안 JIRA를 사용할 때 가장 핵심적으로 해야 할 내용들만 추려서 가이드 문서를 작성하였습니다.
그러한 작업들로는 프로젝트, 스킴(Scheme), 이메일 세팅, 권한 관리, 백업/복구 등이 있습니다.
관리자가 이런 일을 잘 할 수 있도록 핵심적인 내용만으로 구성한 문서를 공유합니다.
레드햇 엔터프라이즈 리눅스 7 기반에 대한 운영자 가이드 기초편을 공유합니다.
부트로더 관리, 패키지, 네트워크, 스토리지 및 크래쉬 덤프 발생에 대한 관리까지 기초 운영 지식에 대한 부분을 본 문서를 통해 얻으실 수 있습니다.
오픈소스컨설팅의 문경윤차장께서 공유해주신 내용입니다.
클라우드 컴퓨팅 기반 기술과 오픈스택(Kvm) 기반 Provisioning Ji-Woong Choi
TTA에 KVM 기반 프로비저닝 기술에 대한 데모 세션을 포함하는 세미나 관련 자료입니다. 클라우드환경으로 가고자 해서 Paas를 어떤 플랫폼위에 올린다면 그리고 가상화 환경이나 클라우드 환경으로 올린다면 어떤 환경으로 올릴것인가를 고민하여야 합니다.
그리고 이 hypervisor중에 cloud 환경에서 가장 주목받는 kvm을 기반으로 하는 두가지 가상화 클라우드 솔루션인 rhev와 openstack을 잠시 살펴볼 것입니다.
그리고 이러한 가상화 클라우드 환경에서 자동화 하는 솔류션을 어떻게 고려해야 하는가를 살펴보고, 그런 솔류션중에 하나인 아테나 피콕에 대해 살펴보겠습니다.
그리고 오픈스택환경하에서 구축해서 사용했던 사용기와 이를 자동화하기위해 개발자들이 사용했던 간단한 ansible provisioning 모습을 시연합니다.
2015년 하반기에는 총 7건의 공유자료를 slideshare에 게시하였습니다.
오픈스택, pacemaker, Docker 등과 같은 클라우드 인프라 구축 기술 정보를 만나 보세요.
- 2015. 07 ~ 2016. 03사이의 크리티컬 이슈 해결방안
- 유용한 팁 정보 등의 내용
6. •실시간 분포도
•다이나믹 프로파일링
•트랜잭션 추적
•장애의 진단과 분석
•성능 개선
•안정화
• CPU, 메모리 사용량
• DB 커넥션
• 파일 IO
• 동시 사용자
• 응답시간
• 실시간 처리 현황
서비스
모니터링
리소스
모니터링
Xlog와
트랜잭션
프로파일링
장애 분석 및
해결
9. 아래 링크를 통해 패키지 다운로드 후 압축 해제로 기본 설치
(모든 컴포넌트는 사전에 jdk 설치 필요)
https://github.com/scouter-project/scouter/release
server(collector) Agent가 전송한 데이터 수집/처리
agent.host OS의 CPU, Memory, Disk 등의 성능 정보 전송
agent.java 실시간 서비스 성능 정보, Heap Memory, Thread 등 Java 성능 정보
agent.java_6_7 For java6, java7
agent.batch 배치 잡 모니터링 참고
webapp rest api 독립 서버. server 에 embedded 로 실행 가능 참고
10. db_dir=/scouter/server/data/ # 수집 된 data 저장 경로
log_dir=/scouter/server/logs/ # log directory
net_udp_listen_port=6100 # udp port
net_tcp_listen_port=6100 # tcp port
–Xms2048m –Xmx2048m # 서버 환경에 맞는 메모리 설정 default -Xmx512m
스카우터 서버의 기동과 중지
$scouter_home/server/startup.sh
$scouter_home/server/stop.sh
프로세스 상태 확인
# ps ax | grep scouter-server | grep -v grep
6927 ? Sl 43:48 java -Xmx512m -classpath ./scouter-server-boot.jar scouter.boot.Boot ./lib
11.
12. net_collector_ip=127.0.0.1 # Collector의 IP
net_collector_udp_port=6100 # Collector 서버 udp port
Net_collector_tcp_port=6100 # Collector 서버 tcp port
cpu_warning_pct=80 # CPU 경고 임계치
cpu_fatal_pct=85 # CPU 에러 임계치
cpu_check_period_ms=60000 # CPU 감시 주기 (ms)
cpu_fatal_history=3 # CPU 알람 누적 카운트
cpu_alert_interval_ms=300000 # CPU 알람 주기 (ms)
disk_warning_pct=88 # CPU 경고 임계치 (%)
disk_fatal_pct=92 # CPU 에러 임계치 (%)
스카우터 서버의 기동과 중지
# cd scouter_home/server/agent.host/
# ./host.sh
# ./stop.sh
프로세스 상태 확인
# ps ax | grep scouter.host | grep -v grep
24780 ? Sl 13:54 java -classpath ./scouter.host.jar scouter.boot.Boot ./lib
13. obj_name=tomcat_1 # 감시 대상 서버 별칭
net_collector_ip=127.0.0.1 # Collector의 IP
net_collector_udp_port=6100 # Collector udp Listen port
net_collector_tcp_port=6100 # Collector tcp Listen port
hook_method_patterns=sample.mybiz.*Biz.*,sample.service.*Service.*
trace_http_client_ip_header_key=X-Forwarded-For
profile_spring_controller_method_parameter_enabled=false
hook_exception_class_patterns=my.exception.TypedException
profile_fullstack_hooked_exception_enabled=true
hook_exception_handler_method_patterns=my.AbstractAPIController.fallbackHandler,my.ApiExceptionLoggingFilter.handleNotFound
ErrorResponse
hook_exception_hanlder_exclude_class_patterns=exception.BizException
14. Tomcat catalina.sh
export AGENT_HOME="/scouter_home/agent.java/“ # the location of scouter.agent.jar
if [ "$1" = "start" -o "$1" = "run" ]; then
export JAVA_OPTS="$JAVA_OPTS -javaagent:$AGENT_HOME/scouter.agent.jar"
export JAVA_OPTS="$JAVA_OPTS -Dscouter.config=$AGENT_HOME/conf/scouter.conf"
fi
JBoss env.sh
export JAVA_OPTS=" $JAVA_OPTS -Djboss.modules.system.pkgs=org.jboss.byteman,scouter"
export JAVA_OPTS=" $JAVA_OPTS -Dscouter.config=/scouter_home/agent.java/conf/jboss63.conf"
export JAVA_OPTS=" $JAVA_OPTS -javaagent:/ scouter_home /agent.java/scouter.agent.jar"
# ps ax | grep java
4190 ? Sl 22:28 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat_1//conf/logging.properties -
Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -javaagent:/home/kho625/scouter/agent.java//scouter.agent.jar -
Dscouter.config=/home/kho625/scouter/agent.java//conf/scouter.conf -Djdk.tls.ephemeralDHKeySize=2048 -
Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -
classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat_1/ -Dcatalina.home=/usr/local/tomcat -
Djava.io.tmpdir=/usr/local/tomcat_1//temp org.apache.catalina.startup.Bootstrap star
독립 실행이 아닌 WAS 실행 시 attach 되어 실행
15. 아래 링크를 통해 패키지 다운로드
(사전에 jdk 설치 필요, scouter.client 중 모니터링 PC 환경에 맞는 버전으로 다운)
https://github.com/scouter-project/scouter/release
윈도우의 경우 scouter.exe 실행
16. 1. 서버 접속 (collector IP:TCP port)
default 계정정보 (admin/admin)
2. 실행 완료 초기 화면
19. 무엇을 모니터링 할 것인가?
J2EE 시스템 운영 상태 모니터링을 위해 필요한 각종 데이터를 서로 유기적으로 배치/제공하며,
유기적으로 배치된 시스템 상태에 대한 빠른 판단 및 효과적인 제어를 도움.
시스템 사용자 정보
• 통신 단말 사용자 수
• 방문자 수
• 액티브 사용자 수
시스템 처리 상태
• 초당 처리 건수
• 시간당 호출 건수
• 평균 응답시간
자원상태
• 시스템 Memory, CPU 사용량
• JVM CPU 사용량
• Heap 메모리 사용량
장애/에러
• 시스템 장애
• 프로그램 에러
25. 대시보드 정보
임계치에 대한 알람 발생시 이를 감지, 해당 이벤트
를 슬랙, 텔레그램, E-mail 등을 통해 관리자에게 알림으로써
빠른 장애조치를 도움.
26. 대시보드 정보
액티브 서비스 : Java 애플리케이션이 현재 처리중인 트랜잭션
화면을 통해 사용자는 현 시점의 Java 어플리케이션 내부의
액티브 서비스 스냅 샷 정보를 확인할 수 있다.
trace_
activeserivce_
yellow_time
3000
Active
Thread
Warning
Time(ms)
trace_
activeservice_
red_time
8000
Active
Thread Fatal
Time(ms)
32. 대시보드 정보
개별 트랜잭션의 응답시간(ELAPSED) 뿐만 아니라,
CPU소요시간. 응답시간 등의 값을 세로축으로 하고,
그 값을 시간의 변화(가로축)에 따라 점 형태의 분포도로 표현
33. Xlog 상세 정보
Xlog 화면 설명 안내 링크
Xlog Filter 원하는 조건의 XLog 점들만 보여지도록 하는 기능
only SQL SQL을 수행한 Xlog만 필터링
only API call 외부호출을 수행한 Xlog만 필터링
only error Error가 발생한 Xlog만 필터링
Search Xlog
38. Performance Counter 시간에 따라 변하는 값을 실시간 차트 형태로 보여 줌 (시계열 성능 메트릭)
Object Request 원하는 시점에 사용자가 각 Object들의 특정 정보를 리스트 형태로 보여줌
대시보드 화면구성 – 차트의 종류
39. HOST(OS) 모니터링
HOST > Performance Counter
항 목 단 위 설 명
CPU % CPU 사용률
Memory | ActualUsed MB 실제 사용 메모리
Memory | Available MB 사용 가능 메모리
Memory | Total MB 전체 메모리
Memory % Host 별 메모리 사용률
Net | CLOSE_WAIT Cnt CLOSE 대기
Net | ESTABLISHED Cnt ESTABLISED 된 Connection 수
Net | FIN_WAIT Cnt FIN_WAIT 상태 Connection 수
Net | InBound Cnt InBound 패킷 수
Net | OutBound Cnt OutBound 패킷 수
Net | TIME_WAIT cnt TIME_WAIT 상태의 Connection 수
Swap | PageIn Page Swap 파일에 write한 Page 수
Swap | PageOut Page Swap 파일에 read한 Page 수
Swap | Total MB Swap 메모리 사이즈
Swap | Used MB Swap 메모리 사용량
Swap % Host 별 Swap 메모리 사용률
40. HOST(OS) 모니터링
HOST > Object request
항 목 설 명
Env OS의 환경변수 조회
Top 요청 시점의 Process 조회
Disk Usage Disk 사용량 조회
41. JAVA 모니터링
java > Performance Counter
항 목 단 위 설 명
Active Service Cnt 현재 처리중인 서비스 개수
Elapsed 90% Ms 상위 90% 서비스의 평균 응답시간
Elapsed Time ms 평균 응답시간
Error Rate % 에러가 발생한 서비스 비율
GC Count Cnt Garbage Collection 횟수
GC Time ms GC 수행에 소요된 시간
Heap Used Ms Heap 메모리 사용량
Perm % % Permanent Generation 사용 비율
Perm Used Mb Permanent Generation 사용량
ProcessCpu % JVM 프로세스 CPU 사용률
Recent User cnt 최근 5분 동안 방문한 Unique 사용자 수
Service Count cnt/min 서비스 호출 건수
TPS Tps 초당 트랜잭션 처리 건수
Heap Memory MB Heap 메모리 사용률 통계
Active Service EQ 실행 중인 서비스 이퀄라이저
Active Service Vertical EQ 실행 중인 서비스 가상 이퀄라이저
Active Service List 현재 실행중인 서비스 목록
Active Speed 현재 실행중인 서비스 속도
XLog sec 트랜잭션 수행 지표
24H Service Count cnt/min 24시간 서비스 호출 건수
Today Visitor 금일 방문자 수
Summary 요약정보
42. JAVA 모니터링
java > Object Request
항 목 설 명
Thread List 해당 Java Process의 Thread 목록
Active Service List 요청 시점에 실행중인 Service 목록
Loaded Class List
로드한 Class의 목록을 보여 줌
변경한 Hooking 옵션을 Runtime에 적용하기 위해 Class를
Redefine 하는 기능을 제공
Heap Histogram Heap Histogram을 보여줌
Thread Dump Thread Dump를 보여줌
Env JVM 의 환경변수를 조회
Socket 해당 Process에서 연결한 Socket의 정보를 보여줌
System.GC System.GC()를 호출
Heap Dump Heap dump를 생성
File Dump 위 기능들을 수행 하여 파일로 저장
45. 서비스 연계 추적
http로 요청하는 서비스간 연결 추적이 가능
/agent.java/conf/scouter.conf 수정 필요
trace_interservice_enabled=true
추적 방법
1. XLog List에서 transaction 확인.
2. transaction의 txid를 선택하여 서비스 호출 연계 내용확인.
3. 서비스 연계 내용을 확인 후 그 하위의 연계를 확인하기를 원한다면, 해당
transaction의 call 연계 부분을 클릭하여 이후 서비스 연계를 확인 가능.
46. Service Dump
응답 지연과 같은 성능 장애 발생 시
상황 파악을 위한 Thread Dump 제공
(Multi thread 환경에서 thread 상태를
확인 하기 위해 사용)
47.
48. Scouter Plugin
Scouter 를 확장 가능하게 만들어주는 Plugin의 기능을 통하여, 특정 데이터를 선처리 하거나
업무적으로 의미 있는 데이터를 Xlog나 프로파일에 추가 가능
제공되는 Plugin 목록
Sample
scouter-plugin-server-null : 수집데이터를 단순히 출력해 주는 sample plugin
Alert
scouter-plugin-server-email : Scouter에서 발생하는 alert를 email로 전송
scouter-plugin-server-telegram : Scouter에서 발생하는 alert를 telegram으로 전송
scouter-plugin-server-slack : Scouter에서 발생하는 alert를 slack으로 전송
그 외 line, dingtalk 연동 가능
Counter
scouter-plugin-server-influxdb : Scouter의 성능 counter 데이터를 시계열 DB인 influxDB로 연동
49. Scouter Plugin
Scouter 를 확장 가능하게 만들어주는 Plugin의 기능을 통하여, 특정 데이터를 선처리 하거나
업무적으로 의미 있는 데이터를 Xlog나 프로파일에 추가 가능
현재 지원되는 Alert의 종류
Agent의 CPU (warning / fatal)
Agent의 Memory (warning / fatal)
Agent의 Disk (warning / fatal)
신규 Agent 연결
Agent의 연결 해제
Agent의 재접속
응답시간의 임계치 초과
GC Time의 임계치 초과
Thread 갯수의 임계치 초과
50. E-mail 연동
Scouter Server Plugin 형태로 Email을 통해서 Alert 메시지를 Email으로 전송하는 기능
https://github.com/scouter-contrib/scouter-plugin-server-alert-email.git
, ons-email-1.4.jar
• Javax.mail-1.5.2.jar
소스 코드 빌드 후 target dir/lib 하위에 아래 라이브러리와 함께
activation-1.1.1.jar, commons-email-1.4.jar, javax.mail-1.5.2.jar
scouter-plugin-server-alert-email-1.X.X.jar 파일을 $scouter_HOME/server/lib
51. E-mail 연동
server/conf/scouter.conf 설정 가이드
, ons-email-1.4.jar
• Javax.mail-1.5.2.jar
ext_plugin_email_send_alert Email 발송 여부 (true / false) - 기본 값은 false
ext_plugin_email_debug 로깅 여부 - 기본 값은 false
ext_plugin_email_level 수신 레벨(0 : INFO, 1 : WARN, 2 : ERROR, 3 : FATAL) - 기본 값은 0
ext_plugin_email_smtp_hostname SMTP 서버의 IP 또는 Domain - 기본 값은 smtp.gmail.com
ext_plugin_email_smtp_port SMTP Port - 기본 값은 587
ext_plugin_email_smtpauth_enabled SMTP 인증 사용 여부 - 기본 값은 true
ext_plugin_email_username Email 사용자 계정
ext_plugin_email_password Email 사용자 비밀번호
ext_plugin_email_ssl_enabled SSL 사용 여부 - 기본 값은 true
ext_plugin_email_starttls_enabled STARTTLS 사용 여부 - 기본 값은 true
ext_plugin_email_from_address Email 발신자 계정
ext_plugin_email_to_address Email 수신 계정(다중 사용자 지정 시 ',' 구분자 사용)
ext_plugin_email_cc_address Email 참조 수신 계정(다중 사용자 지정 시 ',' 구분자 사용)
52. E-mail 연동
server/conf/scouter.conf 설정 가이드
, ons-email-1.4.jar
• Javax.mail-1.5.2.jar
ext_plugin_elapsed_time_threshold
응답시간의 임계치 (ms) - 기본 값은 0으로, 0일때 응답시간의 임계치 초과 여부를 확인하지 않는다.
ext_plugin_gc_time_threshold
GC Time의 임계치 (ms) - 기본 값은 0으로, 0일때 GC Time의 임계치 초과 여부를 확인하지 않는다.
ext_plugin_thread_count_threshold
Thread Count의 임계치 - 기본 값은 0으로, 0일때 Thread Count의 임계치 초과 여부를 확인하지 않는다.
ext_plugin_ignore_name_patterns
Alert 메시지 발송에서 제외할 NAME 패턴 목록 (',' 구분자 사용, * (wildcard) 사용 가능)
ext_plugin_ignore_title_patterns
Alert 메시지 발송에서 제외할 TITLE 패턴 목록 (',' 구분자 사용, * (wildcard) 사용 가능)
ext_plugin_ignore_message_patterns
Alert 메시지 발송에서 제외할 MESSAGE 패턴 목록 (',' 구분자 사용, * (wildcard) 사용 가능)
ext_plugin_ignore_continuous_dup_alert
연속된 동일 Alert을 1시간 동안 제외 - 기본 값은 false
54. ElasticSearch 연동
Scouter Server Plugin 형태로 성능 counter 정보 와 XLOG 정보를 ElasticSearch 로 전송
, ons-email-1.4.jar
• Javax.mail-1.5.2.jar
55. ElasticSearch 연동 설정
ext_plugin_es_enabled = true # elasticsearch 연동 plugin 사용 여부
ext_plugin_es_counter_index = scouter-counter # elasticsearch counter index 명
ext_plugin_es_xlog_index scouter-xlog # elasticsearch xlog index 명
ext_plugin_ex_duration_day = 90 # elasticsearch index 저장 기간
ext_plugin_es_https_enabled = https 사용 여부 (default : http 사용)
ext_plugin_es_cluster_address = http target(elasticsearch) address (default : 127.0.0.1:9200)
엘라스틱서치를 클러스터의 경우 콤마로 구분 ex) 127.0.0.1:9200,127.0.0.1:9201
ext_plugin_es_id = (default : empty)
ext_plugin_es_password = (default : empty)
Deploy
https://github.com/scouter-contrib/scouter-plugin-server-elasticsearch.git
소스 코드 빌드 후 target에 생성 되는 scouter-plugin-server-elasticsearch-x.x.x.jar 와 target/lib에 생
성되는 전체 library를 $scouter_HOME/server/lib 저장하고 scouter server를 재시작.