
データベース管理者の責務の一つは、データベースのパフォーマンスを監視することです。しかし、どうすれば良いのでしょうか?数多くのオープンソースプロジェクトのおかげで、このタスクを管理する方法は数多くあります。その一つが、Percona Monitoring and Management システムです。このシステムには以下の機能があります。
- MySQL、MariaDB、PostgreSQL、MongoDB、ProxySQL のサポート
- ACID準拠
- マルチバージョン同時実行制御
- トリガー、ビュー、サブクエリ、ストアド プロシージャなどのサポート
- InnoDB リソース グループのサポート
- MySQL/MariaDB の InnoDB、XtraDB、MyRocks ストレージ エンジンと、MongoDB の WiredTire、MMAPv1、InMemory、RocksDB をサポートします。
- SQLロール
- クエリ分析とメトリクスの両方を監視する
- 一般的なセキュリティ問題のチェックをサポート
参照: 採用キット: データベースエンジニア (TechRepublic Premium)
データベース パフォーマンス モニターが必要な場合、Percona がまさにあなたが探しているものかもしれません。ここでは、Docker を利用してこのシステムを起動して実行する方法を説明します。
Perconaを展開するために必要なもの
このデータベースパフォーマンスモニターを導入するために必要なのは、Dockerをサポートするマシンが少なくとも1台と、sudo権限を持つユーザーだけです。Ubuntu Server 22.04のインスタンスを2つ使用してデモを行います。準備ができたら、早速始めましょう。
Dockerのインストール方法
まず最初に、次のコマンドで公式 Docker リポジトリの GPG キーをインストールします。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
次に、次のコマンドで公式 Docker リポジトリを追加します。
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
次のコマンドで必要な依存関係をインストールします。
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y
最後に、Docker エンジンの最新バージョンをインストールします。
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
次のコマンドでユーザーを docker グループに追加します。
sudo usermod -aG docker $USER
変更を有効にするには、ログアウトして再度ログインしてください。
Perconaの導入方法
まず、次のコマンドでデプロイメント用のボリュームを作成します。
docker create -v /srv --name pmm-data percona/pmm-server:latest /bin/true
次に、以下のコマンドで Percona をデプロイします。
docker run -d -p 8000:80 -p 8443:443 --volumes-from pmm-data --name pmm-server --restart always percona/pmm-server:latest
Perconaウェブインターフェースにアクセスする方法
ブラウザで https://SERVER:8443 にアクセスすると、Percona のウェブインターフェースにアクセスできるようになります。ここで、SERVER はホスティングサーバーの IP アドレスです。デフォルトの認証情報(admin/admin)を使用してログインする必要があります。
認証に成功すると、管理者ユーザーのパスワードを変更するように求められます。これはセキュリティのためだけでなく、Percona監視エージェントへの接続にも不可欠です。
Percona監視エージェントの導入方法
Perconaでデータベースサーバーのパフォーマンスを監視するには、それらのサーバーをモニターに接続する必要があります。そのためには、Dockerを使い続けます。そのためには、以下の3つの情報が必要です。
- PerconaサーバーのIPアドレス
- Perconaの管理者ユーザー名は
admin
- 初回ログイン時に変更したPercona管理者ユーザーのパスワード
監視対象のデータベースサーバーにDockerがインストールされていることも確認する必要があります。これは先ほどと同じ手順で行えます。Dockerがインストールされている場合は、次のコマンドで最新のPercona pmm-clientをダウンロードしてください。
docker pull percona/pmm-client:2
次のようにして永続データ用のボリュームを作成します。
docker create --volume /srv --name pmm-client-data percona/pmm-client:2 /bin/true
最後に、次のコマンドを使用して PMM エージェントを展開します (展開に合わせて SERVER と PWORD を変更してください)。
docker run -d \
--rm \
--name pmm-client \
-e PMM_AGENT_SERVER_ADDRESS=SERVER \
-e PMM_AGENT_SERVER_USERNAME=admin \
-e PMM_AGENT_SERVER_PASSWORD=PWORD \
-e PMM_AGENT_SERVER_INSECURE_TLS=1 \
-e PMM_AGENT_SETUP=1 \
-e PMM_AGENT_CONFIG_FILE=config/pmm-agent.yaml \
--volumes-from pmm-client-data \
percona/pmm-client:2
ここで、SERVER は、先ほど展開したホスティング Percona 監視サーバーの IP アドレスであり、PWORD は管理者ユーザー用に作成した新しいパスワードです。
次のコマンドでクライアントをサーバーに接続できます。
docker exec pmm-client pmm-admin config --server-insecure-tls --server-url=https://admin:PWORD@SERVER:8443
ここで、PWORD は作成した管理者パスワード、SERVER は Percona サーバーの IP アドレスです。
出力には次のように表示されます。
Checking local pmm-agent status...
pmm-agent is running.
Registering pmm-agent on PMM Server…
Registered.
Configuration file /usr/local/percona/pmm2/config/pmm-agent.yaml updated.
Reloading pmm-agent configuration…
Configuration reloaded.
Checking local pmm-agent status…
pmm-agent is running.
この時点で、新しいノードが Percona ダッシュボードに表示されます (図 A )。
図A

おめでとうございます!Dockerのおかげで、データベースパフォーマンスモニターが稼働するようになりました。Perconaの詳細については、こちらの公式ドキュメントをご覧ください。
Jack Wallen によるビジネス プロフェッショナル向けの最新のテクノロジー アドバイスをすべて知るには、YouTube で TechRepublic の How To Make Tech Work を購読してください。