Oracle Cloud Infrastructure(OCI)のDatabase Managementは、これまでOracle DBやOCI上のマネージドサービス(HeatWave MySQLやBaseDB)を対象にリソースやパフォーマンス監視サービスを提供してきましたが、2025年1月にオンプレミスまたはIaaS上のMySQLも対象になりました。
この対応により、Oracle DB、MySQL両方の監視を同一のサービスで行えるようになっています。この記事では、MySQLを監視対象とするための設定や前提条件をご紹介します。
OCIのコンソールやドキュメントでは、オンプレミスやIaaS上のMySQLインスタンスのことを外部MySQL DBシステム
と表現されています。
2025年1月現在の制限事項
- LinuxOS上にインストールされたMySQL8.0以降が対象として追加可能
- NDB Cluster環境はサポート外
監視対象にMySQLを追加する流れ
- OCI IAMユーザー・グループの作成
- Database ManagementでMySQLを監視可能にするためのポリシー設定
- MySQL登録の事前準備
- MySQLパラメタの確認
- 管理エージェントのインストール
- 監視用のMySQLユーザーを作成・権限付与
- Vaultの作成
- 監視対象としてMySQLを登録
上記の1〜2については既に利用可能になっている場合は省略可能です。
MySQLを監視可能にするためのポリシー設定
OCIのDatabase Managementサービスを利用するための権限とMySQLを監視対象にするための権限設定を行なっておく必要があります。
OCIコンソールから必要なポリシーを自動的に生成・設定することができます。
ドキュメント:
ユーザー・グループへの権限の自動付与
データベース管理の権限
外部MySQLにデータベース管理を使用するために必要な追加権限
Oracle Cloud Infrastructureの一般的な前提条件タスクの実行
MySQL登録の事前準備
MySQLパラメタの確認
監視対象にMySQLを追加する際には、下記3つのMySQLサーバーのパラメタ設定が必須となっています。
performance_schema
この変数はデフォルトでONに設定されており、パフォーマンス・スキーマを有効にするために必要です。
max_digest_length
この変数はより大きなSQL文のコレクションに必要です。
デフォルト値は1024で、長い文のコレクションを許可するには、値を4096に設定することをお薦めします。
performance_schema_max_digest_length
値はmax_digest_length変数の値セットと一致する必要があります。
管理エージェントのインストール
Database Managementサービスは、管理エージェントを使用してデータおよびメトリックを収集するため、MySQLに接続できるホスト上に管理エージェントをインストールします。
-
OCIコンソールの[監視および管理]-[ダウンロードとキー]を選択し[LINUXのエージェント]をダウンロードし、パッケージをインストール先のホスト上に配置します。
-
ダウンロードしたキーファイル(.rsp)をエディタで編集します。
必要となるパラメータは以下の2つです。ManagementAgentInstallKeyは記述されているはずなので、CredentialWalletPasswordにパスワード文字列を設定します。
ManagementAgentInstallKey = MS4wLHVzLWFzaGJ1cm4tMSxvY2lkMS50ZW5hbmN5
CredentialWalletPassword = Abcdefgh1#
4. インストールを実行します。
#Java SDKをインストール
sudo rpm -ivh jdk-8u431-linux-x64.rpm
#管理エージェントをインストール
sudo rpm -ivh oracle.mgmt_agent.250128.1929.Linux-x86_64.rpm
#input.rspファイルを作成し、ダウンロードしたキーファイルの内容を貼り付け
sudo vi /opt/oracle/mgmt_agent/agent_inst/bin/input.rsp
#ファイル所有者を変更
sudo chown mgmt_agent:mgmt_agent /opt/oracle/mgmt_agent/agent_inst/bin/input.rsp
#管理エージェントのインストールを実行
sudo /opt/oracle/mgmt_agent/agent_inst/bin/setup.sh opts=/opt/oracle/mgmt_agent/agent_inst/bin/input.rsp
#ステータス確認
sudo systemctl status mgmt_agent
- MySQLインスタンスに接続するには、管理エージェント241023.2127以上が必要です。
- 管理エージェントのインストールには最新バージョンのJDK8またはJRE8 (バージョン1.8u281以上)をダウンロードおよびインストールしてから、管理エージェント・ソフトウェアのインストール・プロセスを開始してください。
監視用のMySQLユーザーを作成・権限付与
MySQLからメトリックを参照するために権限を持つユーザーを作成します。
CREATE USER 'mgm'@'%' IDENTIFIED by 'MySQL9.2';
GRANT
SERVICE_CONNECTION_ADMIN,
SYSTEM_USER,
SELECT,
PROCESS,
SHOW VIEW,
SHOW DATABASES,
REPLICATION CLIENT,
REPLICATION SLAVE
ON *.* TO 'mgm'@'%';
GRANT EXECUTE ON sys.* TO mgm'@'%';
Vaultの作成
- OCIコンソールの[アイデンティティとセキュリティ]-[ボールト]を選択します。表示された画面で[ボールトの作成]をクリックして[名前]を入力して[ボールトの作成]をクリックします。(アクティブになるまで数分かかる場合があります)
- 作成したボールト名をクリックして表示された画面で[マスター暗号キー]タブを選択して[キーの作成]画面で名前を入力して[キーの作成]をクリックします。
監視対象としてMySQLを登録
- OCIコンソールのメニューから[データベース管理]-[概要]を選択し、[MySQLデータベース]-[外部データベース]をクリックして表示されるページで[外部MySQL DBシステムの登録]を選択します。
- 表示された登録画面でDBシステム名を入力し、[コネクタの作成]の各項目を入力します。TCPの場合はシークレットを新規に作成します。
- 事前準備で作成したボールトと暗号化キーを指定します。ユーザー名、パスワードは監視用に追加したMySQLユーザーの情報を入力し、[シークレットの作成]をクリックします。
- [接続のテスト]で成功したら[送信]をクリックします。完了すると監視対象に追加され表示されます。