대시보드 서버 설치
HTML5 기반의 대시보드를 제공하는 FlowKat을 설치합니다.
대시보드 서버 설정 예제
$ cd /app/flowkat/dashboard.server/bin
대시보드 서버 설정은 환경 변수로 설정하여 변경합니다. 환경 변수 설정 파일은 /app/flowkat/dashboard.server/bin/setenv.sh 파일입니다. 설치 경로 변경 시 FLOWKAT_HOME
과 JAVA_HOME
의 경로를 수정합니다.
Java 홈디렉터리 설정을 권장합니다. Java 홈디렉터리 미설정 시 시스템 기본 Java 버전으로 기동합니다.
환경 변수 파일 설정
/app/flowkat/dashboard.server/bin/setenv.sh
$ vi setenv.sh
#!/bin/bash
## Java 홈 디렉터리
if [[ -z "$JAVA_HOME" ]];then
export JAVA_HOME=/app/java/jdk1.8.0_301
fi
## 대시보드 서버 홈 디렉터리
f [[ -z "$FLOWKAT_DASHBOARD_SERVER_HOME" ]];then
export FLOWKAT_DASHBOARD_SERVER_HOME=/app/flowkat/dashboard.server
fi
## 로그 경로 설정
export FLOWKAT_LOG_PATH=$FLOWKAT_DASHBOARD_SERVER_HOME/logs
## 로그 파일 이름 설정
export FLOWKAT_LOG_NAME=dashboard
## 프로파일 설정
export SPRING_PROFILES_ACTIVE=prod
## 데이터소스 설정
export SPRING_DATASOURCE_JDBC_URL=jdbc:h2:$FLOWKAT_DASHBOARD_SERVER_HOME/META_H2/H2DB_PROD;SCHEMA=PUBLIC;MODE=MySQL;TRACE_LEVEL_FILE=0;
## 서버 포트 설정
export SERVER_PORT=8082
## access 로그 설정
export SERVER_TOMCAT_ACCESSLOG_ENABLED=true
export SERVER_TOMCAT_BASEDIR=$FLOWKAT_DASHBOARD_SERVER_HOME
export SERVER_TOMCAT_ACCESSLOG_DIRECTORY=logs
export SERVER_TOMCAT_ACCESSLOG_SUFFIX=.log
export SERVER_TOMCAT_ACCESSLOG_PREFIX=access
export SERVER_TOMCAT_ACCESSLOG_ROTATE=true
export SERVER_TOMCAT_ACCESSLOG_RENAME_ON_ROTATE=true
export SERVER_TOMCAT_ACCESSLOG_PATTERN="%{yyyy-MM-dd HH:mm:ss}t %H %s %r %{User-Agent}i %{Referer}i %b %a %D"
## JAVA Memory
JAVA_OPTS="$JAVA_OPTS -Xmx525m -Xms525m"
# Java Options
JAVA_OPTS="$JAVA_OPTS -server -XX:+UseParallelGC -XX:ParallelGCThreads=4"
JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError"
JAVA_OPTS="$JAVA_OPTS -XX:HeapDumpPath=$FLOWKAT_LOGS/dump/java_pid.hprof"
JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:///dev/urandom"
## 대시보드 설정 파일 위치
JAVA_OPTS="$JAVA_OPTS -Dflowkat.dashboard.folder=$FLOWKAT_HOME/config/dashboard"
## 사이트 설정 파일 위치
JAVA_OPTS="$JAVA_OPTS -Dflowkat.site.config=$FLOWKAT_HOME/config/site.yml"
## 라이선스 디렉터리 설정 위치
JAVA_OPTS="$JAVA_OPTS -Dflowkat.license.folder=$FLOWKAT_HOME/config/license"
대시보드 서버 환경 변수 설정
환경 변수 | 기본값 | 실시간 설정 지원 여부 | 설명 |
---|---|---|---|
FLOWKAT_HOME | app/flowkat/dashboard.server | X | FlowKat 설치 홈 |
FLOWKAT_LOGS | $FLOWKAT_HOME/logs | X | FlowKat 로그 홈 |
SPRING_PROFILES_ACTIVE | prod | X | FlowKat 내부 기본설정 프로파일 이름, 수정 금지 |
SPRING_DATASOURCE_JDBC_URL | jdbc:h2:$FLOWKAT_HOME/ META_H2/H2DB_PROD; SCHEMA=PUBLIC;MODE=MySQL; | X | H2DB 데이터 소스 |
LOGGING_NAME | $FLOWKAT_LOGS/flowkat.log | X | 로깅 파일 이름 |
SERVER_PORT | 8082 | X | FlowKat 서버 포트 |
대시보드 서버 서비스 시작
파일 설정 완료 후 기동
/app/flowkat/dashboard.server/bin/startup.sh
$ cd /app/flowkat/dashboard.server/bin
$ ./startup.sh
_____ _ _ __ _
| ___| | _____ _| |/ /__ _| |_
| |_ | |/ _ \ \ /\ / / ' // _` | __|
| _| | | (_) \ V V /| . \ (_| | |_
|_| |_|\___/ \_/\_/ |_|\_\__,_|\__|
FlowKat Monitoring Solution
FlowKat version 5.0.0
2023-06-09 10:33:25.335 INFO 11735 --- [ main] flowkat.paper.extension.Application : Starting Application using Java 1.8.0_301 on blueberry with PID 11735 (/home/kranian/project/flowkat-ex/build/classes/java/main started by kranian in /home/kranian/project/flowkat-ex)
2023-06-09 10:33:25.337 INFO 11735 --- [ main] flowkat.paper.extension.Application : The following 1 profile is active: "prod"
20230609 10:33:25 [A103] HTTP javax/servlet/http/HttpServlet
....
.security.web.authentication.logout.LogoutFilter@33502cfe, flowkat.paper.extension.service.provider.security.filter.JwtFilter@2aeb3f3b, flowkat.paper.extension.config.SpaWebFilter@281028ce, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@2487b621, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3d2ff73a, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@46ef7340, org.springframework.security.web.session.SessionManagementFilter@5f01361e, org.springframework.security.web.access.ExceptionTranslationFilter@2dc77962, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@401d83ce]
2023-06-09 10:33:29.657 INFO 11735 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8081 (http) with context path ''
2023-06-09 10:33:29.667 INFO 11735 --- [ main] flowkat.paper.extension.Application : Started Application in 4.801 seconds (JVM running for 8.734)
대시보드 서버 TCP 8082 포트 LISTEN 확인
$ netstat -an | grep 8082
tcp6 0 0 :::8082 :::* LISTEN
대시보드 서버 서비스 중지
대시보드 서버 실행 파일 위치로 이동
$ /app/flowkat/dashboard.server/bin
대시보드 서버 실행 파일 위치에서 shutdown.sh를 실행
$ ./shutdown.sh
대시보드 서버가 정상적으로 중지되면 아래와 같이 로그 출력
/app/flowkat/collect.server/logs/dashboard.log
...
INFO 24-04-24 15:40:18[SpringApplicationShutdownHook] [SimpleBrokerMessageHandler:117] - Stopping...
INFO 24-04-24 15:40:18[SpringApplicationShutdownHook] [SimpleBrokerMessageHandler:117] - BrokerAvailabilityEvent[available=false, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@1542af63]]
INFO 24-04-24 15:40:18[SpringApplicationShutdownHook] [SimpleBrokerMessageHandler:117] - Stopped.
INFO 24-04-24 15:40:20[SpringApplicationShutdownHook] [LocalContainerEntityManagerFactoryBean:651] - Closing JPA EntityManagerFactory for persistence unit 'default'
INFO 24-04-24 15:40:20[SpringApplicationShutdownHook] [HikariDataSource:350] - DB-prod-h2-pool - Shutdown initiated...
INFO 24-04-24 15:40:20[SpringApplicationShutdownHook] [HikariDataSource:352] - DB-prod-h2-pool - Shutdown completed.
...