II. 핑거푸시 Agent 설치 및 구동

핑거푸시 사용자 가이드 목차
I. 핑거푸시 Agent 소개    [바로가기]
II. 핑거푸시 Agent 설치 및 구동    [바로가기]
III. 핑거푸시 Agent 실행    [바로가기]
IV. 푸시 발송 테스트    [바로가기]
Ⅴ. 푸시 발송 통계 조회    [바로가기]
II. 핑거푸시 Agent 설치 및 구동
1. 에이전트 설치
1) 설치는 압축된 파일을 풀면 완료된다.
2) 설치 경로 예시
OS PathM
Windows d:\FingerPushAgentForMssql
Linux /home/fingerpush/FingerPushAgentForMysql
/home/fingerpush/FingerPushAgentForMaria
/home/fingerpush/FingerPushAgentForDB2
3) 정상적인 경우 아래와 같은 디렉토리 구조를 가진다.
실행 파일은 cmd 폴더 내에 startup.bat이다.
OS command
Windows startup.bat
Linux 시작 fpAgent.sh start
종료 fpAgent.sh stop
1depth 2depth Description
bin cmd 에이전트 실행 경로
bin com 프로그램 class 경로
database mssql
mariadb
db2
oracle
데이터베이스 종류별 스크립트
JavaService-2.0.10 자바용 윈도우 서비스 등록 프로그램
lib 라이브러리 폴더
logs 실행, 에러 로그
2. 데이터 베이스 환경 설정
1) bin\agentDistServerConfig.xml 파일을 메모장으로 로딩한다.
2) 데이터 베이스 연결을 위한 정보를 입력한다.
파일 내용 중 아래 태그 내의 항목을 서버 정보에 맞게 입력한다.
				//MSSQL
				mssql
				
				      com.microsoft.sqlserver.jdbc.SQLServerDriver
				      디비명
				      jdbc:sqlserver://ip:port;databaseName=디비명;
				      5
				      30
				      디비사용자
				      디비암호
				      fpagents
				
				
				//Mysql
				mysql
				
				      com.mysql.jdbc.Driver
				      디비명
				      jdbc:mysql://아이피:포트/디비명
				      5
				      30
				      디비사용자
				      디비암호
				      fpagents
				
				
				//Mariadb
				mariadb
				
				      org.mariadb.jdbc.Driver
				      디비명
				      jdbc:mysql://아이피:포트/디비명
				      5
				      30
				      디비사용자
				      디비암호
				      fpagents
				
				
				//DB2
				mariadb
				
				      com.ibm.db2.jcc.DB2Driver
				      스키마명
				      jdbc:db2://아이피:포트/디비명
				      5
				      30
				      디비사용자
				      디비암호
				      fpagents
				
				
3. 에이전트 로그 환경 설정
1) bin\log4j.properties 파일을 메모장으로 로딩한다.
2) 설치 경로의 logs 폴더로 경로를 설정한다.(변경도 가능하다)
############################################################# #Log4j Properties
# Finger Push Agent Logs #############################################################

log4j.rootLogger=DEBUG, stdout, rolling
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] %5p (%F.%M:%L) %n- %m%n
log4j.appender.rolling=org.apache.log4j.DailyRollingFileAppender
log4j.appender.rolling.ImmediateFlush=true
log4j.appender.rolling.File=C:/FingerPushAgentsForMssql/logs/fingerpushAgent.log
log4j.appender.rolling.Append=true
log4j.appender.rolling.MaxFileSize=1024KB
log4j.appender.rolling.DatePattern=’.’yyyy-MM-dd
log4j.appender.rolling.layout=org.apache.log4j.PatternLayout
log4j.appender.rolling.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] %p %C.%M – %m%n
4. 실행 환경 설정
1) bin\cmd\실행 파일 startup.bat 파일을 메모장으로 로딩한다.
Windows Linux
bin\cmd\startup.bat bin\cmd\fpAgent.sh
bin\cmd\stop.sh
위 두 파일은 실행 권한이 필요합니다.
2) JAVA_HOME에 설치 서버에 동작 중인 JAVA프로그램 설치 경로를 입력한다.
3) AGENT_HOME에 프로그램 설치 단계에서 설치했던 경로를 입력한다.
    예) d:\FingerPushAgentsForMssql
