안녕하세요. 미들웨어 입니다.

 

 

지난 번 (오픈소스 활용-1) Locust 성능테스트용 부하발생기 설치 및 구동 방법을 소개해드렸습니다. 

접속 링크는 아래 참고...

http://www.chlux.co.kr/bbs/board.php?bo_table=board02&wr_id=144&sca=Middleware&sfl=wr_subject&stx=%EB%B6%80%ED%95%98&sop=and 

 

이번엔 설치할 필요 없이 서버에서 간단히 부하를 넣어주고 APM모니터링으로 급히 모니터링 해야할때 활용 가능한 방법을 소개해드려 보겠습니다. 

이 방법은 ab을 활용하는 건데.. 

실제 상황에선 서버에 접속한뒤 바로 부하를 주니.. 이슈 찾을때 자주 활용 하는 방법입니다. 

기억해두셨다가 필요할때 사용하시면 큰 도움이 될 거예요. 

 

어렵지 않으니 한번 정리 해보겠습니다. 

 

웹서버 연동 테스트를 하다보면 curl과 ab 옵션을 자주 사용하는데, 매번 사용할때마다 정리한게 없어서 

구글링하는데 시간이 좀 걸리네요.. (좀처럼 익숙해 지지 않네요..ㅎㅎ)

 

그래서 좀 편리하게 옵션이랑 설명을 정리해봤습니다.

 

 

 

1. curl 옵션 사용 방법

curl 이란.. 리눅스에서 사용되는 명령어 입니다. 

서버와 통신할 수 있는 커맨드 명령어 툴이며, 쉽게 다른말로는 쉘상에서 http 메세지를 요청하여 응답을 받을 수 명령어 입니다. 

 

서버에 curl이 없으면 우선 설치를 진행해야 합니다. 

간단합니다.. sudo 권한이 있으면 그걸 활용해서 아래 설치 명령어만 입력해주세요

 

- Linux

$ sudo apt update $ sudo apt install curl

 

- centos 

$ sudo yum install curl

 

 

-v : 요청과 응답을 상세하게 로그로 찍는다
-o : [FILENAME] 응답 결과를 파일로 저장한다.
-X : 사용할 방식 메소드 선택하기
-d : 함께 전달할 파라미터값 설정하기
-G : 전송할 사이트 url 및 ip 주소
-H : 헤더 정보를 전달하기
-i : 사이트의 Header 정보만 가져오기
-I : 사이트의 Header와 바디 정보를 함께 가져오기
-u : 사용자 정보 

 

 

 

2. curl 테스트 방법 샘플

ex-1) localhost 호출 테스트 

curl "http://localhost/login.htm" -v -s -o /dev/null

curl "http://localhost/login.htm" -H "Host: xxx.test.com" -v -s -o /dev/null

 
위 주소에 localhost 말고 naver이나 테스트 해보고 싶은 사이트 주소를 적어도 됩니다. 
저는 샘플로 방법만 정의하고자 localhost를 활용했으니 참고하세요. 

 

 

 

3. ab 옵션 사용 방법 설명

- ab 이란? 

(Apache HTTP server benchmarking tool)는 커맨드 라인을 활용한 매우 가볍고 유용한 웹서버 벤치마킹 도구입니다.

Usage: ab [options] [http[s]://]hostname[:port]/path  

 

옵션 및 설명
-n 성능을 검사하기위해 보내는 요청수. 기본값으로 요청을 한번만 보내기때문에 일반적인 성능검사 결과를 얻을 수 없다.
-c 동시에 요청하는 요청수. 기본적으로 한번에 한 요청만을 보낸다.
-g 측정한 모든 값을 'gnuplot' 혹은 TSV (Tab separate values, 탭으로 구분한 값) 파일에 기록한다. 라벨은 output 파일의 첫번째 라인을 참고한다.
-t 성능을 검사하는 최대 초단위 시간.
        내부적으로 -n 50000을 가정한다. 정해진 시간동안 서버 성능을 검사할때 사용한다. 기본적으로 시간제한 없이 검사한다.

-v 출력 수준을 지정한다. 
        4 이상이면 헤더에 대한 정보를, 
        3 이상이면 (404, 202, 등) 응답코드를, 
        2 이상이면 경고(warning)와 정보(info)를 출력한다.
-A  프록시를 통해 BASIC Authentication 정보를 제공한다. 
    :로 구분한 사용자명과 암호를 base64 인코딩하여 전송한다.
-X  proxy[:port] 프록시 서버를 사용하여 요청한다. 

 

 

 

 

4. ab 테스트 방법 샘플 (localhost, google 호출)

ex-1) localhost 호출

