반응형

1. Web.xml 파일 수정 내역 

<filter>
		<filter-name>monitoring</filter-name>
	    <filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
		<init-param>
			<param-name>authorized-users</param-name>
			<param-value>id:password</param-value>
		</init-param>
	</filter>
	
	<filter-mapping>
		<filter-name>monitoring</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	
	<listener>
	    <listener-class>net.bull.javamelody.SessionListener</listener-class>
	</listener>

	<login-config>
		<auth-method>BASIC</auth-method>
		<realm-name>Monitoring</realm-name>
	</login-config>
 
	<security-role>
		<role-name>monitoring</role-name>
	</security-role>
 
	<security-constraint>
		<web-resource-collection>
			<web-resource-name>Monitoring</web-resource-name>
			<url-pattern>/monitoring</url-pattern>
		</web-resource-collection>
		<auth-constraint>
			<role-name>monitoring</role-name>
		</auth-constraint>
	</security-constraint>

 

2. JEUSMain.xml  변경내역

 

<application>
      <name>javamelody</name>
      <path>/jeus/webapp</path>
      <deployment-type>COMPONENT</deployment-type>
      <web-component>
         <context-root>/</context-root>
      </web-component>
      <deployment-target>
         <target>
            <engine-container-name>eng2_monitoring</engine-container-name>
         </target>
      </deployment-target>
   </application>

 

반응형

'WAS > JEUS' 카테고리의 다른 글

제우스에서 log4sql 사용하기  (0) 2011.03.15
JEUS 5 세션 공유  (0) 2011.03.09
JEUSMain.xml Datasource 암호 설정  (0) 2011.01.13
IBM JVM 튜닝 - 3  (0) 2009.08.24
제우스 환경 설정 부분  (0) 2009.03.05
반응형

 

설치 : http://naver.github.io/pinpoint/1.8.4/main.html

 

Pinpoint 1.8.4 | Leading Open-Source APM

What’s New in 1.8.4 If you want to communicate data between Span and Stat over TCP , we highly suggest upgrading your agent to 1.8.4 as it includes a bug fix for it. Enhancements Allow collector to log received span/stat packet count Avoid storing excessiv

naver.github.io

 

http://naver.github.io/pinpoint/1.8.4/installation.html

 

Installation | Leading Open-Source APM

To set up your very own Pinpoint instance you can either download the build results from our latest release, or manually build from your Git clone. In order to run your own Pinpoint instance, you will need to run below components: HBase (for storage) Pinpo

naver.github.io

1. 자바 6 ~ 9 까지 설치 후 JAVA_X_HOME 설정

2. mvnw 명령어를 사용하여 빌드

3. 설치 폴더/quickstart/bin 아래

   - ./start-hbase.sh (DB 시작)

   - ./init-hbase.sh (Table 생성 작업으로 최초 한번)

   - ./start-collector.sh (콜렉터 시작)

   - ./start-web.sh

===== TEST App 수행 ====

   - ./start-testapp.sh

 

4. 접근 UI

    WEB UI : http://localhost:28080

    TEST UI : http://localhost:28081

 

5. Stop (START 반대)

  설치 폴더/quickstart/bin 아래

   ./stop-testapp.sh

   ./stop-web.sh

   ./stop-collector.sh

   ./stop-hbase.sh

 

 

반응형
반응형

어느날 갑자기

 

잘 WAR 배포 되던 사이트에서

 

tomcat 시작시 오류가 발생했습니다.

 

물론 간헐적으로 종종 있었지만,

 

아에 시작이 안되는 오류가 발생한것은 처음이었지요

 

-------------------- 오류 내역 ----------------------

 

23-Apr-2019 08:41:39.156 심각 [Catalina-startStop-1] org.apache.catalina.core.ContainerBase.startInternal A child container failed during start
 java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1423)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1413)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
        ... 6 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@1e50349c]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
        at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4885)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5020)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 6 more
