본문으로 건너뛰기

대시보드 서버 설치

HTML5 기반의 대시보드를 제공하는 FlowKat을 설치합니다.

대시보드 서버 설정 예제

$ cd /app/flowkat/dashboard.server/bin

대시보드 서버 설정은 환경 변수로 설정하여 변경합니다. 환경 변수 설정 파일은 /app/flowkat/dashboard.server/bin/setenv.sh 파일입니다. 설치 경로 변경 시 FLOWKAT_HOMEJAVA_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_HOMEapp/flowkat/dashboard.serverXFlowKat 설치 홈
FLOWKAT_LOGS$FLOWKAT_HOME/logsXFlowKat 로그 홈
SPRING_PROFILES_ACTIVEprodXFlowKat 내부 기본설정 프로파일 이름, 수정 금지
SPRING_DATASOURCE_JDBC_URLjdbc:h2:$FLOWKAT_HOME/
META_H2/H2DB_PROD;
SCHEMA=PUBLIC;MODE=MySQL;
XH2DB 데이터 소스
LOGGING_NAME$FLOWKAT_LOGS/flowkat.logX로깅 파일 이름
SERVER_PORT8082XFlowKat 서버 포트

대시보드 서버 서비스 시작

파일 설정 완료 후 기동

/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.
...

대시보드 서버 업데이트

  1. 대시보드 서버를 중지합니다.
  2. 업데이트 전 대시보드 서버의 패키지 파일을 백업합니다.
    cp /app/flowkat/dashboard.server/flowkat.jar /app/flowkat/dashboard.server/flowkat.jar.20240425
  3. 업데이트 할 버전의 파일을 서버에 업로드합니다.
  4. 압축 해제 후 대시보드 서버에 파일을 복사합니다.
    cp -R flowkat/dashboard.server/flowkat.jar /app/flowkat/dashboard.server/
  5. 대시보드 서버를 다시 기동합니다.

로그 위치

/app/flowkat/dashboard.server/logs
 - dashboard.log : 오늘 대시보드 서버 로그
- dashboard-${날짜별}.log : 지난 대시보드 서버 로그
- access.log : 오늘 HTTP 액세스 로그
- access-${날짜별}.log : 지난 HTTP 액세스 로그

로그 파일 보관 개수는 31개입니다.

대시보드 서버 접속

접속 주소는 설치 서버의 IP 혹은 설정된 도메인의 8082 포트를 통해서 접속 가능합니다. 설치 과정에서 별도로 설정을 변경하지 않았다면, 접속 URL은 http://설치서버_IP:8082 입니다. 설치 과정 중이나 운영 중에 특정 포트를 사용하도록 설정하였다면, 해당 포트로 접속해야 합니다.

로그인 화면

페이지가 열리지 않을 경우, 방화벽 포트(8082) 오픈 여부를 확인하거나 서비스의 상태를 점검합니다.

지원 브라우저 및 최적 해상도

FlowKat은 다양한 브라우저를 지원하며 최적의 컨텐츠 제공과 안정적인 모니터링을 위해 최신의 브라우저(Google Chrome) 사용을 권고합니다. FlowKat은 반응형 웹으로 구성되어 있지만 모바일 등에서 일부 기능이 제한될 수 있으며, 1920 x 1080 이상의 해상도에 최적화되어 있습니다.

권장 브라우저(Chrome)로 접근하지 않은 경우 경고창이 발생합니다.

로그인

FlowKat 대시보드를 사용하기 위해서는 등록된 계정으로 접근해야 하며, 기본으로 제공되는 관리자 계정 정보는 다음과 같습니다.

IDPW
flowkatflowkat!123

관리자 계정으로 접속 후 안전한 사용을 위해 비밀번호 변경을 권고합니다.

내 계정

내 계정 화면

사용자의 비밀번호는 내 계정 > 비밀번호 변경 화면으로 이동 후 변경 가능합니다.

패스워드 초기화

기본 제공되는 flowkat 계정의 패스워드를 분실했거나 패스워드 변경 후 로그인 실패 시 계정을 초기화하는 방법을 익힙니다.

패스워드 초기화 예제의 OS는 리눅스입니다.

  1. admintool을 사용하여 flowkat 계정의 패스워드를 초기화합니다.

  2. 본 예제에서 대시보드 서버 설치 위치는 /app/flowkat/dashboard.server/ 입니다.

  3. flowkat_admin_tools.sh 파일을 이용하여 관리자 계정의 패스워드를 초기화합니다.

    /app/flowkat/dashboard.server/bin/flowkat_admin_tools.sh
    $ cd /app/flowkat/dashboard.server/bin
    $ ./flowkat_admin_tools.sh -userReset flowkat
    Run flowkat_admintool -userReset flowkat
    _____ _ _ __ _
    | ___| | _____ _| |/ /__ _| |_
    | |_ | |/ _ \ \ /\ / / ' // _` | __|
    | _| | | (_) \ V V /| . \ (_| | |_
    |_| |_|\___/ \_/\_/ |_|\_\__,_|\__|
    FlowKat Admin Util 1.0.0



    2024-04-24 18:18:53.105 INFO 805708 --- [ main] flowkat.admin.util.AdminUtil : Starting AdminUtil using Java 1.8.0_402 on ysheo-vpn with PID 805708 (/app/flowkat/dashboard.server/tools/flowkat-admin-util-1.0.0.jar started by ysheo in /app/flowkat/dashboard.server/bin)
    2024-04-24 18:18:53.109 INFO 805708 --- [ main] flowkat.admin.util.AdminUtil : No active profile set, falling back to 1 default profile: "default"
    2024-04-24 18:18:53.742 INFO 805708 --- [ main] flowkat.admin.util.AdminUtil : Started AdminUtil in 1.04 seconds (JVM running for 1.394)
    2024-04-24 18:18:53.744 INFO 805708 --- [ main] flowkat.admin.util.AdminUtil : run command request(userReset): flowkat
    2024-04-24 18:18:53.948 INFO 805708 --- [ main] f.admin.util.service.UserResetService : 'flowkat' account password has been reset.
    ...

  4. 패스워드 초기화 후 로그인합니다. 로그인 정보는 다음과 같습니다.

IDPW
flowkatflowkat!123

대시보드 서버 백업 및 복구

제품이 설치된 /app 아래의 특정 디렉터리를 복사하여 백업 및 복구가 가능합니다.

대시보드 서버 DB 백업 예시
# tar -cvf dashboard_DB.tar /app/flowkat/dashboard.server/META_H2
대시보드 서버 DB 복구 예시
# tar -xvf dashboard_DB.tar -C /app/flowkat/dashboard.server/META_H2
대시보드 서버 설정 백업 예시
# tar -cvf dashboard_config.tar /app/flowkat/dashboard.server/config
대시보드 서버 설정 복구 예시
# tar -xvf dashboard_config.tar -C /app/flowkat/dashboard.server/config

대시보드 서버 삭제

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