API 서버 설치
FlowKat에 표출하는 데이터를 수집서버와 연계하여 응답하는 API 서버를 설치합니다.
API 서버 설정 예제
/app/flowkat/api.server/conf/flowkat.conf
$ cd /app/flowkat/api.server/conf
$ vi flowkat.conf
net_http_port=6188
net_collector_ip="127.0.0.1:6100"
net_http_api_auth_bearer_token_enabled=true
API 서버 설정 파일은 /app/flowkat/api.server/conf/flowkat.conf 파일이고, key=value 양식으로 추가합니다.
Key | 기본값 | 실시간 설정 지원 여부 | 설명 |
---|---|---|---|
net_http_port | 6188 | X | API 서버 포트 설정 |
net_collector_ip_port | 127.0.0.1:6100 | X | * 플로우캣 서버 연결 대상 설정 * 서비스 구분 방법: [수집서버IP]:[port] 2개 이상 서버 추가시 구분자는 쉼표(,) |
net_http_api_auth_bearer_token_enable | false | O | API 서버 사용자 인증 토큰 인증 방식 사용 여부 |
API 서버 실행 파일 위치로 이동
$ cd /app/flowkat/api.server/bin
환경 변수 파일 설정
/app/flowkat/api.server/bin/setenv.sh
$ vi setenv.sh
if [[ -z "$JAVA_HOME" ]];then
export JAVA_HOME=/app/java/jdk1.8.0_301
fi
if [[ -z "$FLOWKAT_API_SERVER_HOME" ]];then
export FLOWKAT_API_SERVER_HOME=/app/flowkat/api.server
fi
export log_dir=${FLOWKAT_API_SERVER_HOME}/logs
export JAVA_OPTS="$JAVA_OPTS -Xmx1024m -Xms1024m"
export JAVA_OPTS="$JAVA_OPTS -Dflowkat.api.server.home=${FLOWKAT_API_SERVER_HOME}"
export JAVA_OPTS="$JAVA_OPTS -Dflowkat.config=${FLOWKAT_API_SERVER_HOME}/conf/flowkat.conf"
Java 설치 홈디렉터리 설정을 권장합니다. Java 홈디렉터리 미설정 시 시스템 기본 Java 버전으로 기동합니다.
API 서버 기동
파일 설정 완료 후 기동
/app/flowkat/api.server/bin/startup.sh
$ ./startup.sh
nohup: redirecting stderr to stdout
_____ _ _ __ _
| ___| | _____ _| |/ /__ _| |_
| |_ | |/ _ \ \ /\ / / ' // _` | __|
| _| | | (_) \ V V /| . \ (_| | |_
|_| |_|\___/ \_/\_/ |_|\_\__,_|\__|
FlowKat Monitoring Solution
FlowKat version 5.0.0
15:15:42,112 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
15:15:42,112 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
15:15:42,112 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/app/flowkat/webapp/flowkat.webapp.jar!/logback.xml]
15:15:42,121 |-INFO in ch.qos.logback.core.jor
TCP 6188 포트 LISTEN 확인
$ netstat -an | grep 6188
tcp6 0 0 :::6188 :::* LISTEN
API 서버 중지
API 서버 실행 파일 위치로 이동
$ cd /app/flowkat/api.server/bin
API 서버 실행 파일 위치에서 shutdown.sh를 실행
$ ./shutdown.sh
API 서버가 정상적으로 중지되면 아래와 같이 로그 출력
/app/flowkat/collect.server/logs/api.server-${오늘날짜}.log
...
15:27:14.789 [SIGTERM handler] INFO flowkat.api.server.main.WebAppMain[243] - [Graceful shutdown] starting
15:27:14.833 [SIGTERM handler] INFO o.e.jetty.server.AbstractConnector[320] - Stopped ServerConnector@f08fdce{HTTP/1.1,[http/1.1]}{0.0.0.0:6188}
15:27:14.834 [SIGTERM handler] INFO org.eclipse.jetty.server.session[167] - Stopped scavenging
15:27:14.894 [SIGTERM handler] INFO o.e.j.server.handler.ContextHandler[957] - Stopped o.e.j.s.ServletContextHandler@7e00ed0f{/,null,UNAVAILABLE}
15:27:14.896 [SIGTERM handler] INFO flowkat.api.server.main.WebAppMain[247] - [Graceful shutdown] end
...
API 서버 업데이트
-
API 서버를 중지합니다.
-
업데이트 전 API 서버 패키지를 아래와 같이 백업합니다.
cp /app/flowkat/api.server/flowkat.api.server.jar /app/flowkat/api.server/flowkat.api.server.jar.20240425
mv /app/flowkat/api.server/lib /app/flowkat/api.server/lib.20240425 -
업데이트 할 버전의 파일을 서버에 업로드합니다.
-
압축 해제 후 새로운 패키지 파일과 lib 디렉터리를 API 서버에 복사합니다.
cp /app/flowkat/api.server/flowkat.api.server.jar /app/flowkat/api.server/
cp -R flowkat/api.server/lib /app/flowkat/api.server/lib -
API 서버를 다시 기동합니다.
로그 위치
/app/flowkat/api.server/logs
- api.server-${오늘날짜}.log : API 서버 로그
로그 파일 보관 개수는 31개입니다.
API 서버 백업 및 복구
제품이 설치된 /app 아래의 특정 디렉터리를 복사하여 백업 및 복구가 가능합니다.
API 서버 백업 예시
# tar -cvf api.tar /app/flowkat/api.server/config
API 서버 복구 예시
# tar -xvf api.tar -C /app/flowkat/api.server/config
API 서버 삭제
- API 서버를 중지합니다.
- 설치한 API 서버 디렉터리를 삭제합니다.
API 서버 삭제 예시
rm -rf /app/flowkat/api.server