[+/-]
Query Analyzer を有効にする方法は次の 3 種類があります。
インストール中に設定したプロキシポートと通信するように MySQL クライアントアプリケーションを変更します。この場合、MySQL クライアントアプリケーションコードを変更する必要があります。また、場合によっては、MySQL クライアントアプリケーションを停止して再起動する必要もあります。ただし、MySQL サーバの変更は必要ありません。詳細については、項9.1.1. 「MySQL クライアントアプリケーションを変更して Query Analyzer を有効にする」を参照してください。
MySQL サーバのリッスンポートを変更し、元の MySQL サーバポートでリッスンするように Agent/プロキシを設定します。MySQL クライアントアプリケーションを変更する必要はありませんが、MySQL サーバをシャットダウンして再起動する必要があります。これにより、キャッシュおよびパフォーマンスに影響を及ぼすおそれがあります。詳細については、項9.1.2. 「MySQL Server を変更して Query Analyzer を有効にする」を参照してください。
IP テーブルを使用して、ネットワークパケットをエージェント/プロキシにリダイレクトします。
MySQL Query Analyzer は、さまざまなソースからクエリのパフォーマンス情報を収集するように設計されています。Query Analyzer は、新しいエージェントプラグインを使用してクエリをプロキシし、パフォーマンスデータを収集します。このデータはあとで Enterprise Monitor に送信されます。これはエージェントの新しい役割です。エージェントは単に監視するだけでなく、設定によっては MySQL クライアントアプリケーションと MySQL サーバを仲介するようになりました。
システムの負荷に応じて、プロキシに過負荷をかけることも、MySQL
自体に必要なシステムリソースをプロキシ/エージェントで消費させることもできます。特に、MySQL
エージェントが基本的な監視に必要とするメモリの量はかなり小さく一定で、有効にしているルールの数に依存します。しかし、Query
Analyzer
が有効な場合、エージェントを通してどのクエリを監視し解析するにしても、エージェントはかなりのメモリを使用する可能性があります。このような場合、使用されるメモリは固有の正規化クエリの数、クエリ例、EXPLAIN
例に依存します。さらに、このクエリのパフォーマンスデータを
Service Manager
に送信するために必要なネットワーク帯域幅にも依存します。一般に、Query
Analyzer
に使用されるメモリ量はよく抑制されていますが、負荷の高い状況や、場合によっては古いバージョンの
Linux で、Query Analyzer による RAM
の使用率が環境と負荷に対して高くなりすぎることがあります。
したがって、このリリースの Query Analyzer を本番環境で使用する前に、開発環境、テスト環境、ステージング環境で長期間、負荷の下で幅広く使用することをお勧めします。すべての配備において、次の点に留意してください。
グラフ タブで使用できる新しい メモリ使用状況 - エージェント グラフを使用して、エージェントのリソース消費を注意深く監視してください。新しいヒートチャートルール MySQLエージェントがメモリを過度に使用しています。 に SMTP または SNMP 通知を追加することもできます。
メモリ使用量が大きすぎる場合、非ピーク時にクエリをサンプルするか、システム内の一部のクエリのみを監視することを検討してください。
Query Analyzer で問題が発生した場合は、緊密な協力によって迅速に解決したいと考えています。すぐにサポート問題を開いてください。エージェント/プロキシの RAM 使用率の最適化にはすでに取り組んでおり、これらも含めた改善点をお客様に迅速に届けるために一連のラピッドリリースを計画しています。
インストール中に、エージェント/プロキシ内で
Query Analyzer
を有効にしている必要があることに注意してください。エージェント/プロキシのインストール中に
Query Analyzer を有効にしていない場合、メインの
mysql-monitor-agent.ini
設定ファイル内で次の要素を確認してください。
proxy
プラグインを
plugins
パラメータに追加します。
plugins=proxy,agent
quan.lua
アイテムファイルが
agent-item-files
設定プロパティで有効にされていることを確認します。
agent-item-files = share/mysql-proxy/items/quan.lua,share/mysql-proxy/items/items-mysql-monitor.xml
proxy-address
、proxy-backend-addresses
、proxy-lua-script
を確認して、次のように設定されているか確認します。
proxy-address=:6446 proxy-backend-addresses = 127.0.0.1:3306 proxy-lua-script = share/mysql-proxy/quan.lua
これらの設定オプションの詳細は、項2.3.6.1. 「MySQL Enterprise Service Agent (mysql-monitor-agent.ini
) の設定」を参照してください。
MySQL Enterprise Service Agent 内のモジュールが有効になっていないにもかかわらず、サーバで Query Analyzer 機能が有効になっているように表示されることがあります。
クエリが正しく MySQL Enterprise Service Manager に報告されるように、サーバのセキュリティ設定を変更しなければならない場合もあります。
エージェント/プロキシを介して接続され、Query Analyzer 情報を報告する必要がある MySQL クライアントアプリケーション内で設定されている各ユーザが、エージェント/プロキシが実行するホストからサーバに接続できるようにする必要があります。このユーザがエージェント/プロキシに接続し、エージェント/プロキシがサーバに接続する場合、接続中の識別クライアントホスト名として、エージェント/プロキシのホストが使用されます。
ユーザ証明書を更新するには、GRANT
ステートメントを使用する必要があります。例:
mysql> GRANT SELECT,UPDATE,INSERT on database.* to 'user'@'localhost' IDENTIFIED BY 'password';
MySQL
クライアントアプリケーションのユーザは、mysql.inventory
テーブルでの SELECT
権限が必要です。このテーブルには、サーバ
UUID
が含まれています。これを有効にするには、次のように
GRANT
オプションを使用します。
mysql> GRANT SELECT on mysql.inventory to 'user'@'localhost' IDENTIFIED BY 'password';