컴퓨터잡동사니

 

JAVA 

 

PSI-Probe : Tomcat 모니터링 툴

 

 

자세한 히스토리는 모르겠지만 Tomcat 모니터링 툴인 Lambda Probe의 개발이 중단되고, 현재는 구글에서 PSI Probe로 계속 진행이 되고 있습니다.
http://code.google.com/p/psi-probe/ 이 사이트에 가면 다운로드 및 설치 매뉴얼이 있으니참조하시기 바랍니다.

설치

  1. 최신 버전을 다운로드 받으신 후 압축을 풀면  probe.war 파일이 생성됩니다.
  2. Tomcat의 Manager GUI에 접속하셔서 War file to deploy에 probe.war 파일을 선택하고 deploy 버튼을 누르면 자동으로 Application이 설치가 됩니다.

     

    deploy probe

    deploy probe

  3. tomcat_home/webapps에 보시면 probe라는 디렉토리가 생성이 되어 있는걸 확인할 수 있습니다.
  4. http://domain_name/probe 에 접속해서 tomcat-users.xml에 설정한 manager의 id/pwd로 접속하여 사용하면 됩니다.

probe

probe

상단 메뉴->System Information 을 클릭한 후, 우측메뉴-> memory utilization을 클릭하면
아래와 같이 JVM memory 상태를 확인할 수 있다.

 

 

Tomcat Web Application 모니터링 툴 – javamelody 설정 방법

everydayminder

learn something everyday

Tomcat Web Application 모니터링 툴 – javamelody 설정 방법

leave a comment »

Tomcat Web Application을 모니터링하거나, profiiling하기 위한 괜찮은 툴을 소개한다.

Javamelody(https://code.google.com/p/javamelody)를 설정하는 방법은 무척 간단하다.

1. Jar 설정
WEB-INF/lib 내 javamedloy.zip내의 javamelody.jar와 jrobin-x.jar를 복사한다.
내 경우는 maven 을 사용하므로, 기존의 pom.xml에 다음과 같이 dependency를 추가하였다.

<dependency>

<groupId>net.bull.javamelody</groupId>

<artifactId>javamelody-core</artifactId>

<version>1.43.0</version>

</dependency>

 

 

2. web.xml 설정
기존에 실행하던 웹 애플리케이션을 모니터링/분석해야 하므로, web.xml의 내용을 편집한다.
보통 web.xml에서는 선언된 순서로 우선순위를 지니므로, 다른 서블릿 선언보다 위쪽에 다음의
설정을 추가로 기록한다.

 

<filter>

<filter-name>monitoring</filter-name>

<filter-class>net.bull.javamelody.MonitoringFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>monitoring</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

<listener>

<listener-class>net.bull.javamelody.SessionListener</listener-class>

</listener>

 

3. 동작 확인
기본 설정은 이것으로 일단 끝!
이제 web application을 실행시키자.

 

http://<host>/<context>/monitoring

과 같이 실행시키면, 기존 사이트에 대한 모니터링 페이지가 정상 적으로 보일 것이다.
대략 다음과 같은 화면이 뜬다.
http://javamelody.googlecode.com/svn/trunk/javamelody-core/src/site/resources/screenshots/graphs.png

 

 

4. 보안설정(ID/Password 기반)
role 기반으로 간략하게 보안 설정을 해보자. web.xml에 다음의 내용을 추가한다.

<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>

 

 

만약, 이대로 tomcat을 restart하고, /monitoring으로 접근한다면, HTTP BASIC Authentication으로 인증 요청을 할 것이다.

 

 

5. tomcat-user 추가
위의 인증창에 접근할 수 있는 사용자를 추가하자.
tomcat-users.xml을 찾아 다음과 같이 사용자 정보를 추가한다.

<tomcat-users>

<role rolename="monitoring"/>

<user username="monitoring" password="monitoring" roles="monitoring" />

</tomcat-users>


 

이제 Tomcat을 재시작하고, BASIC authentication popup window가 뜨면, 위의 정보로 인증하고, 처음에 본 모니터링 페이지가 정상적으로 뜨는지 확인한다.

 

 

 

 

Naver Pinpoint 소개 및 설치(1) - Pinpoint 소개

 

참고) 해당 내용은 https://github.com/naver/pinpoint 를 많은 부분 참고하였습니다.

 

얼마 전 Naver Pinpoint 오픈소스가 공개되었습니다.

https://github.com/naver/pinpoint

 

 

 

Pinpoint 는 APM (Application Performance Management) Tool 로서

Java 로 만들어진 Large-scale 분산 시스템에서 사용될 수 있습니다... 라고 적혀있습니다만

소규모의 WAS(Web Application Server) 에서 사용해도 전혀 문제될 게 없습니다.

(제니퍼 라는 유명한 APM 이 있죠 ^^)

 

