はじめに
New RelicのAPMは、アプリケーション単位でのデータベースクエリ分析に優れています。しかし、データベースサーバーのI/Oメトリック分析や、マルチテナントデータベース環境での分析には限界があります。
New Relicの統合機能を利用することで、これらの不足を補い、MySQLのようなサービスやミドルウェアからさらに詳細な情報を取得できます。本記事では、New RelicでMySQLの詳細情報を取得する方法について解説します。
MySQL Integrationで取得できる情報
MySQL Integrationで取得できる情報は、大きく二つに分かれます
-
MySQL integration
Disk I/Oやコネクション数をはじめとするMySQLのさまざまな情報が取得できます。
-
Query performance Monitoring
データベースに対し発行されたクエリのモニタリングを包括的に行います。
※本機能はプレビュー中のため、ご利用なさる際には利用申請を行なっていただく必要がございます。また、MySQL 8.0以降が必要です。
MySQL Integration構成イメージ
MySQL IntegrationはInfrastructure Agentに付随するOn-host Integrationの形で動作し、取得した情報をNew Relicに送信します。情報を取得する対象はInfrastructure Agentがインストールされたホストマシン以外に、リモートホストを指定することもできます。
今回はこのリモートホストの設定を利用し、マネージドサービスであるAWS RDS for MySQLの詳細な情報を取得していきます。
MySQL Integrationを設定する
それでは実際にIntegrationを設定してみましょう。
今回はAmazon Linux 2がインストールされたEC2インスタンスよりRDSの情報を取得します。
Infrastructure Agentのインストール
まずはIntegrationを設定するhostにInfrastructure Agentをインストールします。
MySQL Integrationをインストールする
Integrations & AgentsからMySQLを検索します。
インストールOSでLinux (Amazon Linux 2)を指定します。
MySQLバージョンとTLSバージョン確認し、要件(MySQL 5.6以上)を満たしているか確認します。
Query Performance Monitoringを有効化していない場合は、有効化します。
MySQLサーバに接続するユーザーのユーザー名とパスワードを指定します。
モニタリングを行うユーザー作成のクエリを確認します。
UIにデフォルトで表示されるクエリはlocalhostに対する設定となっているため、ご自身の環境に合わせて書き換えます。
まとめ
以上、MySQLのより詳細な情報を分析するための設定手順をご紹介させていただきました。
皆様のサービス運用の一助になりますと幸いです。