ab -n 100 -c 2 "http://localhost/login.htm

ab -n 100 -c 2 -H "Host: xxx.test.com"  "http://localhost/login.htm"

 

ex-2) google 도메인에 3개의 pool을 가지고 10번 호출

ab -n 10 -c 3 http://www.google.com/index.html

위 명령어를 실행하면 3개의 프로세스(쓰레드)가 10개씩 쏴주는게 아니라 3개의 풀을 가지고 10번 요청을 진행합니다. 

 

 

 

제가 임의로 테스트 방법 샘플로 적어봤습니다. 

구글링하면 비슷하고 더 쉽게 설명된 내용도 있을 수 있으니 골고루 참고하시면 도움이 되실것 같네요.

그럼... 열공하세요~

 

 

안녕하세요. "미들웨어" 입니다.

 

요즘 모니터링이 잘되있어서 jennifer 나 와탭, scouter 등 구성이 된곳이 많습니다.

하지만, 그런 구성으로도 쉽게 잡지 못하는 것이 있조.

그럴땐 쉘 스크립트로 원하는 구성을 파일로 생성되게 하면 이슈에 대비할 수 있습니다.

 

 

이번에 쉘 스크립트 공부를 의도하지 않게 하게 되었습니다.

미리 미리 좀 해둘껄.. 후회가 되지만, 아직 늦지않았다는 마음으로 입문교육처럼 공부를 하고 있습니다.

 

이번에 공유해드릴 내용은 아래 캐이스 입니다.

 

 

  • Jstack 설치 확인
    이걸 활용하려면 서버에 Jstack가 설치되있어야 합니다.
    Jstack는 JDK를 설치하면 기본 포함되있어서 서버에서 jstack 실행해보시면 설치되있는지 확인 가능하실거예요.
    혹 JDK 경로가 안잡혀 있는 경우가 있는데 그렬경우 JAVA_HOME을 설정되있나 확인해주세요. 
    bash_profile에 java_home 설정 확인해주시고 Jstack 실행해보세요.

 

## JAVA_HOME
JAVA_HOME=/usr/java~~~~
export JAVA_HOME
JDK_HOME=$JAVA_HOME
export JDK_HOME
PATH=$JAVA_HOME/bin:${PATH}
export PATH
 

 

 

  • 이슈 :  갑자기 아무런 이슈도 없이 CPU가 증가되는 CASE가 생성

 

  • 분석 : 그래서 CPU가 어떤 Thread 에서 발생하는지 추척하기 위해서 Instance 에서 사용하는 CPU 값을 찾은뒤,
    해당 process의 TID 값을 조회한뒤 Jstack DUMP 파일로 남겨서 문제가 되는 CPU를 찾는 스크립트를 생성했습니다.

 

 

 

 

1. 쉘 스크립트 내용

 

 

# cpuhigh.sh 
# ex) cpuhigh.sh $PID
# 예를들어 PID값이 1234면 ./cpuhifh.sh 1234 입력하시면 파일 2개가 생성됩니다.
# (1.CPU_High.txt ,2.Jstack_Dump.txt)


# Jstack Dump 파일을 분석하려면 TID 값이 16진수로 변환되야 합니다.
아래 명령어로 변환하셔도 되나, 스크립트로 자동변환 시켰습니다.
# 16진수 -> 10진수 : echo "obase=16;$PID" | bc

 

 

 

 

