New Relic CLIを使用して、Oracleデータベース監視用のNRDOT Collectorをインストールおよび設定できます。CLIは、単一のコマンドでコレクターをインストールし、監視データベースユーザーを作成し、コレクターを設定します。
ガイド付きインストレーション
代わりにNew Relic UIからインストールするには、one.newrelic.com > Integrations & Agents > Oracle (Database 360) に移動してください。このページでは、手動インストレーションについてのみ説明します。
前提条件
- 有効なライセンスキーを持つNew Relicアカウント。
- New Relic アカウントID。
- Oracleデータベース19c以降。
- セルフホスト型Oracleの場合:
curlおよびsystemdがインストールされたOracle Linux 7、8、または9、およびSSHユーザーがパスワードプロンプトなしでsudo su - oracleを実行できるOracleデータベースホストへのSSHアクセス(エージェント転送付き)。 - AWS RDS上のOracleの場合:
curlおよびsystemdがインストールされ、コレクターホストからRDS Oracleエンドポイントへのネットワーク接続がある、Debian/UbuntuまたはCentOS/RHEL/OELを実行するコレクターホスト。 - Oracle Autonomous データベース(ADB)の場合:Debian/UbuntuまたはCentOS/RHEL/OELを実行し、
curl、systemd、およびOracle Instant Client(sqlplus)がインストールされ、PATHにあるコレクターホスト;各インスタンスのエグレスIPがそのADBアクセス制御リストで許可されていること;および、各インスタンスのOracle Walletがダウンロードされ、コレクターホスト上の独自のディレクトリに解凍されていること。
NRDOT Collectorのインストールと設定
このレシピは、単一のコレクターから1つ以上のOracle データベースインスタンス(それぞれSSH経由で到達可能)をモニターします。単一のホスト/コンテナ/資格情報セットの入力を求める代わりに、モニターするすべてのインスタンスをリストしたインスタンスファイル(YAML)と、オプションで、監視ユーザーのパスワードを自動生成する代わりに特定のパスワードを固定するためのシークレットファイルを読み込みます。
このコマンドを実行する前に、以下を準備してください:
- 各
ssh_userがパスワードプロンプトなしでsudo su - oracleを実行できる、リストされたすべてのOracle データベースホストへのSSHアクセス(エージェント転送付き) - インスタンスごとのコンテナタイプ(すべてのPDBのCDB、または単一のPDB名)
- インスタンスごとのCDBまたはPDBサービス名
- BasicメトリクスとAdvancedメトリクスのどちらを希望するか
インスタンスファイルを作成します。このコレクターでモニターするOracle データベースインスタンスごとに1つのエントリを追加します;単一のインスタンスのみを監視する場合は、1つのエントリのみです:
bash$cat > ~/oracle-instances.yml << 'EOF'$instances:$- host: dbhost1.example.com$port: 1521$ssh_user: opc$container_type: 1$pdb_name:$service: ORCLCDB$login_name: newrelic$EOFcontainer_typeCDBの場合は1(すべてのPDBをモニターし、共通のc##<login_name>ユーザーを作成します)、単一のPDBの場合は2(その場合のみpdb_nameが必要です)です。c##プレフィックスを付けずにlogin_nameを入力してください:CDBモードではレシピによって自動的に追加されます。(オプション)レシピに自動生成させる代わりに、インスタンスごとに固定の監視ユーザーパスワードを設定するシークレットファイルを作成します。セルフホスト型Oracleでは、ここで管理者資格情報は必要ありません。監視ユーザーは、SSHおよびOS認証のSYSDBAアクセスを介して作成されます:
bash$umask 077$cat > ~/oracle-secrets.env << 'EOF'$NR_CLI_ORACLE_LOGIN_PASSWORD_1=SomeFixedPassword1$EOF$chmod 600 ~/oracle-secrets.env代わりにすべてのインスタンスのランダムなパスワードを自動生成するには、secretsファイルのパスを空白のままにします(または存在しないファイルを指定します)。
インスタンスファイルにリストされているすべてのOracleデータベースホストへのSSHアクセス(エージェント転送付き)を持つホストから、これを実行します:
$curl -Ls https://download.newrelic.com/install/newrelic-cli/scripts/install.sh | bash && sudo NEW_RELIC_API_KEY=INSERT_YOUR_API_KEY NEW_RELIC_ACCOUNT_ID=INSERT_YOUR_ACCOUNT_ID NEW_RELIC_REGION=INSERT_YOUR_REGION /usr/local/bin/newrelic install -n nrdot-collector-oracleCLIは、以下の変数について対話的にプロンプトを表示します。非対話的に実行するために、事前に環境変数として設定することもできます。
変数 | 説明 | デフォルト |
|---|---|---|
| 必須。インスタンスYAMLファイルへのパス。 | なし |
| オプション。インスタンスごとに | なし |
| NRDOTの設定:
|
|
ヒント
このコレクターから複数のOracle データベース・インスタンスをモニターするには、インスタンスファイルにさらにエントリを追加します。チェックに失敗したインスタンスは、インストール全体を中止するのではなく、理由がログに記録されてスキップされます。すでに監視ユーザーが存在するインスタンスに対して再実行すると、それを再利用するか新しいユーザーを作成するかを尋ねる対話的なプロンプトが表示されます(この1つのステップは完全にはスクリプト化できません)。
このレシピは、インスタンスファイルとシークレットファイルを使用して、単一のコレクターから1つ以上のRDS Oracleエンドポイントをモニターします。
このコマンドを実行する前に、以下を準備してください:
- すべてのインスタンスのRDS Oracleエンドポイント、リスナーポート、およびDBサービス名
- すべてのインスタンスのRDSマスター・ユーザー名とパスワード
- BasicメトリクスとAdvancedメトリクスのどちらを希望するか
インスタンスファイルを作成します(このコレクターにモニターさせるRDS Oracleエンドポイントごとに1つのエントリ。単一のインスタンスのみを監視している場合でも1つのエントリ):
bash$cat > ~/oracle-instances.yml << 'EOF'$instances:$- host: rds-orders.abcdef123.us-east-1.rds.amazonaws.com$port: 1521$service: ORDERSDB$login_name: newrelic$EOFインスタンスファイルの順序と一致するようにインデックス付けされた、各インスタンスのRDSマスターユーザー名とパスワードを含むシークレットファイルを作成します。オプションで、インスタンスごとに固定の監視ユーザーパスワードを設定することもできます。自動生成する場合は省略してください:
bash$umask 077$cat > ~/oracle-secrets.env << 'EOF'$NR_CLI_ORACLE_ADMIN_USER_1=admin$NR_CLI_ORACLE_ADMIN_PASSWORD_1=YourMasterPassword1$EOF$chmod 600 ~/oracle-secrets.env
$curl -Ls https://download.newrelic.com/install/newrelic-cli/scripts/install.sh | bash && sudo NEW_RELIC_API_KEY=INSERT_YOUR_API_KEY NEW_RELIC_ACCOUNT_ID=INSERT_YOUR_ACCOUNT_ID NEW_RELIC_REGION=INSERT_YOUR_REGION /usr/local/bin/newrelic install -n nrdot-collector-oracle-rdsCLIは、以下の変数について対話的にプロンプトを表示します。非対話的に実行するために、事前に環境変数として設定することもできます。
変数 | 説明 | デフォルト |
|---|---|---|
| 必須。インスタンスYAMLファイルへのパス。 | なし |
| 必須。シークレットファイルへのパス( | なし |
| NRDOTの設定:
|
|
ヒント
このコレクターから複数のRDS Oracleエンドポイントをモニターするには、インスタンスファイルにエントリを追加し、シークレットファイルに一致する番号付きの資格情報を追加します。チェックに失敗したインスタンスは、インストール全体を中止するのではなく、理由がログに記録されてスキップされます。
このレシピは、インスタンス・ファイルとシークレット・ファイルを使用して、単一のコレクターから1つ以上のOracle Autonomous データベース(ADB)インスタンスをモニターします。各インスタンスは、ダウンロードした独自のウォレットを使用して、相互TLS(ADBのデフォルト)経由で接続します。インスタンス間で1つのウォレット・ディレクトリを共有しないでください。
このコマンドを実行する前に、以下を準備してください:
- 各インスタンス:その接続文字列(
host、port、service、ADBコンソールのDatabase connection > Connection stringsから) - 各インスタンスについて:コレクターホスト上の独自のディレクトリに解凍された、ダウンロード済みのOracle Wallet(ADBコンソールのDatabase connection > Download wallet)
- すべてのインスタンスのADB管理者(
ADMIN)のユーザー名とパスワード
インスタンスファイルを作成します。このコレクターでモニターするADBインスタンスごとに1つのエントリを追加します;単一のインスタンスのみを監視する場合は、1つのエントリのみを追加します:
bash$cat > ~/adb-instances.yml << 'EOF'$instances:$- host: adb1.adb.us-ashburn-1.oraclecloud.com$port: 1522$service: myadb1_high$login_name: newrelic$wallet_dir: /home/opc/wallet1$EOFwallet_dirは、そのインスタンスのウォレットが展開されたディレクトリです(cwallet.ssoとsqlnet.oraが含まれている必要があります);ウォレット・ディレクトリが欠落しているか無効なインスタンスは、インストール全体を失敗させるのではなく、スキップされます。各インスタンスのADB管理者ユーザー名とパスワードを含むsecretsファイルを作成し、インスタンスファイルの順序と一致するようにインデックスを付けます。オプションで、インスタンスごとに固定の監視ユーザーパスワードを設定することもできます。自動生成する場合は省略してください:
bash$umask 077$cat > ~/adb-secrets.env << 'EOF'$NR_CLI_ORACLE_ADMIN_USER_1=ADMIN$NR_CLI_ORACLE_ADMIN_PASSWORD_1=YourAdminPassword1$EOF$chmod 600 ~/adb-secrets.env
PATHにsqlplus(Oracle Instant Client)があり、リストされているすべてのADBインスタンスへのネットワーク接続(mTLS)があるホストから、これを実行します:
$curl -Ls https://download.newrelic.com/install/newrelic-cli/scripts/install.sh | bash && sudo NEW_RELIC_API_KEY=INSERT_YOUR_API_KEY NEW_RELIC_ACCOUNT_ID=INSERT_YOUR_ACCOUNT_ID NEW_RELIC_REGION=INSERT_YOUR_REGION /usr/local/bin/newrelic install -n nrdot-collector-oracle-adbCLIは、以下の変数について対話的にプロンプトを表示します。非対話的に実行するために、事前に環境変数として設定することもできます。
変数 | 説明 | デフォルト |
|---|---|---|
| 必須。インスタンスYAMLファイルへのパス。 | なし |
| 必須。シークレットファイルへのパス( | なし |
ヒント
ADB用のNR_CLI_ORACLE_CONFIG_PRESETはありません:これはフルマネージド・サービスであり、ホスト・レベルのメトリクスを収集するためのホストが存在しないためです。
ヒント
このコレクターから複数のADBインスタンスをモニターするには、インスタンスファイルにエントリを追加し、シークレットファイルに一致する番号付きの資格情報を追加します。チェックに失敗したインスタンスは、インストール全体を中止するのではなく、理由がログに記録されてスキップされます。
New RelicでOracleデータベースのエンティティを見つけるには、「データの検索と使用」をご覧ください。