System

AWS EC2에 제니퍼 설치 (APM)

사리생성 2024. 3. 13. 16:13

 

EC2 선택
https://aws.amazon.com/ko/ec2/instance-types/

t3a medium,  cpu 2, mem 4G

 

메모리 swap 추가

https://repost.aws/ko/knowledge-center/ec2-memory-swap-file

8G (레드햇 권고 2~8G 램인 경우는 RAM의 1배 최대 2배, 

 

ubuntu@ip-172-0-0-1:~$ sudo free -m
               total        used        free      shared  buff/cache   available
Mem:            3859         186        3302           0         370        3442
Swap:              0           0           0
ubuntu@ip-172-0-0-1:~$ sudo fallocate -l 8G /swapfile
ubuntu@ip-172-0-0-1:~$ sudo chmod 600 /swapfile
sudo mkswap /swapfile
Setting up swapspace version 1, size = 8 GiB (8589930496 bytes)
no label, UUID=fb7ace07-9284-4b42-95e3-318926a261af
ubuntu@ip-172-0-0-1:~$ sudo swapon /swapfile
ubuntu@ip-172-0-0-1:~$ sudo vi /etc/fstab
ubuntu@ip-172-0-0-1:~$ sudo swapon -s
Filename				Type		Size		Used		Priority
/swapfile                               file		8388604		0		-2
ubuntu@ip-172-0-0-1:~$

 

 

제니퍼 설치 (자바로 메모리와 연관있음)
1. 신청한다. 
OS Type and Version : Ubuntu 22.04.1 LTS
Application Server Version and Type : nginx + php-fpm8.2
DBMS Type and Version : Aurora MySQL (8.0.mysql_aurora.3.03.0)


2. 설치.

sudo apt install unzip
sudo apt-get update
sudo apt install openjdk-11-jre-headless

다운 받은 제니퍼 서버 파일 unzip 하고 설정 파일 수정.

 

data-server (server_port = 5000)

## 자바 추가. 
/home/ubuntu/server.data/bin/jennifer_data.sh 설정정보 추가.
#!/bin/sh
...
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 <-- 추가.
..
JAVA_OPTS=" ${JAVA_OPTS} -Duser.timezone=Asia/Seoul" <-- 추가.
....

## 시작 및 종료.
/home/ubuntu/server.data/bin/startup_data.sh
/home/ubuntu/server.data/bin/shutdown_data.sh


## pstree | grep ja
        |-java---47*[{java}]

        
## 메모리 문제 : jennifer_bootstrap_check=false 를 추가하라고 함.
/home/ubuntu/server.data/conf/server_data.conf 에 내용 추가.
...
jennifer_bootstrap_check=false
...

 

 

 

view-server (server_port = 7900)

## /home/ubuntu/server.view/bin/jennifer_view.sh 설정
...
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 <-- 추가.
..
JAVA_OPTS=" ${JAVA_OPTS} -Duser.timezone=Asia/Seoul" <-- 추가.
....

## 시작 및 종료
/home/ubuntu/server.view/bin/startup_view.sh
/home/ubuntu/server.view/bin/shutdown_view.sh

## pstree | grep java
        |-java---47*[{java}]
        |-java---86*[{java}]
        
## ps -ef | grep view
ubuntu      4448       1  3 04:49 pts/1    00:00:52 java -Xms2g -Xmx2g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -Djennifer.lib=/home/ubuntu/server.view/lib -Djennifer.viewserver.config=/home/ubuntu/server.view/conf/server_view.conf -Dlogback.configurationFile=/home/ubuntu/server.view/conf/logback.xml -Djennifer.help=/home/ubuntu/server.view/help -XX:+IgnoreUnrecognizedVMOptions -XX:-OmitStackTraceInFastThrow -jar /home/ubuntu/server.view/lib/jennifer.launcher.jar com.jennifersoft.view.Main start java        
        

## 라이센스 추가. *** 제일 중요. ***
관리자 로그인 -> JENNIFER 서버 -> 라이센스

 

 

agent 설치

## php 위치 : /etc/php/8.2/fpm/php.ini

내용 추가
[jennifer]
jenniferAgent.agent_file_root=/home/ubuntu/jennifer/agent.php
extension=/home/ubuntu/jennifer/agent.php/bin/jennifer5-php-8.2.x-NTS.so
jenniferAgent.enable_cgi_cli=0

## 설정파일 수정 jennifer.conf
server_address = x.x.x.x

재시작
sudo service php8.2-fpm restart

## agent 시작
/home/ubuntu/jennifer/agent.php/bin/Jennifer5Agent -k start -c /home/ubuntu/jennifer/agent.php

## agent 제거
php.ini 에서 
;extension=/home/jennifer/agent.php/jennifer5-php-5.3.x-NTS.so
;jenniferAgent.agent_file_root=/usr/local/jennifer5-debug/

 

 

라이센스 신청
내부IP -> 내부IP

파이어월 오픈.