2. cpuhigh.sh 작성

cpuhigh.sh 실행으로 프로스세 puc를 내림차순으로 검색하여 파일(CPU_High.txt)로 떨구는 스크립트 입니다.

 

 
# ex) cpuhigh.sh $PID
#################################
#!/bin/bash -l


PID=$1


# PID 값을 입력한다.
echo -n "1. PID 입력값 : $PID"
echo ""


echo -n "2. PCPU 내림차순으로 파일생성 : CPU_High.txt"
echo ""


# tid 값은 16진수로 변경, pcpu는 내림차순으로 정렬 후 0.5 수치 이상만 출력
ps -eLo pid,ppid,tid,pcpu,comm -q $PID | awk '{if ($4 > 0.5) {printf "pcpu:"$4" pid:"$1" ppid:"$2" tid:%04x comm:"$5"\n", $3}}' | sort -n >> CPU_High.txt


# PID값으로 Jstack Dump 생성
echo "-n "3. PID값으로 DUMP 파일 생성 : "Jstack_Dump.txt""
echo ""


jstack $PID >> Jstack_Dump.txt
echo ""


exit

 

위와 같이 스크립트를 작성해두면, 필요한 순간에 cpu가 높은 프로세스를 기록해 둘 수 있습니다.

그럼.. 열공하세요~

안녕하세요. "미들웨어" 입니다.

 

WAS를 사용하시다 보면 모니터링 툴은 필수로 필요합니다. 

오픈소스로는 scouter가 좋고, 쿠버네티스 환경이나, docker 환경을 모니터링 하기에는 Grafana 를 활용하면 좋습니다. 

상용 모니터링으로는 Jennifer 와 와탭이 좋은 것 같네요.

 

모니터링으로 많이 사용되는 Jennifer 경우 무료인 Slack와 연동도 지원해주고 있습니다.

서비스 운영 환경에 Slack를 활용한다면, 아래 방법을 참고해서 설정해두시면 장애발생시 서비스 알람을 실시간 확인 할 수 있습니다.

어렵진 않으나, 구축해두면 편리한 기능이조. 

 

정리해보겠습니다. 

이 문서는 Jennifer5를 기준으로 구성했었던 내용입니다. 

 

 

1. Jennifer & slack 연동 git-hub -1

어댑터는 슬랙 채널 또는 슬랙 사용자에게 이벤트 알림을 보냅니다.
 
conf/server_view.conf 파일 수정
 adapter_class_path = ${ADAPTER_PROJECT_PATH}/dist/jennifer-view-adapter-slack.jar
adapter_config_path = ${ADAPTER_PROJECT_PATH}/dist/adapter.properties
adapter_event_class_name = adapter.jennifer.slack.SlackAdapter
 
- 구성파일 
slack_webhook 속성을 올바른 값으로 바꾸십시오
 # Set Slack Incoming Webhook URL
# For more information on how to use Slack incoming Webhooks please refer to Slack documentation
slack_webhook=SLACK_WEBHOOK_URL_HERE


# Set target destination for message. You can either send messages to a Slack Channel  or to a Slack User
# to send message to channel use the # followed by the channel name. To send the messages to a user
# use the @  followed by the user name
# Example sending notification to channel : #monitoring
# Example sending notification to  user: @bob
slack_channel=SLACK_CHANNEL_NAME_HERE


#Optional value to set message color using color's hex value
# Example  value::
#message_color=#551A8B
message_color=COLOR_HEX_CODE_HERE


#Optional value to use specific emoji when sending message. Note the emoji code must be one of the default codes provided by slack or customer code
#Example value:
#icon_emoji=:information_desk_person:
icon_emoji=ICON_EMOJI_CODE_HERE


#Set the name of the user. this can be any value you want
#Example value:
#slack_username=JENNIFER Extension
slack_username=DISPLAY_USERNAME_HERE
 
