AWS RDS MySQLインスタンス用のNRDOT Collectorを使用して、MySQL監視をセットアップします。RDS環境には、パフォーマンススキーマの消費者と権限に関する特定の考慮事項があります。
前提条件
インストールする前に、以下のものがあることを確認してください:
NewRelicライセンスキー。
NRDOT CollectorをインストールするホストとRDS MySQLインスタンス間のネットワーク接続。
New Relic OTLPエンドポイントのドキュメントへのネットワーク接続
RDSマスターユーザーの認証情報。
このインテグレーションは、New Relicパブリックプレビュープログラムの一環としてご利用いただけます。プレビューとトライアルページからオプトインするには、組織マネージャーに確認してください。
サポートされているMySQLのバージョン、必要な権限、および
performance_schemaの要件については、互換性と前提条件を参照してください。
NRDOT Collectorのセットアップ
RDSインスタンスに接続できるシステムにNRDOT Collectorをインストールします:
データベースユーザーを構成する
RDS MySQLインスタンスに必要な権限を持つ監視ユーザーを作成します。
監視ユーザーを作成するには、マスターユーザーとしてRDSインスタンスに接続し、次を実行します:
CREATE USER '<YOUR_DB_USERNAME>'@'%' IDENTIFIED BY '<YOUR_DB_PASSWORD>';クエリサンプルとトップクエリを収集するには、監視ユーザーに次の権限を付与します:
GRANT SELECT ON performance_schema.* TO '<YOUR_DB_USERNAME>'@'%';(オプション)New Relicプラットフォームで待機時間データを表示するには、監視ユーザーに次の権限を付与します:
GRANT UPDATE ON performance_schema.setup_consumers TO '<YOUR_DB_USERNAME>'@'%';ヒント
この設定はRDSでは保持されません;
events_waits_current消費者は再起動またはフェイルオーバーのたびにリセットされます。この権限を付与すると、コレクターは再接続時に自動的に再度有効にすることができます;そうでない場合は、再起動のたびに有効化ステートメントを再実行する必要があります。(オプション)接続と権限を確認するには、次を実行します:
bash$mysql -h <YOUR_DB_HOST> -P <YOUR_DB_PORT> -u <YOUR_DB_USERNAME> -p -e "SELECT 1;"コマンドがエラーなしで完了した場合、監視ユーザー、ホスト、およびポートはすべて正しいです。
NRDOT Collectorを構成する
MySQL固有の設定でNRDOT Collectorを設定します。監視ニーズに基づいて設定タイプを選択します:
重要
NRDOT Collectorを介したMySQLインテグレーションは、標準のデータ取り込みの価格設定に従います。フル機能の設定では標準のセットアップよりも多くのデータが取り込まれるため、全体の請求額が増加する可能性があることにご注意ください。
設定パラメーター
次の表は、 nrmysql受信機のキー設定を説明しています。
| パラメータ | 説明 |
|---|---|
<YOUR_DB_HOST> | RDS MySQLエンドポイント。例: mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com |
<YOUR_DB_PORT> | MySQLのポート番号を入力します。デフォルト値は3306です。 |
<YOUR_DB_USERNAME> | データベースユーザーの設定で作成した監視ユーザーのユーザー名を入力します。 |
<YOUR_DB_PASSWORD> | データベースユーザーの設定で作成した監視ユーザーのパスワードを入力します。 |
<YOUR_DATABASE_NAME> | オプション。特定のデータベース名を入力して、監視をそのデータベースに制限してください。監視ユーザーがアクセスできるすべてのデータベースをモニターするには、このパラメーターを省略してください。 |
<YOUR_NEWRELIC_OTLP_ENDPOINT> | New Relic OTLPエンドポイントを入力します。詳細については、New Relic OTLPエンドポイントを参照してください。 |
<YOUR_NEWRELIC_LICENSE_KEY> | New Relicのライセンスキーを入力してください。 |
transport | ネットワーク経由で接続するため、デフォルト値はtcpに設定されています。 |
collection_interval | メトリクススクレイプの間隔を入力します。デフォルト:10s。 |
explain_mode | デフォルト値はinlineに設定されています。監視ユーザーにDML権限を付与せずに書き込みステートメントのクエリプランを収集するには、値をprocedureに設定します。書き込みステートメントのクエリプランを参照してください。 |
NRDOT Collectorの設定の検証
新しい
mysql-config.yamlファイルを指すように設定パスを更新します:bash$OTELCOL_OPTIONS="/etc/nrdot-collector/mysql-config.yaml"NRDOT Collectorの設定を検証して、正しくフォーマットされ、適切に機能することを確認します:
bash$sudo /usr/bin/nrdot-collector validate --config=/etc/nrdot-collector/mysql-config.yaml
ヒント
もできます。
- 複数のレシーバーの設定: 1つのコレクターから複数のMySQLインスタンスをモニターするため。
- MySQLデータベースをAPMとリンクする: アプリケーションパフォーマンスをデータベース操作と関連付けるため。これにより、どのアプリケーションが特定のデータベースワークロードを生成しているかを正確に確認できます。
- SQLクエリレシーバーの構成: MySQLデータベースからカスタムメトリックを収集します。
- シークレット管理の設定: データベースの認証情報などの機密情報を安全に管理するため。これにより、設定ファイルに機密データをハードコーディングすることを回避し、監視設定のセキュリティを強化できます。
NRDOT Collectorを再起動します
設定を更新した後、NRDOT Collectorサービスを再起動します:
bash$sudo systemctl restart nrdot-collectorヒント
新しい設定を確実に有効にするために、構成の変更後は必ず NRDOT コレクター サービスを再起動してください。
コレクターが正常に実行されていることを確認するには、サービスステータスを確認します:
bash$sudo systemctl status nrdot-collector
データを探す、使う
データの収集が開始されると、New RelicのUIを通じて包括的なRDS MySQLデータベース監視にアクセスできます。
New RelicでRDS MySQLデータベースエンティティを見つけるには:
- https://one.newrelic.com > All Capabilities > Databasesに移動します。
- Entity typeドロップダウンからMySQL instanceを選択し、Applyをクリックします。
- エンティティのリストからRDS MySQLデータベースを選択します。
Amazon RDSの制限事項
mysql.events_waits_current.timer_waitおよび待機ベースのダッシュボードには、events_waits_currentパフォーマンススキーマ消費者が必須です。mysql8.0RDSパラメーターグループファミリーはperformance_schema_consumer_*パラメーターを公開しないため、永続的な設定が妨げられます。データベースの再起動やフェイルオーバーのたびに設定がリセットされるため、この消費者は実行時に有効にする必要があります。