本文へスキップ

DBXエージェントの設定

DBXエージェントに必要な設定は、whatap.confファイルに作成されます。 設定できるオプションについては、次を参照してください。

基本オプション​

  • license String

    エージェントのインストール時にサーバーから付与されたプロジェクトアクセスキーを設定します。プロジェクトアクセスキーには、エージェントが属するプロジェクトとセキュリティ通信のためのパスワードキーが含まれています。

  • whatap.server.host String

    既定値127.0.0.1,127.0.0.1

    エージェントが収集したデータを送信するWhaTap収集サーバーのIPアドレスを設定します。収集サーバーの冗長化で2つ以上のIPを所有する場合は、コンマ(,)を区切り文字として使用します。設定したIPアドレスには、収集サーバーproxyデーモンがリスニング状態でサービスされる必要があります。

  • whatap.server.port String

    既定値6600

    収集サーバーのポート(port)を設定します。ポートは1つのみ設定ができるので、whatap_server_hostに設定した収集サーバーは同一ポートを使用する必要があります。

  • dbms String

    db2

    注意

    別のオプション値を入力すると、モニタリングのデータ収集が正常に動作しない場合があります。

  • db String

    接続するデータベース名です。

  • db_ip String

    モニタリングするデータベースサーバーのIPアドレスを設定します。

  • db_port String

    データベースが通信に使用するポート番号を設定します。

データ収集​

  • db_param_enabled Boolean

    既定値 true

    DBパラメータの収集有無を設定します。

  • connect_timeout Int

    既定値15(秒)

    データベースへの接続タイムアウトを設定します。設定した時間内に接続できない場合は、接続失敗として処理します。収集クエリの実行時間とは関係ありません。

  • db2_opt Int

    既定値0

    アクティブセッションの収集条件を設定します。このオプションはDB2 11以上でのみ動作します。

    • 0:activity_stateがEXECUTING状態のセッションのみ収集します。

    • 1:activity_stateがEXECUTING、RECEIVING、SUSPENDED状態のセッションをすべて収集します。

  • tablespace Int

    既定値1

    テーブルスペース情報を収集するかどうかを設定します。0またはoffに設定すると収集しません。

  • tablespace_interval Int

    既定値60(分)

    テーブルスペース情報を収集する周期を設定します。

  • db2_plan_saving Boolean DBX agent v2.64.01 or later

    既定値false

    実行時間がdb2_plan_elapseに設定した値以上のクエリの実行計画を保存します。同じSQLの実行計画が変更されると、その履歴を保存します。

    実行計画を保存するには、モニタリングアカウントに権限を追加で付与する必要があります。詳細は実行計画を照会する場合を参照してください。

  • db2_plan_elapse Int

    既定値5(秒)

    実行計画を保存するクエリの実行時間の基準を設定します。

  • db2_plan_max_count Int

    既定値50

    収集周期ごとに保存する実行計画の最大数を設定します。

  • includePrefetch Boolean DBX agent v2.59.04 or later

    既定値true

    バッファプールヒット率の計算方式を設定します。

    • true:非同期(プリフェッチ)ヒットを除いた同期ヒットページ数を論理読み取り数で割ります。

    • false:論理読み取り数から物理読み取り数を引いた値を論理読み取り数で割ります。

  • db2pd_hadr Boolean DBX agent v2.64.06 or later

    既定値false

    HADR情報をdb2pdで収集します。trueに設定すると、エージェントがDBサーバーでdb2pd -db <db> -hadrを実行し、PrimaryとStandbyの両方からHADRロール、状態、接続状態、同期モード、ログギャップ、レプリケーション遅延を収集します。falseの場合はMON_GET_HADRで収集し、この方式はDB2 10.5以上で動作します。

    Reads on Standby(ROS)を使用しないStandbyにはDB接続ができないため、このオプションを有効にしないとHADR情報を収集できません。この場合、エージェントはDBに接続せず、HADRメトリクスのみを収集します。セッション、SQLなどその他のメトリクスは収集しません。

    ノート
    • エージェントがDBサーバーにインストールされている必要があります。

    • エージェントの実行アカウントがdb2pdを実行できる必要があり、エージェントプロセスのPATHにdb2pdが含まれている必要があります。

    • dbオプションに設定したDB名で実行します。

    • db2pdが10秒以内に終了しない場合は失敗として処理します。ROSを使用しないStandbyで失敗がconn_fail_countの回数だけ続くと、接続失敗の通知が発生します。

  • conn_fail_count Int

    既定値 15

    15回連続コネクションエラーが発生した時に通知を送信します。希望する回数を入力して、通知の発生基準を調整できます。

  • long_run_session_sec Second

    既定値10 (単位:秒)

    設定した時間より長く実行されているセッションを、long runセッションで処理します。

  • tables Boolean

    既定値true

    テーブルサイズ情報を1日1回収集します。収集時刻はtables_hourオプションで設定します。

  • tables_hour Int

    既定値5

    テーブルサイズ情報を保存するために、情報を収集する時刻を設定します。既定値は5であり、午前5時に収集を始めます。

  • tables_min_size Int

    既定値10(MB)

    設定した値より小さいテーブルは収集しません。テーブルサイズは、データ、インデックス、LONG、LOB、XML領域のサイズを合計した値です。

  • tables_min_row Int

    既定値10000

    行数が設定した値より少ないテーブルは収集しません。行数はカタログ統計の値で判断するため、RUNSTATSを実行していないテーブルは収集されない場合があります。

  • tables_exclude_sys Boolean

    既定値true

    テーブル情報を収集する時、SYSIBM、SYSTOOLSスキーマのテーブルを除外します。falseに設定すると、当該テーブルも収集します。

  • skip_whatap_session Boolean

    既定値false

    trueに設定すると、WhaTapの収集クエリを実行するセッションをアクティブセッション一覧に表示しません。

  • xview_min_sec Int

    既定値0

    xview収集時、クエリの実行時間が設定された時間よりも長くかかる場合にのみ収集します。デフォルトとしては、実行時間が0秒以上のすべてのクエリを収集します。

