MySQL Enterprise Agent は次のタスクを実行します。
MySQL サーバーに接続し、サーバーに関する重要な情報を収集します。この重要なデータは「インベントリ」と呼ばれます。インベントリには、収集可能なほかの情報の決定を助けるために使用される、サーバーに関する重要な情報 (既知の項目) が含まれています。たとえば、インベントリには MySQL サーバーのバージョン番号、サポートされているストレージエンジンやレプリケーション設定のような詳細情報が含まれています。
収集されて MySQL Enterprise Service Manager に送信されるデータの大部分を構成する、「標準的な」データ項目のセットを収集します。 これには、設定、データベースオブジェクト、およびほかの内容に関するすべての情報が含まれています。
エージェントが稼働しているホストオペレーティングシステムに関するさまざまな情報を収集します。これには、CPU、RAM、およびファイルシステムの情報と統計が含まれています。
MySQL プロキシとして動作し、クライアントからの MySQL クエリを収集および転送し、収集したクエリ実行情報を MySQL Enterprise Service Manager に送信することで、Query Analyzer データを収集します。これは「MySQL Enterprise Agent Proxy Service」として知られています。
アプリケーションと言語のクエリ実行統計のアグリゲータとして動作し、Query Analyzer データを収集します。MySQL Enterprise Service Manager に直接接続せず、生のクエリごとの統計を MySQL Enterprise Service Manager への配信のためにエージェントに提供します。これは「MySQL Enterprise Agent Aggregator」として知られています。
使用している MySQL サーバーの固有の監視情報や統計情報を提供するように任意に設定できる、すべてのカスタムデータ項目を収集します。
MySQL Enterprise Agent はいくつかの異なるコンポーネントで構成されていますが、これらのコンポーネントはまとめて単一のアプリケーション (MySQL Enterprise Agent) として使用されます。しかし、これらの異なる要素や機能を区別し、それぞれの機能、設定、配備が簡単に記述できるように、全ドキュメントにわたって個別に参照され、扱われています。
エージェントは、このすべての機能の基礎を提供する汎用サービスであり、個々の MySQL サーバーに関する情報を MySQL Enterprise Service Manager に提供することから、MySQL Enterprise Monitor の主要コンポーネントになっています。
各 MySQL Enterprise Agent には、MySQL Enterprise Service Manager に対して MySQL Enterprise Agent を一意に特定するための UUID が必要です。この UUID は、各監視対象サーバーに割り当てられた UUID とは無関係です。エージェントによって記録された情報が不正に記録されるため、UUID を 1 つのエージェントインスタンスから別のインスタンスにコピーしないでください。
エージェントをはじめて起動したとき、エージェントは次のような動作をします。
設定情報をロードします。
エージェントの UUID が存在することを確認します。
適切な現在のホスト ID を決定し、生成します。
ネットワークスレッドと収集スレッドを開始します。
コピーされたインスタンスを誤って起動していないかを確認するため、接続先のインスタンスが、同じ ホスト ID を持っているかどうかを比較して確認します。
MySQL Enterprise Service Manager に登録してから、ハートビート信号を送信します 。
Service Manager から「既知のデータ項目のリスト」呼び出しを受け取ります。
サーバーから読み込まれるデータ項目 (カスタムデータ項目もすべて含まれる) のリストをロードします。
既知の項目で Service Manager に応答します。
Service Manager から特定のデータ項目の「インスタンスのリスト」呼び出しを受け取ります。
インベントリプロセスを実行して、MySQL サーバーに関する重要な情報を決定します。
インベントリで Service Manager に応答します。
「データ収集」作業で、MySQL Enterprise Service Manager から各データ項目のスケジュール情報を受け取ります 。
構成中に設定されたスケジュールに従って、データの収集と MySQL Enterprise Service Manager への送信を開始します。
稼働が始まると、各 MySQL Enterprise Agent は定期的に監視対象の MySQL サーバーから情報を収集して MySQL Enterprise Agent に送信します。
