NRDOTでMySQLの監視を開始する前に、環境がこれらの要件を満たしていることを確認してください。
前提条件
始める前に、次のものがあることを確認してください。
- 有効なNew Relicライセンスキー
- NRDOT CollectorをインストールするホストとMySQLデータベース間のネットワーク接続。NRDOT CollectorをMySQLデータベースとは異なるホストにインストールする予定の場合は、ネットワークアクセス要件を参照してください。
- New Relic OTLPエンドポイントのドキュメントへのネットワーク接続
- このインテグレーションは、New Relicパブリックプレビュープログラムの一環としてご利用いただけます。プレビューとトライアルページからオプトインするには、組織マネージャーに確認してください。
サポート対象MySQLバージョン
レシーバーは最初の接続時にデータベース製品とバージョンを検出し、それに応じて動作を調整します — サポートされていないバージョンや古いバージョンでも機能しますが、機能は制限されます:
バージョン | クエリプランの有効化
| Traceparentの伝播 |
/
| レプリカステータスの構文 |
|---|---|---|---|---|
| いいえ | はい | 0 |
|
–
| いいえ | はい | 0 |
|
–
| はい | はい | 0 |
|
| はい | はい | 入力済み |
|
| はい | はい | 入力済み |
|
| はい | はい | 入力済み |
|
重要
バージョン検出は致命的ではありません:失敗した場合、レシーバーはエラーになるのではなく、MySQL < 8の動作にフォールバックします。
ネットワークアクセス要件
デフォルトでは、NRDOTはTCP経由で接続します(レシーバー設定のtransport: tcp、デフォルト)。コレクターがデータベースと同じホストで実行されている場合は、代わりにtransport: unixを設定し、endpointをデータベースのUnixドメインソケット(たとえば/var/run/mysqld/mysqld.sock)に向けることができます。これにより、以下のネットワークチェックを完全に回避できます。その他のデプロイメント — コレクターとデータベースが異なるホスト、コンテナ、またはVPCにある場合 — には、TCPが必要です。
デプロイメント | チェックポイント |
|---|---|
EC2上の自己管理型MySQL | セキュリティグループ : コレクターが別のEC2インスタンスで実行されている場合は、コレクターのソース — 自身のセキュリティグループID(同一VPC、生のIPよりも推奨) — からDBポート(デフォルトは
)へのインバウンドルールを追加します。同じインスタンスでサイドカーとして実行されている場合は、ルールは必要ありません。また、
の
も確認してください:多くのディストリビューションのデフォルトでは
が設定されており、ローカル以外のTCP接続を拒否します — リモートのコレクターが到達できるようにするには、インスタンスのプライベートIPまたは
に設定してください。 |
Amazon RDS/Aurora for MySQL | VPCセキュリティグループ : コレクターのセキュリティグループまたはプライベートIPから、RDSインスタンスのポート(デフォルトは
)にインバウンドルールを追加します;RDSには編集するOSレベルの
がないため、これが唯一のネットワークゲートになります。 権限付与 はRDSマスターユーザーから行う必要があります — RDSには
アカウントがありません。 制限された権限 :
および
は、RDSエンジンのバージョンとパラメーターグループによっては制限されるか、利用できません。 TLS : "Require SSL/TLS"が強制されるRDSインスタンスでは、コレクターがAmazonのRDS CAを信頼する必要があります —
(または
)を に設定し、
/
は
のままにします。 |
リモート/クロスホストのデプロイメント | MySQLは、ユーザー名が同じであっても、
と
(または特定のホスト/CIDR)を 別のアカウント として扱います — 監視ユーザーを
として作成すると、他の場所で実行されているコレクターからの認証に暗黙的に失敗し、間違ったパスワードと区別がつかないアクセス拒否エラーが発生します。
を使用するか、コレクターの特定のプライベートIP/CIDRにスコープを設定してください。 |
重要
稼働中のAmazon RDS for MySQLインスタンスに対して検証済み:RDSのmysql8.0パラメーターグループファミリーは、performance_schema_consumer_*パラメーターをまったく公開していません — そこで設定できるのは、サイジング/バッファーパラメーターと、performance_schema、slow_query_log、およびlong_query_timeのみです。これは、events_waits_current(mysql.events_waits_current.timer_wait、および一般的な待機ベースのダッシュボードに必要)はRDSの実行時にのみオンにでき、再起動やフェイルオーバー後には維持されないことを意味します。
推奨されるサーバーサイドコンフィグレーション
レシーバーが利用可能なすべてのメトリクスとクエリプランを収集できるように、これらのMySQLサーバーのパラメーターを構成します。次の表に、パラメーターとその推奨値を示します:
パラメータ | 推奨値 | 理由 |
|---|---|---|
| 有効 | クエリサンプル、トップクエリ、およびブロッキング検出はすべてこれに依存しています |
|
| MySQLが切り捨てる前のより長いダイジェストテキスト |
|
| パフォーマンススキーマ層でも同様 |
|
| キャプチャされたステートメントが切り捨てられた場合、レシーバーはそのステートメントの
を完全にスキップします。デフォルトの
バイトでは、長いステートメントのクエリプランが警告なしに消失します |
次のステップ
環境がこれらの前提条件を満たしていることを確認したら:
- インストール方法を選択してください:
- 収集される利用可能なメトリクスを確認してください。
- 書き込みステートメントのクエリプランやロック待機時間の追跡などのオプション機能については、高度な設定をご覧ください
- 一般的な問題については、トラブルシューティングガイドをご覧ください