기술교육 Architecture & Monitoring

Similar documents
목차 1. 노드매니저종류 Java Type SSH Type 노드설정파일및로깅 nodes.xml jeusnm.properties <servername>.properties...

[JEUS 7] eclipse plug-in 연동 1. 개요 Eclipse 와 JEUS 7 연동시필요한 plug-in 제공및환경설정에관한가이드제공하여 Eclipse 에서 JEUS 7 기동및 종료테스트할수있는방법을기술하였습니다. 2. Plug-in 설치 2.1 [Step

개발및운영 Tibero DB Link (Tibero To Oracle) - Local 방식

개발및운영 Tibero Perl 연동

설치및환경설정 JEUS Thread State Notify 설정

튜닝및모니터링 OS 별 TCP Recommend Parameter for WebtoB/JEUS

설치및환경설정 Tibero tbprobe 사용법과원격지포트체크

Linux 권장커널파라미터 1. 커널파라미터별설명및설정방법 1.1 nofile ( max number of open files ) 설명 : 지원되는열린파일수를지정합니다. 기본설정이보통대부분의응용프로그램에대해충분합니다. 이매개 변수에설정된값이너무낮으면파일열기오류, 메모리

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다.

윈백및업그레이드 Tibero Flashback 가이드

SSL 접속테스트 본문서에서 WebtoB 가설치된디렉토리는 [WEBTOBDIR] 로표기하겠습니다.. 윈도우계열과리눅스 / 유닉스계열모두명령은동일하므로윈도우를기준으로설명하도록하겠습니다. 1. WebtoB 설정 1.1 Test 용인증서생성 SSL 접속테스트를위해 Webto

목차 JEUS JNLP Client Sample 가이드 JNLP 란 JNLP의이점 TEST TEST 환경 TEST Sample sample application 셋팅 (ser

목차 1. TABLE MIGRATOR 란? TABLE MIGRATOR 홖경설정 TABLE MIGRATOR 바이너리 Shell 설정 Migrator.Properterties 파일설정 TAB

목차 1. 개요 개요 연동테스트홖경 PowerBuilder Connection Tibero ODBC Driver 설정 PowerBuilder Connection 설정 Tiber

SSL(Secure Socket Layer) 과 TLS(Transport Layer Security) 개요 전자상거래가활발해지면서웹보안이매우중요해지고있으며, 최근정보통신망법의개정으로아무리소상공인이라 도홈페이지운영시개인정보를취급하고있다면아래와같은내용을조치하도록되어있습니다

튜닝및모니터링 HP JVM 튜닝옵션

목차 JEUS EJB Session Bean가이드 stateful session bean stateful sample 가이드 sample source 결과확인 http session에

Microsoft Word - AnyLink Introduction v3.2.3.doc

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

[Brochure] KOR_TunA

Intro to Servlet, EJB, JSP, WS

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

[Brochure] KOR_LENA WAS_

Interstage4 설치가이드

목차 1. 웹서비스의예 테스트환경설치 설치전고려사항 설치할공간확보 테스트환경구축 설치파일준비 설치 Windows에서의설치 Linux 에서

개발및운영 Eclipse 를이용한 ANT 활용방법

튜닝및모니터링 Tibero EVENT 가이드

No Slide Title

목차 1. 개요 현상 문제분석 문제해결

컨설팅사업본부 운영방안

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

Samsung SDS Enterprise Cloud Networking CDN Load Balancer WAN

Microsoft Word - Jeus_System_Architecture.doc

Apache2 + Tomcat 5 + JK2 를 사용한 로드밸런싱과 세션 복제 클러스터링 사이트 구축

J2EE & Web Services iSeminar

.

untitled

목차 1. Tibero 4 설치개요 Install 전 Check 사항 H/W 요구사항 Tibero 4 설치 Tibero 설치폴더생성 Tibero 바이너리압축해제 $T

Tmax

목차 1. TAC 구성준비사항 TAC 구성순서 VirtualBox 으로 CentOS 설치 VirtualBox 에서 TAC 구성

JEUS

JEUS 서버 설정 가이드

Windows Server 2012

기술자료

Microsoft Word - src.doc

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

Interstage5 SOAP서비스 설정 가이드

슬라이드 1

Webtob( 멀티도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

Cloud Friendly System Architecture

untitled

ÃÖÁ¾PDF¿ë

JVM 메모리구조

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

설치및홖경설정 Tibero 4 SP1 TAC 설치 - Windows 홖경

단계

FY2005 LIG

Admin Guide for dummy

6주차.key

untitled

기술교육 SSL 설정및변환방법

vm-웨어-앞부속

ETL_project_best_practice1.ppt

Getting Started Guide

.

Portal_9iAS.ppt [읽기 전용]

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

Microsoft Word - s.doc

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>


Service-Oriented Architecture Copyright Tmax Soft 2005

슬라이드 1

슬라이드 1

목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host) 서버 설정... 9 W7CLIENT (Windows 7 Client) 클라이얶트 설정

1217 WebTrafMon II

.

H_AR_ P

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

APOGEE Insight_KR_Base_3P11

: Symantec Backup Exec System Recovery 8:

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

Citrix Workload Balancing 2.1 설치 가이드

TTA Journal No.157_서체변경.indd

Java Enterprise User Solution JEUS 는웹환경에서애플리케이션을개발, 운용, 실행할수있는플랫폼역할을하면서, 필요한각종서비스들을제공해주는웹어플리케이션서버 (Web Application Server) 입니다. 세계 상용최초로국제표준인 J2EE 1.4

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

Microsoft Word - release note-VRRP_Korean.doc

Analyst Briefing

Install stm32cubemx and st-link utility

PRO1_04E [읽기 전용]

PowerPoint 프레젠테이션

SAMSUNG SDS Cloud Middleware JBoss EAP/WS WildFly Apache Tomcat JEUS WebLogic

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA

Windows 8에서 BioStar 1 설치하기

Sun Java System Messaging Server 63 64

untitled

vm-웨어-01장

J2EE Concepts

JEUS 소개

consulting

Transcription:

Architecture & Monitoring 2014. 12. 05

목차 Architecture... 3 1. 개요... 3 1.1 JEUS7 Spec... 3 1.2 도메인아키텍처... 3 2. 구성요소... 4 2.1 Domain Administration Server(DAS)... 5 2.2 Managed Server(MS)... 5 2.3 Cluster... 5 3. NodeManager... 6 4. JEUS6 VS JEUS7... 7 4.1 논리적구성단위... 7 4.2 세션서버... 8 4.3 Graceful Redeploy... 9 4.4 Launcher... 9 5. Multicast 와 Virtual Multicast... 10 Monitoring... 12 1. 서버모니터링... 13 2. Thread 모니터링... 15 3. Connection Pool 모니터링... 19 4. Web 모니터링... 22 5. JMS 모니터링... 24 6. Application 모니터링... 27 2

Architecture 본장에서는 JEUS7 의아키텍처와구성요소및기존 JEUS6 와의차이점에대해설명합니다. 1. 개요 1.1 JEUS7 Spec JEUS7 은 Java EE6 Spec 을구현한제품으로주요 Spec 사항은다음과같습니다. 분류 Spec 분류 Spec EJB(Enterprise JavaBeans) 3.1 Servlet 3.0 JMS(Java Message Service) 1.1 Web Application JSP(Java Server Pages) 2.1 Enterprise Application Bean Validation 1.0 JSF(Java Server Faces) 2.0 CDI(Contexts and Dependency JAX-RS(Java API for RESTful Web Injection for Java) 1.0 Services) 1.1 JCA(Java EE Connector Architecture) 1.6 Web Services JAX-WS(Java API for XML-Based Web Services) 2.2 Java EE-related Specs JDBC(Java Database Connectivity) 4.0 JAXB(Java Architecture for XML Binding) 2.2 1.1.1 Servlet 3.0 특징 Asynchronous 지원 Servlet 2.5 에서는하나의 thread 가클라이언트의요청과응답을처리하는방식으로장시간수행되는클라이언트의요청이많아질경우 thread 부족으로인해신규클라이언트들의요청처리가불가능하게됨 Servlet 3.0 에서클라이언트의요청을받아들이는 thread 와실제클라이언트에게응답하는 thread 를분리함으로써 ( 비동기처리 ) 앞서언급한문제해소 비동기처리를위해애플리케이션은 web.xml 이나코드내 Annotation 을사용해서 asyncsupported =true 속성을정의해야함 Annotation 확장 기존 web.xml 에정의한 Servlet 관련설정을 Annotation 으로제공 EX : Servlet 정의 (@WebServlet), Servlet 필터정의 (@WebFilter), 리스너정의 (@WebListener) 등 MultipartConfig 를사용한파일업로드기능표준화 1.2 도메인아키텍처 JEUS7 부터도메인아키텍처가새롭게도입되었습니다. 도메인은서비스에따라여러개의서버와클러스터로 구성된기본관리단위로 Domain Administration Server(DAS), Managed Server(MS), Cluster 로구성됩니다. 3

각도메인마다하나의설정파일 (domain.xml) 을가지며, 도메인간의설정 ( 보안, 세션, 애플리케이션등 ) 공유는불가능합니다. 일반적으로하나의머신에하나의 JEUS(JEUS_HOME) 를설치하는데, 도메인은 JEUS_HOME 에한개이상올수있고, 원격머신의 JEUS(JEUS_HOME) 에걸쳐서설정이가능하다. 즉, 서비스의중요도와부하상황을고려해서도메인을구성해야합니다. 2. 구성요소 본절에서는도메인을구성하는요소인 Domain Administration Server(DAS), Managed Server(MS), Cluster 에관해다룹니 다. 4

2.1 Domain Administration Server(DAS) 각도메인에반드시하나만존재하는서버로주요기능은다음과같습니다. 도메인전체설정관리 도메인내의모든 MS 가다른머신에존재하더라도동일한설정으로구동 : DAS 가기동된상태에서 MS 기동 (DEPENDENT 상태 ) 시, DAS 가현재버전의설정파일을 MS 에전송 : DAS 가기동되지않은상태에서 MS 기동 (INDEPENDENT 상태 ) 시, 로컬캐시에존재하는설정파일로기동되고 DAS 가기동될때설정이동기화됨 : 동적설정 ( 운영중서버재기동없이실시간반영 ) 변경시각 MS 에전달 도메인내모든애플리케이션관리 애플리케이션상태관리 : MS 의애플리케이션상태와 DAS 에서관리하고있는애플리케이션의상태가동일하도록유지시킴 애플리케이션파일관리 : DAS 에서는 MS 가기동될때와 MS 에서애플리케이션이 deploy 되는시점에파일을동기화 : MS 가기동될때 DAS 의부재로애플리케이션파일을동기화하지못했다면 DAS 가기동될때 MS 에서 deploy 에실패한애플리케이션에대해다시동기화 서버나클러스터에애플리케이션 deploy 애플리케이션과관련된모든명령은 DAS 를통해서만동작가능 WebAdmin 과 jeusadmin 을통해도메인내의모든서버, 애플리케이션, 리소스모니터링및제어 각 MS 로 jeusadmin 접속이가능하지만설정변경은 DAS 를통해서해야함 2.2 Managed Server(MS) 도메인에여러개존재할수있고, 실제애플리케이션을서비스하는서버로주요기능은다음과같습니다. EJB, Servlet, JMS 엔진서비스 : 사용자가 deploy 한컴포넌트관리및서비스 JNDI 서비스 : 애플리케이션에서 JEUS 에등록된객체들을정해진이름으로찾아서사용할수있는방법제공 세션클러스터링서비스 : Servlet 엔진들사이에 HTTP 세션이유지될수있도록하는서비스로분산식세션클러스터링지원 Management 서비스 : Java Management Extensions(JMX) 를통해서비스, 컴포넌트, 애플리케이션관리및모니터링서비스 Scheduler 서비스 : 사용자가지정한시간에특정작업들을실행 Logging 서비스 : 서버에서발생하는이벤트와에러를파일로기록 DB 연결서비스 : 애플리케이션이 JDBC Connection Pool 을통해서 DB 에접근할수있도록지원 트랜잭션서비스 : JEUS 트랜잭션매니저를통해애플리케이션이트랜잭션을사용할수있도록지원 2.3 Cluster 클러스터는부하분산 (Load Balancing) 과장애극복 (Failover) 을위해동일한서비스를수행하는여러개의서버들의집합이다. 클러스터내의서버들은멀티캐스트를사용하여서로의상태를공유하고, 부하에따라클러스터에동적으로서버추가및삭제가가능합니다. 클러스터구성시, 클러스터에속한모든서버들에는동일애플리케이션및동일서비스와리소스등록을권장합니다. 5

3. NodeManager 노드매니저는 JEUS_HOME 마다하나씩존재하여해당머신에있는서버프로세스를관리한다. 부가적인기능이기 때문에사용하지않더라도서비스에영향이없으나안정적인운영을위해사용을권장합니다. 주요기능은다음과 같습니다. DAS 와다른원격머신에있는서버시작, 종료 DAS 를통해서 WebAdmin 이나 jeusadmin 의 startserver/stopserver 명령으로서버실행가능 노드매니저를사용하지않을경우기동하려는서버가속한원격머신에접속해서스크립트로실행 서버가비정상종료시재기동노드매니저의종류로 Java 타입과 SSH 타입으로구분됩니다. Java 타입노드매니저 Java 로구현된노드매니저로 OS 에상관없이실행 서버가비정상종료시, 노드매니저가주체적으로서버의상태를감지하여재기동 SSH 타입노드매니저 6

OS 의 SSH 를사용하는노드매니저로 Windows 에서사용할수없음서버가비정상종료시, DAS 에서 GroupManagementService(GMS) 를통해서버의상태를감지하고 SSH 타입노드매니저를통해서버재기동다른머신에 JEUS 설치가능 4. JEUS6 VS JEUS7 본절에서는 JEUS6 와 JEUS7 의구조적인차이점과주요변경사항에대해설명합니다. 아래는 JEUS6 와 JEUS7 의대략적인아키텍처비교표입니다. JEUS6 JEUS7 논리적구성의최상위단위 Node Domain 최상위단위의구성요소 Manager Container Domain Administration Server Managed Server, Cluster Node 의개념논리적구성의최상위단위 JEUS 설치 (JEUS_HOME) 단위 Cluster 의개념 Node 간부하분산과 Failover 를위한 Node 들과의연결구조 MS 간부하분산과 Failover 를위한 MS 들간의연결구조 Servlet, EJB, JMS 엔진서비스주체 Container Managed Server 주요환경파일 JEUSMain.xml, 각엔진설정파일 (EJBMain.xml, WEBMain.xml, JMSMain.xml) domain.xml 노드매니저설정파일 (nodes.xml) 세션관리 Manager( 중앙식 ), Container( 분산식 ) Managed Server( 분산식 ) 공통서비스주체 Manager Managed Server 시스템모니터링및재기동 Manager Node Manager 설정관리 배포관리 각노드마다설정 Admin Tools + xml 파일직접수정각노드마다배포 Admin Tools + xml 파일직접수정 중앙집중도메인설정 DAS + Admin Tools 중앙집중도메인배포 DAS + Admin Tools Context Group 제공미제공 Launcher 미제공제공 4.1 논리적구성단위 JEUS6 에서 Node 는 Manager 와 Container 들을포괄하는논리적인최상위단위로 JEUS_HOME 에여러개의노드를구성할수있습니다. Manager 의경우 Container 들을 Child Process 로기동및 JNDI 서비스, 외부리소스서비스, 보안서비스등주요기능을담당합니다. 이에실제서비스를처리하는 Container 는 Manager 와동일 Node 에구성되어야하고 Manager 에의존적인특징이있습니다. 7

JEUS7 에서 Domain 은 DAS 와 MS 를포괄하는논리적인최상위단위로도메인내환경설정과애플리케이션관리 등은 DAS 가담당합니다. MS 는 DAS 가종료되더라도독립적으로서비스처리가가능하고 ( 단, 환경설정이나 애플리케이션추가및변경불가능 ), DAS 와다른머신에구성할수있습니다. 4.2 세션서버 세션서버는 Servlet 또는 EJB 엔진들사이에서클라이언트의 HTTP 세션이유지될수있도록합니다. 즉, 요청을처리하던 Servlet 엔진이다운되어도다른 Servlet 엔진에서이후의요청처리시기존세션이끊어지지않도록합니다. JEUS6 까지는 JEUS Manager 에서세션을관리하고백업하는중앙세션서버를주로사용하였으나세션데이터가많아질수록 Manager 의부하가가중되는문제가있습니다. JEUS 7 에서는 Servlet 이나 EJB 엔진내에독립적인분산세션서버가존재하여세션을관리하는분산세션서버가사용됩니다. 위그림에서동일한서비스를처리하는 4 개의 MS 를 Cluster 로구성할경우, 별도의설정없이서버들간에분산식세션서버가동작합니다. ( 단, 정식라이선스의경우 JEUS Enterprise Edition 에서가능 ) JEUS6 에서는설정상으로자신의세션데이터를백업할서버를지정해서고정된백업엔진이동작하는구조였으나 JEUS7 에서는백업서버를설정하지않아도 JEUS 의 GMS(Group Management Service) 를기반으로자동으로백업을지정합니다. 예를들어, MS1 의 Servlet 엔진에대한백업서버는같은머신에있는 MS2 가아닌 ( 머신장애가발생할경우를대비 ) 원격서버의 MS3 또는 MS4 로지정됩니다. 8

추가적으로, JEUS 에서제공하는기본적인클러스터링을포함하여서버의구성과관계없이세션클러스터링이 지원되기때문에클러스터간의세션공유및한서버내에서여러개의세션클러스터링을구성할수있습니다. 세션관련자세한사항은, JEUS7 매뉴얼 > JEUS 세션관리안내서를참고합니다. 4.3 Graceful Redeploy JEUS7 에서추가된기능으로현재서비스중인애플리케이션의중단없이새로 Redeploy 한애플리케이션으로무중단 서비스를제공하는메커니즘입니다. 해당기능을사용하기위한애플리케이션의조건은다음과같습니다. 애플리케이션을패키징할때 META-INF/MANIFEST.MF 파일에아래필드추가. Redeploy 대상이되는 애플리케이션에도추가필요 Jeus-Use-Graceful-Redeploy: true // MANIFEST.MF 파일맨아랫줄에는 new line(\n) 이있어야함 패키징된파일의 last modified time 이서로달라야함 EJB 의경우 Session Bean 에대해서만 Graceful Redeploy 지원위그림에서볼수있듯이, 새로운애플리케이션을 Redeploy 할때기존애플리케이션을바로 Undeploy 하는것이아니고일정시간동안두애플리케이션이동시에 JVM 에존재하게됩니다. 따라서 OutOfMemory 가발생하지않도록 JVM 의 PermGen 사이즈에대해미리산정해야합니다. 4.4 Launcher Launcher 는 JEUS7 에서추가된개념으로도메인설정파일을읽어서서버를기동시키는역할을하는프로세스입니다. 스크립트를사용해서서버를기동하는경우 Launcher 가실행되는데, 기본적으로 SERVER_HOME/logs/JeusLauncher.log 에서버부팅시발생한이벤트를 logging 합니다. [ 스크립트로 DAS 기동 ] 9

stech:/home/jeus/jeus7/bin>startdomainadminserver -u administrator -p jeusadmin // startdomainadminserver -u JEUS 계정 p JEUS 패스워드... [DAS 기동중프로세스확인 ] stech:/home/jeus/jeus7/bin>ps -ef grep java grep jeus // Launcher 프로세스는 DAS 기동이완료되면종료 // DAS 프로세스를 fork 시킴 5. Multicast 와 Virtual Multicast JEUS7 에서서버들간에위치와상태를공유하기위해 Multicast(UDP Multicast) 를사용합니다. JEUS 에서기본적으로사용하는 Multicast IP 는 230.30.1.1, Port 는 3030 으로해당 Multicast 주소에대해라우팅설정이필요한경우가있습니다. 서버간에 Multicast 가가능한지확인하는방법은 JEUS_HOME/bin 디렉터리에있는 mcastsender 와 mcastreceiver 스크립트를사용하여테스트할수있습니다. [192.168.XX.1 서버 ] stech:/home/jeus/jeus7/bin>mcastsender -addr 224.0.0.1 -port 3030 // mcastsender -addr 224.0.0.1 -port 3030 1 == 0.0.0.0/0.0.0.0 : 3030, bound to /192.168.XX.1 2 == 0.0.0.0/0.0.0.0 : 3030, bound to /192.168.XX.1 3 == 0.0.0.0/0.0.0.0 : 3030, bound to /127.0.0.1 > ====test // 임의의메시지입력 [192.168.XX.2 서버 ] 10

infrasvr:/home/jeus/jeus7/bin>mcastreceiver -addr 224.0.0.1 -port 3030 // mcastreceiver -addr 224.0.0.1 -port 3030 Socket == 0.0.0.0/0.0.0.0 : 3030, bound to /192.168.XX.2 Socket == 0.0.0.0/0.0.0.0 : 3030, bound to /127.0.0.1 ====test [sender = 192.168.XX.1 : 3030], [bind_addr=/127.0.0.1] // Sender에서입력한메시지수신 ====test [sender = 192.168.XX.1 : 3030], [bind_addr=/192.168.xx.2] ====test [sender = 192.168.XX.1 : 3030], [bind_addr=/127.0.0.1] ====test [sender = 192.168.XX.1 : 3030], [bind_addr=/192.168.xx.2] Multicast 를사용할수없는환경이나도메인구성이서브넷을벗어나는경우 Virtual Multicast(TCP Multicast) 로설정해야합니다. Virtual Multicast 사용시, 서버의 IP 와 Port 를이용하여서버들간에정보를공유하게되므로반드시모든서버가 Listen IP 와 Port 를명시해야합니다. Virtual Multicast 설정방법은, JEUS7 메뉴얼 > JEUS Domain 안내서 > 5. JEUS 클러스터링을참고합니다. 11

Monitoring 본장에서는 Webadmin 및콘솔관리자에서주요항목에대한모니터링방법을설명합니다. JEUS 관리자에서정상적으로서버의제어와모니터링이가능하기위해 JEUS_HOME 마다 NodeManager 가기동되어있어야합니다. Webadmin DAS 가기동된상태에서 Webadmin (http://das IP:DAS PORT/webadmin) 접속 > Monitoring 메뉴를선택합니다. 콘솔툴 DAS 가기동된상태에서 jeusadmin 에접속후아래와같이 command 를실행하여모니터링이가능합니다. stech:/home/jeus>dsa // jeusadmin 접속 Attempting to connect to 192.168.XX.XX:9736. The connection has been established to Domain Administration Server adminserver in the domain jeus_domain. JEUS7 Administration Tool To view help, use the 'help' command. [DAS]jeus_domain.adminServer>help // 명령어도움말확인 [DAS]jeus_domain.adminServer>help si // 특정명령어도움말확인. help [command-name] [DAS]jeus_domain.adminServer>setserver server1 // 특정 MS만선택 The default server name has been set: server1. [DAS]jeus_domain.adminServer>p // 이전명령어재실행 setserver server1 The default server name has been set: server1. [DAS]jeus_domain.adminServer>si -repeat 3 -interval 2 // 명령어반복실행 (si명령어를 2초간격으로 3번실행 ) [DAS]jeus_domain.adminServer>si -repeat 3 -interval 2 > result.txt // 반복실행한명령어결과를파일로저장 (jeusadmin을실행한경로에파일생성 ) JEUS_HOME/bin/jeusadmin 스크립트에아래옵션설정시콘솔의 table size 조정이가능합니다. -Djeus.console.table.width=120 \ 12

1. 서버모니터링 서버의제어및모니터링방법은다음과같습니다. Webadmin 서버동작상태 (Status) SHUTDOWN STARTING STANDBY RUNNING SUSPENDING 서버가기동되지않았거나정상종료된상태서버가시작명령 ( 실행스크립트나노드매니저에의해서기동 ) 을받고기동중인상태서버에등록된애플리케이션이 deploy 를실패한상태에서서버가기동된상태서버기동이완료되고등록된 Application 이정상적으로서비스가능한상태 RUNNING 상태인서버가 suspend 명령을수행중인상태 SUSPENDED 서버에 deploy 된애플리케이션서비스중지 ( 서비스포트는 Listen 상태 ) RESUMING SHUTTING_DOWN FAILED SUSPENDED 상태의서버가 resume 명령을수행중인상태 서버가종료되고있는상태 서버가비정상종료된상태 1 2 start : 서버시작 Force : 등록된애플리케이션이 RUNNING 상태가아닌경우 (deploy 실패 ) 에도서버를 RUNNING 상태로기동 StandBy : 서버를준비상태로기동. 이상태에서애플리케이션 Distribute 가능 stop : 서버종료 Timeout : Graceful( 현재수행중인요청에대한처리보장 ) Timeout 지정 ( 단위 : 초 ) Force : Graceful 종료없이강제종료 13

3 Graceful : 실행중인모든요청처리완료후종료 resume : 중지된모든애플리케이션을다시시작시켜서비스가능한상태로변경 [2014.09.09 21:00:42][2] [server1-47] [SERVER-0248] The JEUS server is RESUMING. [2014.09.09 21:00:42][2] [server1-47] [Deploy-0098] Starting the application[webapps]. [2014.09.09 21:00:42][2] [server1-47] [WEB-3484] ServletContext[name=webapps, path=/, ctime=tue Sep 09 20:51:15 KST 2014] started successfully. [2014.09.09 21:00:42][2] [server1-47] [Deploy-0099] Successfully started the application[webapps]. 4 suspend : 서비스하고있던모든애플리케이션일시정지 (Listener 는내리지않음 ) [2014.09.09 20:57:44][2] [server1-45] [SERVER-0248] The JEUS server is SUSPENDING. [2014.09.09 20:57:44][2] [server1-45] [WEB-3485] ServletContext[name=webapps, path=/, ctime=tue Sep 09 20:51:15 KST 2014] stopped successfully. [2014.09.09 20:57:44][2] [server1-45] [SERVER-0248] The JEUS server is SUSPENDED. 5 6 dump : 서버의 thread dump 발생 HotSpot JVM : 기본적으로 SERVER_HOME/logs/jvm.log 에생성 IBM JVM : 사용자환경파일 (EX :.profile) 에정의한 JAVACOREDIR 경로에생성. JAVACOREDIR 을지정하지않았을경우노드매니저를실행한경로에생성 garbage-collection : 해당서버의 Heap Memory 에대해 GC 수행 콘솔툴 14

[DAS]jeus_domain.adminServer>si // 서버상태확인 [DAS]jeus_domain.adminServer>startserver server1 // 특정MS시작 The server [server1] was successfully started. [DAS]jeus_domain.adminServer>stopserver server1 // 특정MS종료 Server [server1] was successfully stopped. [DAS]jeus_domain.adminServer>startdomain // 전체MS시작 Starting servers [server1, server2, server4]. All managed servers in the domain have been successfully started. [DAS]jeus_domain.adminServer>stopdomain // 전체MS종료 (DAS는종료되지않음 ) Stopping servers [adminserver, server1, server2, server4]. All managed servers in the domain were successfully stopped. Unable to shut down Domain Administration Server. To shutdown Domain Administration Server, use the local-shutdown command instead. [DAS]jeus_domain.adminServer>suspend -servers server1 // MS Suspend Successfully suspended server(s). [DAS]jeus_domain.adminServer>resume -servers server1 // MS Resume Successfully resumed the servers. [DAS]jeus_domain.adminServer>dump -servers server1 // thread dump 생성. 명령어를 3 초간격으로 3 번정도실행 [DAS]jeus_domain.adminServer>gc -servers server1 // gc 수행 2. Thread 모니터링 서버에서실행중인 Thread 의상태를확인하는방법은다음과같습니다. Webadmin 15

WebtoB 와연동된 thread hang.jsp 를 10 초간수행 (active) 중으로 tid 선택시 thread 의 Stack Trace 확인가능 _700_hang_5fjsp.java (hang.jsp 가컴파일된 java 파일 ) 63 라인에서 Thread.sleep 처리중 3 개의 thread 중, idle( 사용가능 ) 한 thread 는 2 개 1 interrupt : 특정 Thread 에 Interrupt 신호를보내서수행중인작업을중단할수있도록 Exception 발생 (Exception 처리는애플리케이션에서구현해야하며, 모든경우에대해 Interrupt 가적용되는것은아님 ). JEUS7 매뉴얼 > JEUS Server 안내서 > 3. JEUS 서버제어및모니터링 > 3.3. Thread 모니터링및제어참조 16

콘솔툴 [DAS]jeus_domain.adminServer>ti -server server1 // thread 상태확인 [DAS]jeus_domain.adminServer>strace -server server1 -li webtob1.. // webtob1 전체 thread 에대한 Stack Trace 확인.. [DAS]jeus_domain.adminServer>strace -server server1 82 // 특정 thread 의 Stack Trace 확인.. 17

[DAS]jeus_domain.adminServer>dump -servers server1 // thread dump 생성. 명령어를 3 초간격으로 3 번정도실행 관리자접속이불가능할경우, 아래와같이해당서버의프로세스 PID 를확인하여 thread dump 를생성할수있다. stech:/home/jeus>ps -ef grep java grep server1 // 서버프로세스 PID 확인 stech:/home/jeus>kill -3 26133 stech:/home/jeus>kill -3 26133 stech:/home/jeus>kill -3 26133 // kill -3 [PID]. 명령어를 3 초간격으로 3 번정도실행 18

3. Connection Pool 모니터링 서버에서사용하는 DB Connection Pool 의상태를확인하는방법에대해설명합니다. Webadmin 19

항목설명 Export Name Min Max Active Idle Disposable Total Wait Enabled 소스에서사용하는 JNDI명 pooling 되는객체의최소값 pooling 되는객체의최대값현재사용중인 Connection 수현재사용가능한 Connection 수임시 Connection 생성수 ( 생성후반납되지않는 Connection) 현재 Connection Pool 에생성되어있는전체 Connection 수 Connection Pool 에사용가능한 Connection 이없을경우대기할지여부 (true : Connection 이반납될때까지기다림 / false : Disposable 한 Connection 생성 ) Connection Pool 의활성화 / 비활성화상태 (true : 활성화 / false : 비활성화 ) 1 enable : Connection Pool 활성화 (Enabled 가 true 로변경됨 ) 2 shrink : Connection Pool 의 Connection 개수를설정된 min 값으로조정 3 disable : Connection Pool 비활성화. 이상태에서 Connection 요청시아래 Exception 발생 [2014.09.09 21:48:06][1] [server1-92] [CPOOL-0017] The connection pool[datasource1] has been disabled. java.sql.sqlexception: The connection pool[datasource1] has been disabled. at jeus.jdbc.connectionpool.connectionpoolimpl.checkworkingnow(connectionpoolimpl.java:455) at jeus.jdbc.connectionpool.connectionpoolimpl.getconnection(connectionpoolimpl.java:201) 4 5 refresh : Connection Pool 의 Connection 들을새로운 Connection 으로교체 create : Connection Pool 을 min 값만큼생성 콘솔툴 [DAS]jeus_domain.adminServer>cpinfo -server server1 // 서버에서사용하는 Connection Pool 정보확인 컨넥션이사용중이지 않은상태 [DAS]jeus_domain.adminServer>createcp -server server1 -id datasource2 Servers that successfully created a connection pool : server1.. // Connection Pool 을 min 값만큼생성 20

[DAS]jeus_domain.adminServer>disablecp -server server1 -id datasource2 Servers that successfully disabled a connection pool : server1.. // Connection Pool 비활성화 [DAS]jeus_domain.adminServer>enablecp -server server1 -id datasource2 Servers that successfully enabled a connection pool : server1.. // Connection Pool 활성화 [DAS]jeus_domain.adminServer>refreshcp -server server1 -id datasource2 Servers that successfully refreshed a connection pool : server1 Servers that failed to refresh a connection pool : none. [DAS]jeus_domain.adminServer>shrinkcp -server server1 -id datasource1 Servers that successfully shrank a connection pool : server1 Servers that failed to shrink a connection pool : none. // 새로운 Connection 으로교체 // Connection 개수를 min 값으로조정 21

4. Web 모니터링 관리자에서웹엔진을모니터링하는방법은다음과같습니다. Webadmin 웹엔진내의세션매니저정보 active 상태의세션수 리스너및커넥터내의 Thread 정보 웹엔진에서서비스하는애플리케이션의요청처리상태 서버의총 VM 메모리와사용가능한 VM 메모리 클러스터환경에서웹엔진내의세션매니저정보 백업서버명 22

콘솔툴 [DAS]jeus_domain.adminServer>st -s -server server1 Standard session information (server1_web) // 세션매니저정보확인 [DAS]jeus_domain.adminServer>st -t -server server1 Thread information : (server1_web) // 웹엔진내의 thread 정보확인 [DAS]jeus_domain.adminServer>st -r -server server1 Request information of contexts // 애플리케이션의요청처리상태확인 [DAS]jeus_domain.adminServer>st -m -server server1 Memory information : (server1_web) // 서버의 VM 메모리확인 23

5. JMS 모니터링 본절에서는 JEUS MQ 서버의모니터링방법에대해설명합니다. Webadmin 24

주요항목 Name Export Name Type Dead Letter Destination Consumer Count Processed Messages Remaining Messages Delivered Messages 등록된 Destination 명 Client 에서사용하는 Destination 의 JNDI명 Destination 타입해당 Destination 에서정상적으로처리되지못한메시지들을보관할 Destination 명현재 active Consumer 수전체메시지수 Consumer 로전달되지않은메시지 (Processed Messages - Remaining Messages) 수 1 Production Suspended true : Destination 의생산이일시중지된상태. 이상태에서 Destination 으로메시지를보낼경우 Exception jeus.jms.common.destination.invaliddestinationstateexception: The destination EQ is now produce-suspended. at jeus.jms.common.util.jmsexceptionfactory.createjmsexception(jmsexceptionfactory.java:170) at jeus.jms.common.util.jmsexceptionfactory.createjmsexception(jmsexceptionfactory.java:115) 2 false : Destination 이정상적으로서비스되고있는상태 Consumption Suspended true : Destination 의소비가일시중지된상태. 이상태에서 Destination 에서메시지를소비하고자할경우해당 Destination 에메시지가존재하지않을때와동일하게동작함 false : Destination 이정상적으로서비스되고있는상태 콘솔툴 [DAS]jeus_domain.adminServer>jmsconf -server server1 Connection Factory Information // Conntection Factory 정보확인 [DAS]jeus_domain.adminServer>jmsclient -server server1 // 클라이언트정보확인 25

[DAS]jeus_domain.adminServer> jmsdest -server server1 Destination information in Server server1 // Destination 정보확인 [DAS]jeus_domain.adminServer>jmsdest -server server1 -name ExamplesTopic Detailed destination information in Server server1 // 특정 Destination 상세정보확인 26

6. Application 모니터링 Application 의상태를확인하는방법에대해설명합니다. Webadmin 도메인에서 Application 을 식별할수있는 ID RUNNING 상태인경우활성화됨 물리적인 Application 경로 Application 동작상태 (State) RUNNING INSTALLED DEPLOYED DISTRIBUTED Application 을서비스할수있는서버가하나이상 Running 인상태 Application 파일이도메인으로 upload 된상태이상태에서 Deploy 대상을지정해서 Deploy 나 distribute 명령수행가능 Deploy 된이력이있는 Application 의대상서버가모두 RUNNING 상태가아닌경우 Application 이 Distribute 를성공적으로완료한상태 (Client 에서요청할수없는상태 ) 이때대상서버들이모두 SHUTDOWN 상태이더라도 DISTRIBUTED 로보여짐 27

1 2 3 4 install : 클라이언트머신에있는애플리케이션을 DAS 로업로드함. Install 을실행할경우 JEUS_HOME/domains/domain 명 /.applications 에모듈이등록됨 deploy : 애플리케이션파일이 DAS 와같은머신에있는경우, 도메인에 Install 하지않고 Deploy 가능 start : 애플리케이션을서비스가능한 RUNNING 상태로변경 stop : 서비스중인애플리케이션일시정시 (DISTRIBUTED 상태로변경 ). 이상태에서해당애플리케이션으로요청시 Exception javax.servlet.unavailableexception: The web application has been suspended. [ctx=, mapping idx=null] at jeus.servlet.engine.requestprocessor.checkservletcontextstate(requestprocessor.java:354) 5 6 7 deploy : INSTALLED 상태의애플리케이션을서버나클러스터에 Deploy undeploy : 애플리케이션을서버나클러스터로부터 Undeploy Timeout : 현재처리중인서비스가완료될때까지 Undeploy 를대기하는시간지정 Graceful : new/old/all 중선택. 도메인에 old 애플리케이션과 new 애플리케이션이모두존재할때어떤애플리케이션을 Undeploy 할지지정 ( 웹애플리케이션만적용 ) Force : 애플리케이션을즉시 Undeploy uninstall : 애플리케이션이 INSTALLED 이나 DEPLOYED 상태일때 Uninstall 가능. Uninstall 을실행할경우 JEUS_HOME/domains/domain 명 /.applications 에서모듈이삭제됨 콘솔툴 [DAS]jeus_domain.adminServer>installapp /home/jeus/webapps7.war -id webapps7 Successfully installed the application [webapps7]. [DAS]jeus_domain.adminServer>appinfo // 애플리케이션정보확인 Application information for the domain [jeus_domain]. // DAS 로애플리케이션 Install [DAS]jeus_domain.adminServer>deploy webapps7 -servers server4 deploy the application for the application [webapps7] succeeded. [DAS]jeus_domain.adminServer>appinfo Application information for the domain [jeus_domain]. // DAS 에 Install 한애플리케이션을서버에 Deploy [DAS]jeus_domain.adminServer>undeploy webapps7 // 서버나클러스터로부터애플리케이션 Undeploy Undeploying [webapps7] (This may take time due to graceful undeployment)... undeploy the application for the application [webapps7] succeeded. successfully undeployed (elapsed = 1328ms) [DAS]jeus_domain.adminServer>uninstall webapps7 // DAS에서애플리케이션 Uninstall // 서버나클러스터에서애플리케이션을참조하는경우, Undeploy 후 Uninstall실행 uninstall the application for the application [webapps7] succeeded. : Successfully deleted [webapps7]. 28

Copyright 2014 TmaxSoft Co., Ltd. All Rights Reserved. Trademarks Tmax, WebtoB, WebT, JEUS, ProFrame, SysMaster and OpenFrame are registered trademarks of TmaxSoft Co., Ltd. Other products, titles or services may be registered trademarks of their respective companies. Contact Information TmaxSoft can be contacted at the following addresses to arrange for a consulting team to visit your company and discuss your options. Korea TmaxSoft Co., Ltd 5, Hwangsaeul-ro 329beon-gil, Bundang-gu, Seongnam-si, Gyeonggi-do. South Korea Tel: +82-31-8018-1000 Fax: +82-31-8018-1115 Email: info@tmax.co.kr Web (Korean): http://www.tmaxsoft.com Technical Support: http://technet.tmaxsoft.com USA TmaxSoft, Inc. 560 Sylvan Avenue Englewood Cliffs, NJ 07632. U.S.A Tel: +1-201-567-8266 Fax: +1-201-567-7339 Email: info@tmaxsoft.com Web (English): http://www.tmaxsoft.com Russia Tmax Russia L.L.C. Grand Setun Plaza, No A204 Gorbunova st.2, Moscow, 121596 Tel: +7(495)970-01-35 Email: info.rus@tmaxsoft.com Web (Russian): http://ru.tmaxsoft.com Singapore Tmax Singapore Pte. Ltd. 430 Lorong 6, Toa Payoh #10-02, OrangeTee Building. Singapore 319402 Tel: +65-6259-7223 Email: info.sg@tmaxsoft.com United Kingdom TmaxSoft UK Ltd. Surrey House, Suite 221, 34 Eden Street, Kingston-Upon- Thames, KT1 1ER United Kingdom Tel: + 44-(0)20-8481-3776 Email: info.uk@tmaxsoft.com Web (English): http:/www.tmaxsoft.com Japan TmaxSoft Japan Co., Ltd. 5F Sanko Bldg, 3-12-16 Mita, Minato-Ku, Tokyo, 108-0073 Japan Tel: +81-3-5765-2550 Fax: +81-3-5765-2567 Email: info.jp@tmaxsoft.com Web (Japanese): http://www.tmaxsoft.co.jp China TmaxSoft China Co., Ltd. Beijing Silver Tower, RM 1508, 2 North Rd Dong San Huan, Chaoyang District, Beijing, China, 100027. China Tel: +86-10-6410-6145~8 Fax: +86-10-6410-6144 Email: info.cn@tmaxsoft.com Web (Chinese): http://www.tmaxsoft.com.cn Brazil TmaxSoft Brazil Avenida Copacabana, 177-3 andar 18 do Forte Empresarial, Alphaville - Barueri, Sao Paulo, SP-Brasil CEP 06472-001 Email: contato.brasil@tmaxsoft.com TD-JSGI-D1205001 29