コンテンツにスキップ

デプロイとメンテナンス / 管理ツール

本稿では、管理ツールを使用して 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番データベースを使用します