RDS Oracle のデータベースモニタリングの設定 データベースモニタリングは、クエリサンプルを公開することで、Oracle データベースを深く可視化し、さまざまなワークロードをプロファイリングして問題を診断します。
読み取り専用ユーザーとしてログインし、Agent でデータベースから直接テレメトリーを収集します。
サポート対象の Oracle バージョン 11g、12c、18c、19c、21c サポート対象の Agent バージョン 7.53.0+ パフォーマンスへの影響 データベースモニタリングのデフォルトの Agent コンフィギュレーションは保守的ですが、収集間隔やクエリのサンプリングレートなどの設定を調整することで、よりニーズに合ったものにすることができます。ワークロードの大半において、Agent はデータベース上のクエリ実行時間の 1 % 未満、および CPU の 1 % 未満を占めています。 データベースモニタリングは、ベースとなる Agent 上のインテグレーションとして動作します (ベンチマークを参照 してください)。 プロキシ、ロードバランサー、コネクションプーラー Agent は、監視対象のホストに直接接続する必要があります。Agent をプロキシ、ロードバランサー、コネクションプーラーを経由してデータベースに接続しないようご注意ください。また、各 Agent は基礎となるホスト名を把握し、フェイルオーバーの場合でも常に 1 つのホストのみを使用する必要があります。Datadog Agent が実行中に異なるホストに接続すると、メトリクス値の正確性が失われます。 データセキュリティへの配慮 Agent がお客様のデータベースからどのようなデータを収集するか、またそのデータの安全性をどのように確保しているかについては、機密情報 を参照してください。 Oracle データベースで Database Monitoring を有効にするには、次の手順を完了してください。
Datadog ユーザーの作成 ユーザーにデータベースへのアクセス権を付与する Agent をインストールする Agent の構成 Oracle インテグレーションをインストールまたは検証する セットアップの検証 すでにレガシー Oracle インテグレーションがインストールされている場合、ユーザーはすでに存在するので、この手順は省略できます。
サーバーに接続するための読み取り専用ログインを作成し、必要な権限を付与します。
CREATE USER datadog IDENTIFIED BY < YOUR_PASSWORD > ;
grant create session to datadog ;
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$SESSION' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$DATABASE' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$CONTAINERS' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$SQLSTATS' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$SQL' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$INSTANCE' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$SQL_PLAN_STATISTICS_ALL' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'DBA_FEATURE_USAGE_STATISTICS' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$PROCESS' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$CON_SYSMETRIC' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'CDB_TABLESPACE_USAGE_METRICS' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'CDB_TABLESPACES' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$SQLCOMMAND' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$DATAFILE' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$SGAINFO' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$SYSMETRIC' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$PDBS' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'CDB_SERVICES' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$OSSTAT' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$PARAMETER' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$SQL' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$PGASTAT' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$ASM_DISKGROUP' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$RSRCMGRMETRIC' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$DATAGUARD_CONFIG' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$DATAGUARD_STATS' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$TRANSACTION' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'V_$LOCKED_OBJECT' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'DBA_OBJECTS' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'CDB_DATA_FILES' , 'DATADOG' , 'SELECT' , p_grant_option => false );
exec rdsadmin . rdsadmin_util . grant_sys_object ( 'DBA_DATA_FILES' , 'DATADOG' , 'SELECT' , p_grant_option => false );
Store your password using secret management software such as Vault . You can then reference this password as ENC[<SECRET_NAME>]
in your Agent configuration files: for example, ENC[datadog_user_database_password]
. See Secrets Management for more information.
The examples on this page use datadog_user_database_password
to refer to the name of the secret where your password is stored. It is possible to reference your password in plain text, but this is not recommended.
Agent をどこにインストールするかについては、DBM セットアップアーキテクチャ のドキュメントを参照してください。Agent は外部の Oracle クライアントを必要としません。
インストール手順については、Agent インストール手順 を参照してください。
Oracle Agent のコンフィギュレーションファイル /etc/datadog-agent/conf.d/oracle.d/conf.yaml
を作成します。使用可能なすべての構成オプションは、サンプルコンフィギュレーションファイル を参照してください。
注: 7.53.0
未満の Agent リリースの構成サブディレクトリは oracle-dbm.d
です。
init_config :
instances :
- server : '<RDS_INSTANCE_ENDPOINT_1>:<PORT>'
service_name : "<SERVICE_NAME>" # Oracle CDB サービス名
username : 'datadog'
password : 'ENC[datadog_user_database_password]'
dbm : true
tags : # オプション
- 'service:<CUSTOM_SERVICE>'
- 'env:<CUSTOM_ENV>'
- server : '<RDS_INSTANCE_ENDPOINT_2>:<PORT>'
service_name : "<SERVICE_NAME>" # Oracle CDB サービス名
username : 'datadog'
password : 'ENC[datadog_user_database_password]'
dbm : true
tags : # オプション
- 'service:<CUSTOM_SERVICE>'
- 'env:<CUSTOM_ENV>'
Copy
すべての Agent の構成が完了したら、Datadog Agent を再起動 します。
Datadog の Integrations ページで、組織用の Oracle インテグレーション をインストールしてください。これにより、Oracle データベースのパフォーマンスをモニタリングするために使用できる Oracle ダッシュボード がアカウントにインストールされます。
既存のインストールの場合、構成が conf.d/oracle-dbm.d/
ディレクトリにあることを確認します。レガシー構成を conf.d/oracle.d/
ディレクトリから移行する必要があるかもしれません。
次のコマンドを使用して、Oracle インテグレーションをレガシーインテグレーションから新しいインテグレーションに移行します。
cp /etc/datadog-agent/conf.d/oracle.d/conf.yaml /etc/datadog-agent/conf.d/oracle-dbm.d/conf.yaml
Copy
レガシーインテグレーションを非アクティブにします。
mv /etc/datadog-agent/conf.d/oracle.d/conf.yaml /etc/datadog-agent/conf.d/oracle.d/conf.yaml.bak
Copy
レガシーインテグレーションを非アクティブにすると、システムメトリクスが 2 回送信されなくなります。
Datadog Agent は外部の Oracle クライアントを必要としないので、新しいパラメーターファイル /etc/datadog-agent/conf.d/oracle-dbm.d/conf.yaml
から jdbc_driver_path
構成パラメーターを削除します。
Agent の status サブコマンドを実行 し、Checks セクションで oracle
を探します。Datadog のダッシュボード とデータベース のページに移動して開始します。
Database Monitoring は、Oracle データベースのカスタムクエリをサポートしています。使用可能な構成オプションの詳細については、conf.yaml.example を参照してください。
カスタムクエリを実行すると、Oracle によって追加コストまたは手数料が課される場合があります。