モニタリングデータベースのエージェント設定の構成

このページでは、データベースモニタリングに使用されるさまざまなエージェントプロパティに関する情報を示します。基本的なエージェントのプロパティの設定については、 「データベースエージェントの設定プロパティ」を参照してください。

<db_agent_home>/conf ディレクトリにある controller-info.xml ファイルを使用して、次のプロパティを更新できます。

次の表には、プロパティの目的に合わせて、特定のデータベースまたはすべてのデータベースに使用できるプロパティ名が含まれています。

リレーショナルデータベースをモニタリングするためのエージェントプロパティ

プロパティ名データベース目的デフォルト値
dbagent.disable.sybase.ase.system.monitoring Sybase

このプロパティで、エージェントが Sybase を無効にする必要があるかどうかを指定します。Sybase をモニタするために他のツールをすでに使用している場合は、データベースの可視性を使用した Sybase モニタリングを無効にすることができます。Sybase 権限の構成の詳細については、Sybase データベースの権限を参照してください。

エージェントが dbagent.disable.sybase.ase.system.monitoring フラグを使用して実行されている場合、データベースの可視性によって Sybase データベースの sp_sysmon の実行が停止されます。その結果、次のメトリックで信頼性の高いデータが表示されない場合があります。

  • 1 分あたりのコール数(KPI)
  • メトリックブラウザの [Server Statistic] 下にあるすべてのメトリック
  • Sybase ダッシュボードのロード値
false
dbagent.sampling.interval

すべてのリレーショナルデータベース

注: このプロパティは、MongoDB および Couchbase に使用できます。
これは、クエリがサンプリングされる間隔です。間隔には、1 秒、2 秒、5 秒、10 秒、20 秒、または 30 秒を指定できます。たとえば、プロパティ値を 2 に設定した場合、[]は、2 の倍数で 2 秒、4 秒、6 秒のように表示されます。1
dbagent.postgresql.database.size.fetch.timeout.in.hrs PostgreSQLPostgres SQL コレクタごとにデータベースサイズの統計を収集する頻度を指定します。このプロパティは、多数のオブジェクトを含む Postgres SQL データベースをモニターする環境に必要です。このプロパティの値が 1 未満の場合、コレクタはサイズメトリックの値を取得しません。1

Cassandra をモニタリングするエージェントプロパティ

プロパティ名 目的 デフォルト値
dbagent.cassandra.sampling.interval.seconds クエリがサンプリングされる間隔。サンプリング間隔(1 ~ 60)に応じて、サンプリングしきい値が設定されます(300 ~ 1000 ミリ秒)。 10
dbagent.cassandra.max.query.execution.time.seconds クエリの最大実行時間。この期間を超えて実行されるクエリはサンプリングされません。 300
dbagent.cassandra.query.sampling.limit 単一のサンプリング期間でサンプリングされるクエリの最大数。この値が 0 の場合、クエリのサンプリングは無効になります。 100,000
dbagent.cassandra.dse.skip.slow.query.table.for.sampling サンプリングを DSE Cassandra の node_slow_log table ではなくクエリトレースから使用するかどうかを決定します。 false
dbagent.cassandra.apache.sampling.threshold.in.milliseconds Apache Cassandra のサンプリングしきい値を定義します。つまり、このしきい値を超えて実行するクエリは、データベースエージェントによってサンプリングされます。
注: このプロパティで、固定サンプリングしきい値を設定します。サンプリング間隔に基づいて動的サンプリングしきい値を使用するには、このプロパティに負の値を設定します。
-1

Oracle をモニタリングするエージェントプロパティ

これらのプロパティは、セッション関連の問題を回避するために使用できます。

データベースにおけるセッションは、サーバーによって作成および管理されるサーバー側のリソースです。データベースエージェントなどのクライアントは、セッションを要求することしかできません。Oracle データベースサーバーは、クライアントの要求を処理するためにセッションを作成します。クライアントがデータベース サーバに到達できない場合、セッションを閉じる要求は配信されません。JDBC ドライバや接続プールライブラリなどのサードパーティライブラリでのバグまたは異常な動作は、セッションビルドアップなどのセッションの問題につながる可能性があります。データベースサーバーは、リソースを解放するためにアイドルセッションを閉じる必要があります。ここで、データベースの「ユーザープロファイル」とリソース制限が役立ちます。Oracle データベースのモニタリングに関するガイドライン を参照してください

プロパティ名目的 デフォルト値
dbagent.database.session.control.enabled コレクタを開始する前に、モニタリングユーザーのセッションカウントを有効にします。false
dbagent.database.session.count.check.interval.in.mins データベース数が取得される間隔(分単位)。この間隔が完了するまで、新しいセッション数は取得されません。45 分
dbagent.database.default.session.count.max コレクタが起動するまでに許可されるセッションの最大数。セッション数によってこの値が増加すると、コレクタは起動しません。セッション数の制限は、ノードレベルで行われます。50
データベースエージェントは、Oracle データベースについてのみ、セッション数チェックを実行してユーザーアカウントをモニターします。このチェックは、Oracle コレクタが起動したときに発生します。セッション数が指定された制限(dbagent.database.default.session.count.max で指定)を超えた場合、コレクタは起動しません。セッション数のチェックは、設定された間隔( dbagent.database.session.count.check.interval.in.mins で指定)の後に繰り返されます。
注: デフォルトでは、Oracle のセッション数チェックは非アクティブになっています。これを有効にするには、エージェントのスタートアップ時に dbagent.database.session.control.enabled プロパティを true に設定します。

Oracle データベースのモニタリングに関するガイドライン

Oracle データベースをモニターするには、次の前提条件を満たしていることを確認してください。
  • データベースエージェントとデータベースインスタンス間の接続安定性:データベースエージェントとモニター対象のデータベースインスタンス間の接続が継続的に安定している必要があります。接続の問題が発生した場合、データベースエージェントはデータベースインスタンスへの再接続を試みますが、これはリソースを大量に消費するプロセスです。

    頻繁に接続の問題が発生すると、すでにアクティブな接続を閉じるデータベースエージェントからの要求がデータベースに到達しない可能性があるため、過剰なセッションが作成される場合があります。

  • Oracle データベースユーザーアカウントの設定:モニタリングに使用される Oracle データベースユーザーアカウント(AppDynamics アカウント)は、DEFAULT プロファイルにマッピングしないでください。AppDynamics アカウントの専用プロファイルを作成する必要があります。この場合、次のリソース制限が必要です。
    Resource Name最小値(Minimum Value)最大値説明注意
    SESSIONS_PER_USER2030ユーザーに許可される最大セッション数を制限するため。リソース使用率を制限するため。制限に達すると、すべてのセッション要求がデータベースによって破棄されます。これにより、モニタリングでデータギャップが発生する可能性があります。ただし、理想的なシナリオでは、データベースエージェントが必要とするセッションの数が 8 ~ 10 を超えることはありません。
    IDLE_TIME510ネットワークの問題やデータベースの終了が原因で開いているアイドルセッションをクリーンアップします。https://oracle-base.com/articles/misc/clearing-down-old-database-sessions を参照してくださいこれは、データベースにリソースのクリーンアップを促すだけで、完全なクリーンアップではありません。制限に達したときにクリーンアップをスケジュールするのは、データベースサーバーの責任です。