ユーザーメトリック収集 (SQLMON)​

SQLMON は、ユーザー定義の SQL 結果を定期的に収集し、メトリクスとして保存します。 数値を返し、負荷が低いクエリに適しています。

  • sqlmon Int

    既定値: 1

    • 1: dbx と sqlmon を同時に実行
    • 2: sqlmon のみ実行

    対応バージョン: 2.3.5 以上

設定​

  1. dbx エージェント配下に sqlmon ディレクトリを作成し、収集したいクエリを <filename>.sql ファイルとして作成します。
dbx/
└── sqlmon/
├── active_sessions.sql
└── lock_count.sql
  1. 収集するクエリを <filename>.sql ファイルとして保存します。

.sql ファイルの1行目に実行オプションを、2行目以降に SQL 文を記述します。

オプション形式
周期(分);動作時間;タグ名
SQL文
項目説明例
周期実行周期(分単位)、最小値 11 → 1分ごとに実行
動作時間HHMM-HHMM 形式、カンマ(,)で複数の時間帯を指定可能。0 の場合は常時実行0900-1100 → 09:00〜11:00のみ実行
タグ名メトリクスに保存するタグ名。省略時はファイル名がタグ名として使用されますwhatap
例:1分周期、09:00〜11:00動作、タグ名 whatap
1;0900-1100;whatap
SELECT count(*) FROM active_sessions
例:1分周期、常時動作、タグ名はファイル名を使用
1;0
SELECT count(*) FROM active_sessions
ノート
  • 動作時間は日付をまたいで設定できます。(例:2300-0100 → 23:00〜翌日01:00)
  • タグ名を省略する場合、動作時間の後にセミコロン(;)を付けないでください。
  • SQL 文の末尾にセミコロン(;)を付けないでください。
  1. whatap.conf で SQLMON を有効化します。

  2. エージェントを再起動します。

  3. アイコン サイトマップ > メトリクス照会 メニューで、sqlmon カテゴリを確認します。

# whatap.conf
sqlmon=1

AES256暗号化の適用​

WhaTap DBXエージェントは、収集されたデータを暗号化してサーバーに送信します。データの重要度や設定によって変更できます。基本的にXOR演算とAESアルゴリズムによる暗号化を使用し、平文を128ビット単位に分割して暗号化、復号を行います。ユーザー設定により、256ビットまで拡張できます。

WhaTap DBXエージェントをインストールしたパスで、whatap.confファイルを次のオプションに追加します。

whatap.conf
cypher_level=256

設定を追加してから、エージェントを再起動してください。

エージェント名の設定​

自動設定する​

エージェント設定(whatap.conf)で名前を設定しないと、エージェント名はIP アドレスとポート番号が結合されて自動指定されます。例えば、IPアドレスが10.11.12.13であり、ポート番号が3000であれば、エージェント名はDBX-12-13-3000に設定されます。

エージェント名を決定する主な変数については、以下を参照してください。

設定説明
{type}DBX値を使います。
{ip0}IPv4アドレスのうち、第1オクテットを使用します。(例:10.11.12.13のうち10)
{ip1}IPv4アドレスのうち、第2オクテットを使用します。(例:10.11.12.13のうち11)
{ip2}IPv4アドレスのうち、第3オクテットを使用します。(例:10.11.12.13のうち12)
{ip3}IPv4アドレスのうち、第4オクテットを使用します。(例:10.11.12.13のうち13)
{port}データベースサーバのポート
ノート

RDSのようにIPアドレスが数字でなければDBX-{ip0}-{hash}-{port}形式で名前が設定されます。ここで{hash}値は、IPアドレスを4桁の16進数に変換した値です。

手動設定する​

エージェント名を直接設定したい場合は、whatap.confファイルでwhatap.nameまたはobject_nameオプションに目的の名前を入力します。ユーザーが入力した名前がエージェント名として設定されます。

whatap.conf
whatap.name=agent-1234
# or
object_name=agent-1234