2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OCIユーザーにおすすめのMySQL監視サービス

Posted at

Oracle Cloud Infrastructure(OCI)のDatabase Managementは、これまでOracle DBやOCI上のマネージドサービス(HeatWave MySQLやBaseDB)を対象にリソースやパフォーマンス監視サービスを提供してきましたが、2025年1月にオンプレミスまたはIaaS上のMySQLも対象になりました。
この対応により、Oracle DB、MySQL両方の監視を同一のサービスで行えるようになっています。この記事では、MySQLを監視対象とするための設定や前提条件をご紹介します。
image.png
image.png
image.png

OCIのコンソールやドキュメントでは、オンプレミスやIaaS上のMySQLインスタンスのことを外部MySQL DBシステムと表現されています。

2025年1月現在の制限事項

  • LinuxOS上にインストールされたMySQL8.0以降が対象として追加可能
  • NDB Cluster環境はサポート外

監視対象にMySQLを追加する流れ

  1. OCI IAMユーザー・グループの作成
  2. Database ManagementでMySQLを監視可能にするためのポリシー設定
  3. MySQL登録の事前準備
    • MySQLパラメタの確認
    • 管理エージェントのインストール
    • 監視用のMySQLユーザーを作成・権限付与
    • Vaultの作成
  4. 監視対象としてMySQLを登録

上記の1〜2については既に利用可能になっている場合は省略可能です。

MySQLを監視可能にするためのポリシー設定

OCIのDatabase Managementサービスを利用するための権限とMySQLを監視対象にするための権限設定を行なっておく必要があります。
OCIコンソールから必要なポリシーを自動的に生成・設定することができます。
image.png
image.png

ドキュメント:
ユーザー・グループへの権限の自動付与
データベース管理の権限
外部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に接続できるホスト上に管理エージェントをインストールします。

  1. OCIコンソールの[監視および管理]-[ダウンロードとキー]を選択し[LINUXのエージェント]をダウンロードし、パッケージをインストール先のホスト上に配置します。
    image.png
    image.png

  2. あわせて[キーの作成]をクリックしてインストール・キーを作成し、キーをファイルにダウンロードしておきます。
    image.png
    image.png

  3. ダウンロードしたキーファイル(.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の作成

  1. OCIコンソールの[アイデンティティとセキュリティ]-[ボールト]を選択します。表示された画面で[ボールトの作成]をクリックして[名前]を入力して[ボールトの作成]をクリックします。(アクティブになるまで数分かかる場合があります)
  2. 作成したボールト名をクリックして表示された画面で[マスター暗号キー]タブを選択して[キーの作成]画面で名前を入力して[キーの作成]をクリックします。
    image.png
    image.png

監視対象としてMySQLを登録

  1. OCIコンソールのメニューから[データベース管理]-[概要]を選択し、[MySQLデータベース]-[外部データベース]をクリックして表示されるページで[外部MySQL DBシステムの登録]を選択します。
    image.png
    image.png
  2. 表示された登録画面でDBシステム名を入力し、[コネクタの作成]の各項目を入力します。TCPの場合はシークレットを新規に作成します。
    image.png
  3. 事前準備で作成したボールトと暗号化キーを指定します。ユーザー名、パスワードは監視用に追加したMySQLユーザーの情報を入力し、[シークレットの作成]をクリックします。
    image.png
  4. [接続のテスト]で成功したら[送信]をクリックします。完了すると監視対象に追加され表示されます。
    image.png
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?