Skip to content

배포 및 유지보수 / 관리자 도구

이 문서에서는 관리자 도구를 사용하여 DataFlux Func를 유지 관리하는 방법을 주로 설명합니다.

1. 관리자 도구 admin-tool.py

DataFlux Func는 긴급 유지 관리 작업을 쉽게 수행할 수 있도록 관리자 도구를 제공합니다.

관리자 도구는 컨테이너에 포함되어 있으며 Docker exec 방식으로 실행해야 합니다. --help를 사용하여 구체적인 사용 방법을 확인할 수 있습니다:

Bash
1
docker exec -it {DataFlux Func 컨테이너 ID} sh -c 'exec python admin-tool.py --help'
Text Only
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
usage: admin-tool.py [-h] [-f] [--admin-username ADMIN_USERNAME] [--admin-password ADMIN_PASSWORD] <Command>

+--------------------------+
| DataFlux Func Admin Tool |
+--------------------------+
This tool should run in the Docker container:
    $ docker exec {DataFlux Func Container ID} sh -c 'exec python admin-tool.py --help'
    $ docker exec -it {DataFlux Func Container ID} sh -c 'exec python admin-tool.py reset_admin [-f] [--admin-username=<Admin Username>] [--admin-password=<Password>]'
    $ docker exec -it {DataFlux Func Container ID} sh -c 'exec python admin-tool.py reset_upgrade_db_seq [-f]'
    $ docker exec -it {DataFlux Func Container ID} sh -c 'exec python admin-tool.py disable_ip_address_filter [-f]'
    $ docker exec -it {DataFlux Func Container ID} sh -c 'exec python admin-tool.py clear_redis [-f]'

positional arguments:
  <Command>             reset_admin, reset_upgrade_db_seq, disable_ip_address_filter, clear_redis, run_sql, call_api

options:
  -h, --help            show this help message and exit
  -f, --force           Force run, no confirm
  --admin-username ADMIN_USERNAME
                        Admin Username
  --admin-password ADMIN_PASSWORD
                        Admin Password

1.1 관리자 비밀번호 재설정

일반 사용자의 비밀번호는 시스템 관리자가 직접 다시 설정할 수 있지만, 시스템 관리자 본인의 비밀번호를 잊어버린 경우 DataFlux Func에 포함된 관리자 도구를 사용하여 재설정해야 합니다.

자세한 내용은 배포 및 유지보수 / 관리자 도구를 참조하십시오.

1.2 데이터베이스 업데이트 시퀀스 재설정

DataFlux Func는 설치/업그레이드 시 데이터베이스 구조를 자동으로 업데이트하고 현재 데이터베이스 구조 버전 시퀀스를 기록합니다.

어떤 경우에는 이 시퀀스가 올바르지 않으면 시스템이 정상적으로 시작되지 않을 수 있으며, 이 경우 관리자 도구를 사용하여 수정해야 합니다.

이것이 무엇인지 모르는 경우, 공식에 문의한 후 작업을 수행하십시오

구체적인 명령은 다음과 같습니다:

  • 컨테이너 외부
Bash
1
docker exec -it {DataFlux Func 컨테이너 ID} sh -c 'exec python admin-tool.py reset_db_upgrade_seq'
  • 컨테이너 내부
Bash
1
cd /usr/src/app; python admin-tool.py reset_db_upgrade_seq

1.3 IP 주소 필터 비활성화

시스템 설정 / IP 주소 필터에서 잘못 구성하여 DataFlux Func에 접근할 수 없는 경우.

다음 명령을 사용하여 IP 주소 필터 기능을 직접 비활성화할 수 있습니다.

구체적인 명령은 다음과 같습니다:

  • 컨테이너 외부
Bash
1
docker exec -it {DataFlux Func 컨테이너 ID} sh -c 'exec python admin-tool.py disable_ip_address_filter'
  • 또는 컨테이너 내부
Bash
1
cd /usr/src/app; python admin-tool.py disable_ip_address_filter

1.4 Redis 비우기

큐가 막혀 즉시 복구해야 하거나, 스크립트의 비합리적인 로직으로 캐시가 과도하게 커지는 등의 상황으로 DataFlux Func를 조작할 수 없는 경우.

다음 명령을 사용하여 Redis 데이터베이스를 비울 수 있습니다.

Redis를 비워도 DataFlux Func 자체 실행에는 문제가 발생하지 않습니다. 그러나 실행 중인 비즈니스 코드가 Redis의 데이터에 의존할 수 있으므로 반드시 확인 후 작업을 수행하십시오

구체적인 명령은 다음과 같습니다:

  • 컨테이너 외부
Bash
1
docker exec -it {DataFlux Func 컨테이너 ID} sh -c 'exec python admin-tool.py clear_redis'
  • 또는 컨테이너 내부
Bash
1
cd /usr/src/app; python admin-tool.py clear_redis

2. Redis 직접 조작

Redis를 직접 조작해야 하는 경우 Redis 터미널에 직접 들어가 작업을 수행할 수 있습니다.

구체적인 명령은 다음과 같습니다:

Bash
1
docker exec -it {Redis 컨테이너 ID} sh -c 'exec redis-cli -n 5'

DataFlux Func는 기본적으로 Redis의 5번 데이터베이스를 사용합니다