2. 제니퍼 lib 2개 다운로드
  • 경로 : /jennifer/server.view/lib
    파일 :
    adapter.properties
    jennifer-view-adapter-slack 
 
파일 설정 변경 
 
  • server_view.conf 설정 변경
    경로 : /jennifer/server.view/conf/
    파일 : server_view.conf
    내용 수정 : 
    server_port = 80
    adapter_class_path = /jennifer/server.view/lib/jennifer-view-adapter-slack.jar
    adapter_config_path = /jennifer/server.view/lib/adapter.properties
    adapter_event_class_name = adapter.jennifer.slack.SlackAdapter
     
  • adapter.properties 설정 변경
    경로 : /jennifer/server.view/lib/adapter.properties
    파일 : adapter.properties
    내용 수정 :
    slack_webhook=https://hooks.slack.com/services/~~ (생성된 webhook의 URL)
       slack_channel=#3_monitoring 
message_color=#FF0000
       icon_emoji=:rage:
       slack_username=Jennifer
 
 
3. slack webhook 생성
webhook 생성 
연결할 slack의 webhook URL 만들기
https://slack.com/apps/A0F7XDUAZ-incoming-webhooks?page=1 

 

  

4. Jennifer 5 설정 (EVENT 룰)

EVENT 룰에서 slack로 알림을 보내고 싶은 항목에 외부연동 활성화 시켜준다. 

 

  

5. jennifer-view-adapter-slack

https://github.com/jennifersoft/jennifer-view-adapter-slack 

위 참고하게 되면 어댑터를 활용하여 슬랙 채널 또는 슬랙 사용자에게 이벤트 알림을 보낼 수 도 있습니다.

 

 


 

위 기능외에 이벤트 알람 발생시 이벤트 상황의 이미지도 캡쳐하여 보내는 기능도 구현 할 수 있습니다.

이렇게 되면 저희는 좀 더 장애상황에 민첩한 대응도 할 수 있고, 서비스 이슈발생시 언제부터 발생되었는지 History도 기록해둘 수 있으니 아주 편리한 기능입니다.

 

조금이나마 도움이 되시길 바랍니다.

그럼 .. 열공하세요~

 

안녕하세요. "미들웨어" 입니다.

이번에는 ORACLE 제품인 Coherence에 대해 알아보는 시간을 가져보겠습니다.

OPEN Source 활용도가 높아지는 데 굳이 상용제품을 알아보는 이유가 궁금 하실 수 도 있습니다.

오픈소스가 좋아지고는 있지만, 성능이나 안전성 그리고 확장 및 연계성에서는 상용제품을 능가 할 수 없기 때문입니다.

그래서 중요 시스템은 상용 S/W 제품을 사용하고, 중요도가 조금 떨어지는 서비스는 오픈소스를 활용 하시는 게 비용적인 측면으로 좋은 선택이 됩니다.

그러니 저희는 오픈소스만 참고하면 안되고, 상용 S/W 에서 1등을 달리고 있는 제품정도는 알고 있어야 하며,

왜 1등이 되고 사람들이 사용하고 있는지를 잊어버리면 안됩니다.

그런 의미로 전세계에서 1등 미들웨어인 Weblogic 과 연계해서 사람들이 가장 많이 사용하는 SESSION 관리로 사용하고 있는 Coherence S/W 에 대해 알고 넘어갈 필요성이 존재합니다.

자.. 서론은 여기까지 하겠습니다.

그럼 Coherence는 무엇이고, 어떤 기능이 있으며, 어떻게 활용하면 좋은지에 대해 설명 시작하겠습니다.

  1. Coherence 란?

2002 년 이후 주요 시스템을 확장하는 최초이자 선도적인 In Memory Data Grid입니다.

  • 어플리케이션에 투명하게 여러 개 서버로 하나의 가상 메모리 영역 구성
  • 서버 추가에 의해 메모리 용량과 처리 능력을 확장 가능
  • 수천 노드에 이르기까지 수직 확장

아키텍처로 설명하면 아래 그림처럼 SESSION Grid & Data Grid 로도 활용이 가능합니다.

