メインコンテンツまでスキップ
Version: 3.4.4

DBエージェント

DBエージェントは、BXIの代わりにデータソース情報を管理し、プロキシでDBにアクセスしてBXIがDBに直接アクセスすることを防止する。

Installation

Step1. unpack

伝達されたdbagent-0.0.1-distribution.zipをDBエージェント起動位置に圧縮解凍する。 配布ファイルの構造は、下記のとおりである。

caution

DBエージェントサーバーは接続しようとするDBにアクセスできなければならない。

.
├── dbagent-0.0.1
│ ├── config
│ │ ├── application.yml
│ │ ├── logback.xml
│ ├── lib
│ │ └── dbagent-0.0.1.jar
│ ├── bxi-dbagent-boot.sh
└───└── README.md
  • bxi-dbagent-boot.sh : DBエージェント起動および終了用スクリプト
  • config/application.yml : DBエージェントの設定yml
  • config/logback.xml : DBエージェントのロギング設定xml
  • lib/dbagent-0.0.1.jar : DBエージェントjar

Step2. configuration

モニタリングインスタンスの用途に応じてapplication.ymlを修正する。

config/application.yml
server:
port: 8080
proxy-port: 3034
threads: 256
buffer-size: 8192
connect-timeout: 2000

datasource:
jdbc-url: jdbc:oracle:thin:@localhost:3034:ora11g
username: fep344
password: fep344123
# encrypted-password: asw9RtjZ76dXOLSqkC+jKA==

database:
url: localhost
port: 1521

management:
endpoint:
health:
show-details: always

logging:
config: config/logback.xml
  • server.port : DBエージェントREST APIトムキャットサーバーのポート。 BXIからのアクセスが可能であり、BXIのデータソース情報には実際のDBポートの代わりにこのポートを入力する。
  • server.proxy-port : DBエージェントでDBにアクセスする際に、使用するプロキシポート。
  • server.threads : プロキシの時に使用するスレッドプールの最大数
  • server.buffer-size : プロキシデータIO時に使用するバッファのサイズ
  • server.connect-timeout : DBに接続する際に、使用する最大待機時間(ms)
  • datasource.jdbc-url : BXIにREST APIで返すJDBC URL。 必ずDBエージェントのIPとプロキシポートを入力しなければならない。
  • datasource.username : BXIにREST APIで返す実際のデータソースユーザー
  • datasource.password : BXIにREST APIで返す実際のデータソースパスワード。 当該値は暗号化して送信される。
  • datasource.encrypted-password : 暗号化したパスワードの場合に使用する。 datasource.passwordと重複使用すると、エラーが発生するので注意が必要である。
  • database.url : 実際にアクセスするDBのURL
  • database.port : 実際にアクセスするDBのポート
  • management.endpoint.health.show-details : DBエージェントヘルスチェック時に詳細情報を返す。 設定内容の中でdatasource内容が変更された場合、エンジンで当該内容を自動適用しようとする場合に使用する。
  • logging.config : DBエージェントロギングの設定ファイル位置

Usage1 : スクリプト起動

スクリプトでインスタンスを起動する。正常起動すると、dbagent-0.0.1ディレクトリの下位にlogsディレクトリが作成される。

./bxi-dbagent-boot.sh start

Usage2 : Windowsサービスの登録

bxi-db-agent.service.exeを利用してサービスを登録する。もし、使用中のPCの.net frameworkバージョンが2.xのみインストールされている場合、bxi-db-agent.NET2.exebxi-db-agent.service.exeに変更して使用する。

bxi-db-agent.service.exe install

設定例

実際に接続するDBはURL 17.0.0.1の1521ポートで開かれており、DBエージェントは17.0.0.2の8080ポートで起動中であり、DBエージェントとDBは3034ポートで通信する。

BXI Webadmin

DBエージェントapplication.yml

config/application.yml
server:
port: 8080
proxy-port: 3034
threads: 256
buffer-size: 8192

datasource:
jdbc-url: jdbc:oracle:thin:@17.0.0.2:3034:ora11g
username: fep344
password: fep344123

database:
url: 17.0.0.1
port: 1521

FAQ

Oracle RAC使用時に設定

それぞれのデータソースをエージェント2台で起動する必要があり、インターフェースには1番データソースを登録する。

JDBC URL

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=OFF)(FAILOVER=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=192.0.0.1)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.0.0.2)(PORT=1522)))
(CONNECT_DATA=(SERVICE_NAME=orcl)(SERVER=DEDICATED)))

DBエージェント1

config/application.yml
server:
port: 8080
proxy-port: 3034
threads: 256
buffer-size: 8192

datasource:
jdbc-url: jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=OFF)(FAILOVER=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=17.0.0.2)(PORT=3034)(ADDRESS=(PROTOCOL=TCP)(HOST=17.0.0.2)(PORT=3035)))(CONNECT_DATA=(SERVICE_NAME=orcl)(SERVER=DEDICATED)))
username: fep344
password: fep344123

database:
url: 192.0.0.1
port: 1521

DBエージェント2

config/application.yml
server:
port: 8081
proxy-port: 3035
threads: 256
buffer-size: 8192

datasource:
jdbc-url: jdbc:oracle:thin:@17.0.0.2:3035:orcl
username: fep344
password: fep344123

database:
url: 192.0.0.2
port: 1522