Pinpoint는 시스템 전반적인 구조를 분석하고, Transaction 을 추적합니다.

단 한줄의 코드도 변경하지 않고 에이전트를 설치할 수 있으며,

성능에 미치는 영향을 최소화 한다고 명시되어 있습니다. (자원 사용량이 약 3% 증가합니다.)

 

Pinpoint에서 밝히고 있는 제공하는 뷰는 다음과 같습니다.

ServerMap
    - 각 구성요소가 어떻게 상호연결되는지 시각화 해줍니다.
    - 각 노드를 클릭하여 현재상태, Transaction 수 등과 같은 구성요소에 대한 세부 사항을 확인할 수 있습니다.
Request/Response Scatter Chart
    - Request 수, Response 패턴을 시각화 합니다.
    - Transaction 은 차트에서 드래그함으로써 추가 상세 정보를 선택할 수 있습니다.
CallStack
    - 하나의 뷰에서 병목지점, 실패위치(points of failure)를 식별합니다.
    - 분산 환경에서 모든 Transaction에 코드 수준의 가시성을 확보할 수 있습니다.
Inspector
    - CPU 사용량, 메모리/GC, JVM arguments 같은 Application 상세 정보를 제공합니다.

 

전반적인 아키텍쳐는 다음과 같습니다. (출처 : Naver Pinpoint)

 

우측상단의 Host JVM 이 여러분들이 작성한 Application 이 돌아가고 있는 WAS 입니다.

여기에 Pinpoint Agent 가 올라갑니다.

 

Host JVM 이 동작하는동안 Pinpoint Agent 는 Profile 정보를 좌측상단의 Profiled Applications로 보내게 되고,

수집된 정보는 Pinpoint Collector 가 좌측하단 HBase에 기록하게 됩니다.

기록된 정보는 Pinpoint Web UI 를 통해 확인 할 수 있습니다.

 

Pintpoint에 명시된 설치를 위한 요구사항은 다음과 같습니다.

  • - JDK 6 installed
  • - JDK 7+ installed
  • - Maven 3.2.x+ installed
  • - JAVA_6_HOME environment variable set to JDK 6 home directory.
  • - JAVA_7_HOME environment variable set to JDK 7+ home directory.

 

Pinpoint는 Apache License, Version 2.0 입니다.

 

다음 포스팅은 실제 Pinpoint 설치에 대해 알아봅니다.

 

관련글 - [프람트] Naver Pinpoint 소개 및 설치(2) - Pinpoint 설치

관련글 - [프람트] Naver Pinpoint 소개 및 설치(3) - Pinpoint Agent 설치




출처: http://dev2.prompt.co.kr/33 [프람트 MoS 사업부]

 

 

 

성능 모니터링 툴 netdata 간단 사용기

SNS 에서 netdata 관련 포스팅을 보고 급… 궁금해져서 설치를 진행 함.

요즘은 좋은 세상이라???  힘들게 컴파일 하지 않아도 되는???
컨테이너란 편리한 실행 방법이 있음.

관련 내용 : https://hub.docker.com/r/titpetric/netdata/

실행 방법 : ( RHEL7, CentOS7 기준 )

# yum install docker -y
>> docker 를 설치 함.
# systemctl start docker
>> docker 서비스 실행
# docker run -d --cap-add SYS_PTRACE -v /proc:/host/proc:ro -v /sys:/host/sys:ro -p 19999:19999 titpetric/netdata
>> docker 가 구동되어 있는 상태에서 위의 명령어를 입력하면 docker image 를 먼저 pull 하고  컨테이너를 run 함.
# docker ps -a
>> 실행 상태 확인

docker 컨테이너가 실행 되었다면 브라우져에서 아래의 주소로 접속

http://$(ip):19999
ex)
http://192.168.10.2:19999

 

페이지가 접속되면 아래와 같은 화면을 볼 수 있음.

호스트에 대한 전체 리소스 사용량

현재 docker 로 구동된 컨테이너 자원 사용량

kvm 기반 windows vm 자원 사용량

 

netdata 관련 정보 모음

표출 가능한 정보들 : 
Link : https://github.com/firehol/netdata

netdata 관련 Demo 모음 : 
Link : https://github.com/firehol/netdata/wiki

그 외 추가 가능한 챠트들을 제공함.
Link : https://github.com/firehol/netdata/wiki/Add-more-charts-to-netdata

마지막으로 시스템별 netdata 설치 방법 안내 :
Link :  https://github.com/firehol/netdata/wiki/Installation

 

http://blog.seabow.pe.kr/?p=7380

 

 

 

 

 

 

 

about author

PHRASE

Level 60  라이트

경(卿)이라는 높은 지위의 신분이 되어도 가족 관계의 모임에 있어서는 부친이나 형보다 상석에 앉아서는 안 되는 것이다. -예기

댓글 ( 4)

댓글 남기기

작성