현재 출시되있는 버전은 14.1 버전까지 출시되있네요.

출시 주기는 아래와 같습니다. 

2. Coherence 활용 범위는?

Coherence로 활용 할 수 있는 범위를 설명해보겠습니다.

  • Application Session 공유
  • 이질적 환경에서의 연결 공유 제공 (WebLogic, Glassfish, OAS, WebSphere, Jboss, Tomcat)
  • 큰 용량의 세션 저장
  • Grid 로 세션을 저장
  • WAS의 세션이 모두 Coherence에 저장됨.
  • WAS에는 현재 사용하고 있는 세션만 로딩됨.
  • 세션을 담는 영역은 서로 동적으로 확장 가능
  • 확장이 좋아 기본적으로 요구되는 형태
  • WAS의 메모리 사용률을 감소로 Full GC가 일어난 가능성 적음
  • near cache에 담길 세션의 수 제한 가능
  • WAS가 한 순간에 모두 죽어도 세션을 살아있음
  • 여러 서버의 세션을 통합적으로 관리 가능

3. Coherence 모니터링은?

기본적으로 JVM으로 모니터링이 가능합니다.

JVM이 가능하니, Grafana 를 활용해서도 가능할 것으로 보이긴 하네요.

  • Java Visual VM에서 Coherence Plugin를 제공. (VisualVM-Coherence)
  • Coherence에 별도의 JMX 설정 필요.
  • Visual VM를 통해서 GUI 환경으로 상태 정보 확인.

3. Coherence 설치 방법은?

그럼 이제 Coherence 설치 방법에 대해 설명해 보겠습니다.

설치는 아래 내용에 아주 자세히 나와 있으니 이곳에 설명은 생략하겠습니다.

https://with-kami.tistory.com/1534836 

안녕하세요. "미들웨어" 입니다.

 

이번에는 TP-Monitor에 대해 한번 알아보도록 하겠습니다.

TP-Monitor가 무엇이고, 어떤 기능과 역활을 하는지.. 정리 해봤습니다.  

 

 

1. TP-monitor 가 무엇인가?

TP-Monitor(Transaction Processing Monitor)는 각종 프로토콜에서 동작하는 세션과 시스템 및 데이터베이스 사이의 최소 처리단위인 트랜잭션을 감시하여 일관성 있게 보관 및 유지하는 역할을 하는 트랜잭션 관리 미들웨어입니다.

금융권에서 많이 사용하는 솔루션이기도 해요

 

티피모니터는 크게 두가지 제품이 유명합니다. 

국내용으로는 TMAX가에서 만든 Tmax가 있고, 

글로벌로 유명한것은 ORACLE 의 Tuxodo 가 유명합니다. 

 

- 턱시도의 구성도


 

다음과 같은 서비스를 제공하고 있습니다.

  • ATMI(Application-to-Transaction Monitoring Interface) programming interface
  • CORBA(Common Object Request Broker Architecture) programming interface
  • high-performance transaction processing application server
  • high-performance object application server
 
 
- Tuxedo 의 특장점

동일 서비스들을 가진 다수의 서버들이 단일 요청 큐를 가지도록 설정함으로써, 요청이 요청 큐에서 대기하는 시간을 줄이고

가용한 서버가 빠르게 요청을 받아 들이게 함으로써 궁극적으로 향상된 응답 시간 내에 서비스가 이루어 지게 합니다.



 
 
- 턱시도 출시 주기 및 버전


 
 
 

2. Tuxedo 다운로드 경로

https://www.oracle.com/middleware/technologies/tuxedo-downloads.html 


 

 

3. Tuxedo 메뉴얼 및 설치 

- 메뉴얼 

제가 첨부파일로 넣으드렸습니다.

인터넷환경에서 보실 분들은 아래 링크 참고해주세요

https://www.oracle.com/technetwork/middleware/tuxedo/overview/oracle-ds-tuxedo1222-v2-2966606.pdf 

 

