本文へスキップ

DMXエージェント設定

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

基本オプション

  • license String

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

  • whatap.server.host String

    既定値127.0.0.1,127.0.0.1

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

  • ipckey String

    ipcs -mコマンドを使用して取得できます。モニタリングするOracleのKey値(16進数)です。

    ノート

    ipcsコマンドは、プロセス間の通信(IPC)に関する情報を提供します。-mオプションは、共有メモリリソースを照会します。

  • rac_name String RAC

    OracleのReal Application Clusters(RAC) クラスターグループに束ねられているインスタンスのグループ名を設定するオプションです。 このオプションを使用して、複雑なRACクラスター グループ名を簡潔で識別しやすい名前に設定できます。 このオプションによって設定されたRACクラスターグループ名は、WhaTapモニタリングサービス画面で確認できます。

    例えば、RACクラスタグループ名が'my_long_rac_cluster_group_name'のように長い場合、ユーザーは次のように簡潔な名前で設定できます。

    whatap.conf
    rac_name=my_rac_cluster_group

    WhaTapモニタリングサービスで'my_rac_cluster_group'と表示され、ユーザーはそのRACクラスターグループをすばやく識別してモニタリングできます。

データベースデータ収集オプション

  • bind_elapse Int

    既定値3

    SQLが設定した時間(秒)より長く実行すると、バインド値を収集するように設定します。 設定値が0であれば、オプションは機能しません。

    bind_intervalを設定しなくてもSQLの実行時間が設定値より長い場合は、バインド値が収集されます。

  • bind_interval Int

    既定値0

    バインドキャプチャ間隔を秒単位で設定します。 既定値(0)を設定するとバインドキャプチャしません。

    v$sql_bind_captureで設定した間隔単位で収集します。

    データが多いかもしれないので、最後に収集した時間以降でありながらbind_max_count分だけ収集します。

  • bind_max_count Int

    既定値 1000

    バインドキャプチャ値を収集するときに、いくつまで収集するかを設定します。 最後の収集時間以降のバインドキャプチャ値のみを収集できます。

  • codefrom / codeto String

    SQL textで韓国語の文字化けの問題がある場合、文字エンコーディングを変えるオプションです。 指定する値は、iconv -lのリストから選択できます。

    例) codefrom=EUC-KR, codeto=UTF-8

  • conn_fail_count Int

    既定値 15

    15回連続connection errorが発生した時に通知を送信します。 希望する回数を入力して、通知の発生基準を調整できます。

  • event String

    既定値db file scattered readdb file sequential readdirect path readdirect path writeenq: TX - row lock contention, latch free, library cache lock, library cache pin

    RAC環境の時は、gc cr block receive time、gc current block receive timeの2つの指標を基にさらに収集します。

    イベント関連の指標を収集するように設定します。 v$system_eventv$event_nameなどのEVENTカラムを参照して収集したい指標名を作成してください。 event+=などの方法で作成すると、基本指標とともに追加で収集できます。 空白なくコンマ(,)を区切り文字として利用して複数入力できます。

    イベント1つあたり、次の3つの値を収集します。

      - time waited : 当該イベントで待ち受けた総時間(単位: 1/100秒)。例) db file sequential read time waited

    - timeouts : タイムアウトで終わった待機回数。例) db file sequential read total timeouts

    - total waits : 当該イベントが発生した総回数。例) db file sequential read total waits
  • interval Int

    既定値3

    データ収集サイクルを秒単位で設定します。

    ノート

    Oracle Proは、メモリアクセスを通じてアクティブセッション及びSQL情報を1/20秒単位で収集します。 このように収集されたデータに基づいてstatを生成するため、データの損失が少ないです。 intervalオプションによって現在のDB状態を送信する際、stat、event、SQL stat、xview、lock、PQ情報はメモリから直接読み込み、迅速に処理されます。 一方、bind情報、DB parameter、plan情報、テーブル、テーブルスペース、Wait classなどはクエリーを通じて収集します。

  • multi_db_stat Boolean

    既定値 true

    Multi DBを使用する場合、データベースごとに指標を収集するか、全体インスタンス単位で合算(sum)して収集するかを設定します。

  • ora_hidden_param Boolean

    既定値false

    ヒドゥンパラメータ値を収集するかを設定します。 ヒドゥンパラメータを収集するには、オプション値をtrueに設定してください。

  • plan_change Int

    既定値1

    プランの変更履歴を収集するかを設定します。

    • 1: sysを含まない
    • 2: sysを含む
  • plan_elapse Int

    既定値3

    実行時間が5秒以上かかるプランを収集します。

  • segments Boolean

    既定値 true

    セグメントサイズの情報を収集します。 統計/レポート > テーブルスペースのサイズメニューで該当データベースまたはテーブルスペースを選択すると、サイズ情報を確認できます。

  • segments_exclude_sys Int

    既定値1

    sysに該当するアカウントを除いて、セグメントのサイズ情報を収集します。

  • segments_hour Int

    既定値5

    セグメントサイズの情報を収集する時刻を設定します。 既定値は5であり、午前5時に収集を始めます。

  • segments_max_count Int

    既定値50

    テーブルスペースごとにサイズの大きいセグメント50個だけを収集して保存します。

  • segments_min_size Int

    既定値10