Caused by: java.lang.IllegalArgumentException: The main resource set specified [/factory] is not valid
        at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:748)
        at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:706)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 9 more

 

23-Apr-2019 08:41:39.158 심각 [main] org.apache.catalina.core.ContainerBase.startInternal A child container failed during start
 java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:688)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1423)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1413)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:953)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 6 more
Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
        ... 8 more

 

Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
        ... 6 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@1e50349c]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
        at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4885)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5020)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 6 more
Caused by: java.lang.IllegalArgumentException: The main resource set specified [/factory] is not valid
        at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:748)
        at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:706)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 9 more

 

23-Apr-2019 08:41:39.160 심각 [main] org.apache.catalina.startup.Catalina.start The required Server component failed to start so Tomcat is unable to start.
 org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:688)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 7 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 9 more
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:953)
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 11 more
Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
        ... 13 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1423)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1413)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:953)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 6 more

 

-------------------------------------------------------------

 

해당 원인

1. Tomcat JMX(Java Management Extensions) 사용 + STS JMX 사용 = 2개 포트 중복으로 인한 충돌 발생
2. Local 개발 환경에서는 Tomcat을 사용하지 않아 발생하지 않음
3. 개발 서버에서는 Startup 시 Tomcat JMX가 먼저 부팅되는 경우(그동안) 정상적으로 UP이 되었으나
    언젠가는 발생해야 하는 문제였음.

해결 방법

1. STS 에서 사용하는 JMX 사용하지 않기(Tomcat만 사용하기)
    application.properties 설정 변경 방식 => 이 방식 설정 (우리는 JMX를 쓰지 않음, 만약 쓰고 싶다면 2번 해결 방식 참고)
2. STS에서 사용하는 JMX 포트 변경
    There are a few things we could do to avoid the error. We could open the editor again and change the JMX port as well, or we could disable ‘Live Bean Support’. But probably we don’t really want to run more than one copy of our app in this scenario. So we should just stop the already running instance before launching a new one. As this is such a common thing to do, STS provides a Relaunch Toolbar Button for just this purpose. Click the Button, the running app is stopped and restarted with the changes you just made to the Launch Configuration now taking effect. If it worked you should now have a 404 error page at http://localhost:8888 instead of 8080. (Note: the Relaunch button won’t work if you haven’t launched anything yet because it works from your current session’s launch history. However if you’ve launched an app at least once, it is okay to ‘Relaunch’ an app that is already terminated)

    https://spring.io/blog/2015/03/18/spring-boot-support-in-spring-tool-suite-3-6-4

관련 정보

1. 외국 관련 정보 사이트
https://stackoverflow.com/questions/28607506/disabling-jmx-in-a-spring-application/30853954  


application.properties 추가 내역
============================================================================================================================ 
 
# Prevent Spring from automatically exposing beans to JMX. Tomcat automatically creates an MBean when setting the
# JNDI data source, and an error gets thrown if spring then tries to add the data source MBean itself.
# 번역 : Spring이 자동으로 Bean을 JMX에 노출시키는 것을 방지한다. Tomcat은 JNDI 데이터 소스를 설정할 때 자동으로 MBean을 만들고, 스프링이 데이터 소스 MBean 자체를 추가하려고하면 오류가 발생합니다.
#
org.springframework.jmx.export.UnableToRegisterMBeanException 예외처리용
spring.jmx.enabled=false

============================================================================================================================

1. 스트링 부팅 application.properties 환경 설정 (config 정보들)
https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html


2. jmx 란?

참고 : https://en.wikipedia.org/wiki/Java_Management_Extensions
Java Management Extensions 의 약자로 각종 프로그램/장치 등을 모니터링/관리 하기 위한 API 입니다.

출처 : https://gs.saro.me/dev?tn=467

 

 

반응형
반응형


사실 제일 중요한건... 고객사의 담당자가 신규 시스템일 경우에는 메인 업무들의 양을 아는것이 굉장히 중요하다.