- 설치 방법

설치는 아래 링크에 상세히 설명되있으니 제가 가이드는 하지 않겠습니다.

https://blog.naver.com/the_negator/222739700135 

 

 

4. Tuxedo 모니터링 

턱시도를 설치하게 되면 아래처럼 모니터링 콘솔에 접속하여 환경 구성을 확인할 수 있습니다. 

아래 이미지는 ORACLE 사에서 제공하는 Tuxedo admin 환면인데요, 

수치를 보면서 확인 할 수 있는 장점이 있습니다. 


 

 

- 프로그래밍을 위한 개발도구 지원


 

위와 같이 여러 기능을 제공하는 Tuxedo 제품에 대해 알아봤습니다.

안녕하세요. 미들웨어 입니다.

 

이번장에는  (weblogic 활용) Weblogic을 마켓에서 구매후 클릭으로 설치 -1 장에 이어서 추가로 진행해보도록 하겠습니다.

Cloud 가 대중화 되면서 미들웨어 트랜드가 예전처럼 Private 환경에 설치파일 넣고 install 하고.. 환경 설정하고, 

방화벽 열고, 라우팅설정하고, Thread, Java memory 튜닝하고.. 그러한 환경구성을 마우스 클릭만으로 하는 세상으로 변화하고 있습니다.

 

거기에 발마춰 이번 가이드를 작성해본 것이니, 아~ 요즘에는 이렇게 구성하는구나.. 이런 마음으로 책읽듯이 따라해보시는 것도 좋을 것 같네요. 

그럼 여기서.. 왜 AWS 나 Google 가 아닌 Oracle OCI로 구성을 하는지 궁금해 하실 것 같은데요.

그 이유는 크게 2가지가 있습니다.

 

첫번째로, Oracle Weblogic 제품은 전세계 1위 미들웨어 제품입니다. 

그만큼 기술력이 다른 오픈소스나 상용제품 그 어떤 제품보다 뛰어납니다. 

비싸서 그렇지, 가격이 저렴하다면 안살 이유가 없는 제품입니다.

 

두번째로, Oracle OCI에서는 DB 1등인 ORACLE DB랑 연계해서 사용할 수 있습니다.

미들웨어도 1등이지만, DB 1등이 압도적이조.. 국내 Oracle DB 안쓰는곳 없잖아요..?

 

굳이 한개의 이유를 추가하자면, 가격이 타사에 비해 아주 저렴합니다. 

AWS처럼 OutPut 비용을 따로 받지 않기도 하고 서버 생성도 무료로 할 수 있어서 테스트 하기 좋습니다. 

 

뭐.. 여튼 이런저런 이유로 좋은 의도로 한번 가이드를 만들어 보는거니, 잘 따라와 주세요.

자.. 그럼 1장에 이어 2장 진행해보겠습니다. 

 

 

지난 번에 RMI 스택 재 적용 진행에서 에러가 났었는데요, 

어떻게 됐을지 확인해보겠습니다. 

 

 

 

 

진행 되는 동안 동적 그룹에 가보니, 기존에는 없던 그룹이 새로 생성된 것을 확인해 볼 수 있습니다.

생성된 동적 그룹명이 WLScloud14~~ 네요. 

 

 

이런... 또 에러가 발생했군요.

이번에는 어떤 에러가 발생했는지 확인해 보겠습니다.

두번째 실패된 화면 입니다.. 에러가 뭘까요? 


 

 

로그를 다운로드 받아서 ERROR 난 부분을 확인 해 보겠습니다.


 

 

provisioning.tf 파일에서 오류가 났다고 로그 파일에 적혀있으니, 해당 부분으로 가보겠습니다.

해당 파일을 열어서 문제가 있던 부분 39 Line를 찾아봤습니다.

어라?.... remote-exec ???? 내부 통신에 문제가 있었나 보네요.



 

에러를 좀 더 자세히 읽어 보겠습니다..