4) startup.bat 파일 내용
				//Windows
				
				@echo off 
				
				setLocal EnableDelayedExpansion 
				
				set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_60(경로 설정) 
				set JVM_PATH=%JAVA_HOME%\jre\bin\server\jvm.dll(경로 설정) 
				set AGENT_HOME=C:\FingerPushAgentForMssql(경로 설정) 
				set SVC_NAME=FingerPushAgent 
				set TARGET_APP=com.finger.agents.server.AgentDistServer 
				set OUT_LOG=%AGENT_HOME%\logs\fgAgent.log 
				set ERR_LOG=%AGENT_HOME%\logs\fgAgentErr.log 
				set JAVASERVICE32=%AGENT_HOME%\JavaService\JavaService32.exe 
				set JAVASERVICE64=%AGENT_HOME%\JavaService\JavaService64.exe 
				
				cd %AGENT_HOME% 
				
				set CLASSPATH=" 
				for /R .\lib %%a in (*.jar) do (
				 	set CLASSPATH=!CLASSPATH!;%%a
				) 
				set CLASSPATH=!CLASSPATH!;%AGENT_HOME%\bin;" 
				REM echo %CLASSPATH%  
				
				:INPUT 
				echo ============== FingerPush Agent Menu ============== 
				echo  1.Register windows 32bit service(auto start) 
				echo  2.Remove windows 32bit service(auto stop) 
				echo  3.Register windows 64bit service(auto start) 
				echo  4.Remove windows 64bit service(auto stop) 
				echo  5.Start Fingerpush agents (current command) 
				echo  6.Exit 
				echo =================================================== 
				set /p CMD=# choose menu: 
				
				if not "%CMD%" leq "6" goto INPUT 
				if "%CMD%" == "1" goto REG32 
				if "%CMD%" == "2" goto UNREG32 
				if "%CMD%" == "3" goto REG64 
				if "%CMD%" == "4" goto UNREG64 
				if "%CMD%" == "5" goto STARTC 
				if "%CMD%" == "6" goto EXIT 
				
				:REG32 
				%JAVASERVICE32% ^ 
				-install "%SVC_NAME%" "%JVM_PATH%" ^ 
				-Djava.class.path=%CLASSPATH% ^ 
				-Xms32m -Xmx128m ^ 
				-start "%TARGET_APP%" ^ 
				-current "%AGENT_HOME%" ^ 
				-description "FingerPush of Agents" 
				
				net start "%SVC_NAME%" 
				goto INPUT  
				
				:UNREG32 
				net stop "%SVC_NAME%" 
				
				%JAVASERVICE32% ^ 
				-uninstall "%SVC_NAME%" 
				goto INPUT 
				
				:REG64 
				%JAVASERVICE64% ^ 
				-install "%SVC_NAME%" "%JVM_PATH%" ^ 
				-Djava.class.path=%CLASSPATH% ^ 
				-Xms32m -Xmx128m ^ 
				-start "%TARGET_APP%" ^ 
				-current "%AGENT_HOME%" 
				
				net start "%SVC_NAME%" 
				goto INPUT 
				
				:UNREG64 
				net stop "%SVC_NAME%" 
				
				%JAVASERVICE64% ^ 
				-uninstall "%SVC_NAME%" 
				goto INPUT 
				
				:STARTC 
				"%JAVA_HOME%\bin\java.exe" -classpath "%CLASSPATH%" -Xms32m -Xmx128m 
				com.finger.agents.server.AgentDistServer 
				
				goto EXIT 
				
				:EXIT 
				echo. 
				pause 
				
				REM exit
				
				//Linux
				#!/bin/sh
				
				#empty
				
				JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk.x86_64
				AGENT_HOME=/home/fingerpush/fingerServer/FingerPushSendServer
				JAVA_COMMAND=$JAVA_HOME/bin/java
				CLASSPATH=$AGENT_HOME:$AGENT_HOME/bin
				for FILE in $AGENT_HOME/lib/*.jar
				do
				     CLASSPATH=$CLASSPATH:$FILE
				done
				
				DAEMONCLASS=com.finger.agents.server.AgentDistServer
				DAEMONNAME=fpAgent
				
				JAVA_PNAME="-Dpn=$DAEMONNAME"
				JAVA_PROPERTY="-Xms32m -Xmx128m"
				
				case "$1" in
				start)
					echo "start FingerPush Agent!"
					nohup $JAVA_COMMAND $JAVA_PNAME $JAVA_PROPERTY -cp $CLASSPATH $DAEMONCLASS > /dev/null 2>&1&
					exit 0
					;;
				stop)
					echo "stop FingerPush Agent"
					sh $AGENT_HOME/cmd/stop.sh $DAEMONNAME
					exit 0
					;;
				esac
				
				//실행 여부 확인 
				//- ps -ef | grep fpAgent 명령어를 통해 실행 여부 확인 가능하다.