セグメントサイズの情報を収集する最小単位の既定値は10MBです。 設定した値より小さいセグメントは収集しません。

  • segments_sys String

    既定値:

    Details
      <summary>計18個のアカウントを表示</summary>

    `APPQOSSYS`, `AUDSYS`, `CTXSYS`, `DBSFWUSER`, `DBSNMP`, `DVSYS`,
    `GSMADMIN_INTERNAL`, `LBACSYS`, `MDSYS`, `OJVMSYS`, `OLAPSYS`,
    `ORDDATA`, `ORDSYS`, `OUTLN`, `SYS`, `SYSTEM`, `WMSYS`, `XDB`

    sysに該当するアカウントの一覧です。 上記のアカウントに追加する場合は、segments_sys+='xxx'で追加できます。

  • stat String

    既定値:

    Details
      <summary>計20個の指標を表示</summary>

    `CPU used by this session`, `data blocks consistent reads - undo records applied`, `db block changes`,
    `db time`, `enqueue waits`, `execute count`, `logons current`, `opened cursors current`,
    `parse count (hard)`, `parse count (total)`, `physical reads`, `physical writes`, `redo entries`,
    `rollback changes - undo records applied`, `session logical reads`, `sorts (disk)`, `sorts (memory)`,
    `transaction tables consistent reads - undo records applied`, `user commits`, `user rollbacks`

    統計関連の指標を収集するように設定します。 v$sysstatv$statnameなどのNAMEカラムを参照して収集したい指標名を作成してください。 stat+=などの方法で作成すると、基本指標とともに追加で収集できます。 空白なくコンマ(,)を区切り文字として利用して複数入力できます。

  • tablespace Int

    既定値1

    テーブルスペースの free space を照会する際に使用するビューを選択します。 環境によってdba_free_spaceの照会で query timeout が発生する場合は、別のビューに変更できます。

    • 1: dba_free_spaceを照会
    • 2: dba_lmt_free_spaceを照会
    • 3: usage_metricsを照会

    対応バージョン: dmx 1.0.1x 以上

  • tablespace_interval Int

    既定値60

    テーブルスペース情報の収集周期を分単位で設定します。 最小値は5であり、5より小さい値を設定すると 5 分に自動補正され、補正したことを知らせるログが記録されます。 60より大きい値も設定できます。

    対応バージョン: dmx 1.0.8c 以上

  • tablespace_send_opt Int

    既定値0

    テーブルスペース情報の送信方式を設定します。 テーブルスペースが多い環境で同一データが重複送信されてエラーが発生する問題を改善できます。

    • 0: 分割送信
    • 1: 一括送信

    対応バージョン: dmx 1.0.8c 以上

  • topevent Int

    既定値50

    イベント関連の主要指標の変化を高い数値順に設定された値だけ収集します。 stat_topevent_topカテゴリのデータを使用します。

    ノート

    このオプションは、値を設定しないとtopstatの設定値に従って動作します。

  • topstat Int

    既定値50

    統計関連の主要指標の変化を高い数値順に設定された値だけ収集します。 stat_topevent_topカテゴリのデータを使用します。

  • trace_tkprof_path String

    SQL trace 実行時の tkprof 実行ファイルのパスを指定します。

    対応バージョン: dmx 1.0.4y 以上

  • waitclass_opt Int

    既定値1

    Wait Class 指標の収集方式を設定します。

    • 1: Memory ベースの収集。 他の指標と同じ周期で収集します。
    • 1以外の値: 既存の方式(クエリベース、1 分周期固定)を維持します。

    対応バージョン: dmx 1.0.8c 以上

  • xos Boolean

    既定値 true

    データベースサーバーのリソースを追加でモニタリングするためのXOS エージェント(xos.conf)の活性化オプションです。

  • xview_min Int

    既定値100(1秒)

    単位はセンチ秒(centisecond, 1/100秒)です。 このオプションは、設定した値よりも長い経過時間(elapsed time)を持つジョブのみを処理します。

    • -1: このオプションを非活性化します。
    • 0: すべての作業を収集します。

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

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

複数行の結果は最大 100 件まで保存し、結果値が int または float の場合は数値として認識します。 SELECT 以外に INSERTUPDATEDELETE 文も使用できます。

INSERT/UPDATE/DELETE 対応: dmx 1.0.8s 以上 · 複数行(最大 100 件)保存: dmx 1.0.5g 以上

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

WhaTap DMXエージェントをインストールした経路で whatap.confファイルに次のようにオプションを追加します。

whatap.conf
cypher_level=256

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

エージェント名の設定

自動設定する

エージェント設定(whatap.conf)で名前を設定しないと、エージェント名はDMX-{hostname}と同じように、ホスト名が自動的に組み合わされて指定されます。

手動設定する

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

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