본문으로 건너뛰기

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_port6188XAPI 서버 포트 설정
net_collector_ip_port127.0.0.1:6100X* 플로우캣 서버 연결 대상 설정
* 서비스 구분 방법:
[수집서버IP]:[port]
2개 이상 서버 추가시 구분자는 쉼표(,)
net_http_api_auth_bearer_token_enablefalseOAPI 서버 사용자 인증 토큰 인증 방식 사용 여부

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 서버 업데이트

  1. API 서버를 중지합니다.

  2. 업데이트 전 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
  3. 업데이트 할 버전의 파일을 서버에 업로드합니다.

  4. 압축 해제 후 새로운 패키지 파일과 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
  5. 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 서버 삭제

  1. API 서버를 중지합니다.
  2. 설치한 API 서버 디렉터리를 삭제합니다.
API 서버 삭제 예시
rm -rf /app/flowkat/api.server