역시.. 에러 내용은 젤 처음부터 발생된 부분을 확인하는 것이 중요하단걸 다시 새삼 느낍니다.

9071 port... 내부 통신이 안되서 발생된 에러란 것을 아래 화면처럼 확인 가능합니다.  




자.. 그럼 대체 9071 port 는 무엇인데 연결을 실패 했는지..

9071 port는 어떤 역활을 하는지 확인 해보겠습니다.

아래 내용은 메뉴얼에서 찾은 9071 port에 대한 내용 입니다.

 

 

 

9071 port는 내부 도메인 통신 port 네요.

음.. admin 에서 server를 관리할때 사용하겠네요.

 

 그럼 9071port T3를 연결하기 위해서 subnet 을 들어가서 방화벽 오픈을 해줘 보겠습니다.

네트워킹 -> 가상 클라우드 네트워크 -> 가상 클라우드 네트워크 세부정보 -> 보안목록

위 순서로 들어가면 제 구획내 보안 목록이 보입니다.

 

수신규칙에서 7031port 를 오픈해주세요.

 

방화벽을 오픈할 보안목록을 선택해주세요.

저는 생성해뒀던걸 사용했습니다.

Default Security List for wasgosu-vcn-20210804-1126



다시 적용을 눌러주시면 아래와 같이 상태:성공으로 확인이 가능합니다. 



 

로그를 맨 아래로 내려 보면, 이제 접속해볼 테스트 URL 을 확인 할 수 있습니다.

아래 별표 친 곳을 보면 WebLogic Admin Console 화면과, Sample_application 을 확인 할 수 있는 주소가 보입니다.

저는 보안상 공개할 수 없어서 모자이크 처리 했으니 직접 해본 서버로 접속 테스트를 해보세요.

 

weblogic_server_administration_console="접속 URL 확인가능"

sample_application="접속 URL 확인가능"

 

 

 

Weblogic 인스턴스가 정상적으로 기동이 되었는지 확인하려면 아래 화면으로 들어가세요.

인스턴스의 생성된 시간과, 현재 구동상태, 정지, 삭제등 모든 행위를 할 수 있습니다.

 

기동이 정상적이라면 위 처럼 인스턴스가 기동되있습니다.

WLScloudBYOL14-wls-0

 

WLScloudBYOL14-wls-1

 

 

그럼 이것으로 weblogic 을 martket 플레이스에서 마우스 클릭으로만 설치해봤습니다.

기존처럼 다운로드 받아서 서버에 올리고, 서버에 압축풀고, JDK경로도 잡고..등등 그런것 안해도 되니 편하네요Cloud 환경이 되니 마켓플레이스 공간에서 바로 설치가 되니 편한 점도 있는 듯 합니다.

여러 방향으로 설치를 할 수 있다라는 것이 또 다시 새로운 IT환경의 변화가 아닐까 생각이 드는 테스트였습니다.

안녕하세요. 미들웨어 입니다.

 

이번장에는 Oracle Cloud 인 OCI에서 Weblogic을 정말 쉽게 설치하는 방법을 정리해보겠습니다.

가장 기본적으로 우선 Oracle Cloud 계정을 만드셔야 합니다. 

OCI 계정 없으신 분들은.. 우선 가입부터 진행해주세요. 

 

​-  Oracle Cloud 

https://www.oracle.com/cloud/sign-in.html 

 

 

 

 

1. OCI 마켓플레이스 

Oracle Cloud 로그인 한뒤 OCI 마켓플레이스에서 Weblogic으로 검색해 봅니다. 

그럼 아래와 같이 OCI에서 제공되는 Weblogic이 한눈에 보여지게 되는데요. 

저는 BYOL 라이센스로 구성되는 Weblogic Enterprise를 구성해보도록 하겠습니다.

 

- OCI 마켓플레이스 접속 화면

저는 여기서 BYOL을 선택하겠습니다. 

 

- BYOL 이란? (Bring Your Own License)

Bring Your Own License.. 자신의 라이센스를 가져오기 입니다. 