즉, 어떤 업무는 어떻게 처리되고 얼마동안의 시간에 출력되어야 하며, 향후 증가세는 얼마고(큰 업무 위주)

이런 정보를 알아야 서버 용량에 대한 정확한 값을 추출할 수 있다.

사실 대부분... 동시 사용자 수 정도 밖에 몰라 추정치로 산출하다보니 장비의 spec이 고사양으로 밖에 할 수 없는

상황이 나온다.



※ 참고 자료는 정부통합전산센터에서 발췌하였습니다. ~



= 서버 용량 산정 =


2008년 12월 19일 자 정보시스템 하드웨어 규모산정 지침



정보시스템 하드웨어 규모산정 지침(TTAK[1].KO-10.0292).pdf



= 서버 성능 측정 =


TPC-H.pdf


Tier 및 용도에 따라 측정 방법은 다름

즉, DB 쪽 => TPC-H를 통한 QphH 로 측정

WAS/WEB 쪽 => SPECjbb2005 를 통한 bops로 측정


뭐 둘다 아래와 같이 추정 tpmc 값으로 역산하여 산출함.




= 추정 tpmC 산출 방식(예) =


▢ Orastress 등 유사도구를 통한 해당 장비의 tpmC 인정기준치

    - 추정기준치 tpmC = 산정 tps(전체tps * new-order 트랜잭션 비율) * 60 * 보정치

     - transaction은 tpmC에서 규정하고 있는 transaction(new-order)과 유사하여야 함.

       예로 orastress는 전체 tps가 구해지는데 산정 tps는 전체 tps가 아니고

       전체 tps에 new-order 트랜잭션 비율을 곱한 수치로 본다.

       단, 보정치는 15%로 하고 제안한 사양에 대해서 성능점검 실시

▢ OPSs로부터 해당 장비 tpmC의 인정기준치

    - 추정기준치 tpmC = OPS * 환산비(C) * 보정치

    - OPS 값은 주어졌으나 tpmC 인증을 받지 않은 경우, 다른 장비에 대한

      tpmC와 OPS 값의 비율을 계산하여 이를 환산비(C)로 곱한다.

▢ tpc-H(QphH) 공인성능치로부터 해당 장비의 tpmC 인정기준치

    - 추정기준치 tpmC = QphH * 환산비(C) * 보정치

    - QphH 값은 주어졌으나 tpmC 인증을 받지 않은 경우, 다른 장비에 대한

      tpmC와 QphH 값의 비율을 계산하여 이를 환산비(C)로 곱한다.


※ 환산비(C)와 보정치가 기술의 발전 및 각 제조사의 아키텍처 설계 방식 등에 따라 상이할

     수 있으므로 실적용 값에 대하여서는 제조사의 객관적인 자료와 내용을 밝혀야 한다.

※ 성능증빙의 객관성을 위해 5년 이내의 기준으로 된 근거자료를 제출하여야 한다.

※ ’11년 정부통합전산센터 제1차 정보자원 통합구축『추정 tpmC 산출방식(예시)』과 동일

반응형

'Private' 카테고리의 다른 글

svn 백업 및 복구  (1) 2019.05.08
node-red oracledb  (0) 2018.06.25
오라클 접속 ORA-12505 에러 관련  (0) 2013.05.02
Magicar AF BRONZE (매직카 브론즈)  (0) 2011.11.30
압력 밥솥 구매 ... 예정  (0) 2011.11.26
반응형

무료로... WAS를 모니터링 가능하게 하는 소프트웨어 이다

...

http://code.google.com/p/psi-probe/

 
반응형

'UTILITY' 카테고리의 다른 글

블루스택(BlueStacks) 단말기 정보 임의로 변경하기  (17) 2012.10.06
무료 압축 프로그램 반디집  (0) 2012.06.28
Registry Booster 2012  (3) 2011.12.16
IBM 자바 다운로드 주소  (0) 2011.12.05
FogBugZ  (0) 2011.11.17

+ Recent posts