BYOL 로 설치를 하면 기존에 구매해둔 Weblogic 라이센스를 재활용 할 수 있으므로 추가 비용이 들지 않습니다. 

 

BYOL로 저는 다운로드 하여 구성을 진행해보겠습니다.


 

 

 

- 설치하고자 하는 버전을 선택해줍니다.

 

 

 

 

 

 

 

 

- 스택 생성

 

스택을 생성하도록 하겠습니다.

 

붉은색 표시한 부분은 필히 작성해주셔야 합니다.


 

 

 

 - 


 

 

 

 

서버 스펙은 저와 같은 VM.Standard.E.2.1 로 하셔도 되고, 원하시는 걸로 하셔도 됩니다.

  

 

 

 

 

설정이 끝났으면 Create 로 서버 생성작업에 돌입합니다~!


 

 

 

RMJ 화면이 뜨고 Apply 진행으로 변합니다.. 저는 여기서 시간이 10분이상 소요 되더라구요.

(길게는 15~20분도 소요 되니 차분히 로그를 보면서 잠시 대기 합니다)

  


 

 

 - 아.. 에러가 발생했네요. 어떤 에러인지 한번 찾아보겠습니다.

 

 

 

- 에러 내용 확인

위 RMJ 진행시 실패 내용을 보니 동적 그룹 ID가 모두 꽉차서 발생된 에러 내용 이였습니다.

에러는 로그 다운로드로 받으셔서 보셔도 되고 콘솔화면으로 보셔도 됩니다.

계정 한개당 동적 ID 그룹은 최대 50개만 만들 수 있으니 명심하세요.

 

- 동적 그룹 ID 생성 작업


  



- RMI 스택 재 적용 진행

자.. 그럼 다시 한번 적용을 해보겠습니다.

리소스 관리자 -> 스택 -> 스택 세부정보 에서 진행했던 것을 찾아서 적용해주세요.

 


 

 

 

 

 

 

 

 

 

.... 과연 잘 적용이 됐을까요?

 

가이드가 너무 길어지네여...

오늘은 여기까지만 하고 차주 최종 테스트 결과를 올려드리겠습니다.

안녕하세요. "미들웨어" 입니다.

 

금일은 WAS에서 JDBC 연결시 항상 사용하는 연결 테스트에 대해 설명해 보겠습니다. 

WAS 설치 후 JDBC연결 후 잘 연결이 됐는지 확인하는 방법으로 여러가지 방법이있습니다.

상용 WAS 경우는 admin 환경 접속해서 JDBC 연결 확인을 하면 되지만, 오픈 소스 경우는 별도 admin이 잘되있지 않다보니 이런식으로 별도 파일을 가지고 있으면

여러업무 활용에 유용하게 활용 할 수 있습니다.

 

전에 가지고 있던 DB연동 test 샘플 jsp 올려 둡니다. 

저도 필요할때 종종 봐서 정리 차원 입니다..

 

 

- 아래 부분만 수정 후 사용
jdbc/EmployeeDB 부분만 수정하시면 됩니다.
 
파일명 : DBtest.jsp
 

<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="javax.naming.*" %>
<%
Connection con=null;
Statement st=null;
ResultSet rs=null;

try
{
    InitialContext ctx = new InitialContext();

    // DataSource export-name으로 lookup
    DataSource ds = (DataSource)ctx.lookup("jdbc/EmployeeDB");
    con=ds.getConnection();

    st=con.createStatement();
    rs=st.executeQuery("select * from emp");
    while(rs.next())
{
    out.println("TABLE_NAME :" + rs.getString(1)+"<br>");
}

}
catch(Exception e)
{
    out.println("Error:" + e.getMessage());
    e.printStackTrace();
}
finally
{
    if(rs!=null)rs.close();
    if(st!=null)st.close();
    if(con!=null)con.close();
}

%>
 

 

위 파일에서 DB 연결이 필요한 부분만 수정하셔서 DBtest.jsp를 호출하시면 됩니다.

 

+ Recent posts