MySQL Enterprise のエンタープライズ向けサービスの一環として提供される MySQL Enterprise Monitor は、エンタープライズデータベースプロフェッショナルを念頭に開発されており、エンタープライズ規模で導入されたすべての MySQL サーバを常に効率的に実行するための強力な自動化メカニズムを提供することで、データベースの手軽なパフォーマンス管理を可能にします。
MySQL Enterprise Monitor は、MySQL データベース管理者(DBA)の自動アシスタントとして機能します。このサービスは、MySQL サーバを監視し、潜在的な問題を特定することで、管理者の日常のタスクをサポートします。これらの機能は、データベース管理者の時間と労力を削減し、規模の大小に関係なく MySQL データベース環境の最高レベルのパフォーマンス、信頼性、セキュリティを実現します。
既存の MySQL Enterprise の拡張サービスである MySQL Enterprise Monitor は、エンタープライズデータベース環境を監視し、セキュリティ強化および MySQL システムのパフォーマンスやアップタイムの最適化に関する専門的なアドバイスを顧客に提供します。企業ファイアウォール内で実行する MySQL Enterprise Monitor は、主要システムメトリクスを監視し、MySQL データベース環境全体で MySQL ベストプラクティスを実行する一元化されたフレームワークを提供します。
MySQL Enterprise Monitor は、次の管理者業務をサポートします。
最新のリリースやバグフィックスの効率的かつ効果的な使用
システムで何が起こっているかの認識
毎日のデータベースメンテナンスタスクの管理
システムのパフォーマンス改善
危機の管理および防止
MySQL Enterprise Monitor は、常勤の DBA に付加価値を提供し、常勤の DBA がいない組織には「仮想 DBA」を提供します。
MySQL Enterprise Monitor は、MySQL データベースサーバの物理的・地理的な設置条件を問わず、大量の MySQL データベースサーバのパフォーマンスを一括管理するという課題に応えることを目的に開発されています。もちろん、MySQL Enterprise Monitor は、数台程度の MySQL サーバの維持管理にも有効ですが、それ以上に、数多くのデータベースサーバの可用性とパフォーマンスをすばやく、しかも包括的に追跡・把握できるようすることを主眼に開発されています。
MySQL Enterprise Monitor は、直感的でナビゲートが簡単な Web ベースのインターフェースを提供することで、その役割を果たします。このインターフェースは、Enterprise Dashboard と呼ばれ、MySQL データベースサーバのエンタープライズ規模のインストールを表示するためのポータルとして機能します。MySQL プロフェッショナルは、すべてのサーバを必要に応じてグループごと、または個別に管理できます。
Enterprise Dashboard の Web インターフェースは、個々のデスクトップにインストールする必要はなく、モニタリング&アドバイザリサービスのメインロケーションとして機能する一元化されたマシンから利用できます。
MySQL Enterprise Monitor は、MySQL サーバインストールを監視および管理をサポートするために総合的に機能するコンポーネントのコレクションです。このサービスには、サーバ管理エージェント、アドバイザ、中央 MySQL Enterprise Service Manager が含まれ、これらはすべて、MySQL Enterprise と機能して、MySQL サーバを安全に、また最新の状態に保ちます。これらすべては、MySQL Enterprise Dashboard を介して制御されます。MySQL Enterprise Dashboard は、任意の場所から MySQL サーバを完全に制御できるライトウェイト Web ベースインターフェースです。
このサービスは、Service Agent(MySQL Enterprise Service Agent)、Service Manager(MySQL Enterprise Service Manager)、Enterprise Dashboard、Repository、Advisor など、複数のコンポーネントで構成されています。
MySQL Enterprise Monitor は、企業ファイアウォール内で導入される分散型 Web ベースアプリケーションで構成されます。Enterprise Dashboard は、サーバデータ、アドバイザ通知、ライブ情報、および MySQL Enterprise Update Service との通信用のインターフェースを提供します。
サブスクライバは、MySQL サーバの最新リリースを常に利用し、MySQL Enterprise Update Service を使用することで MySQL の特定の実装に影響を与える可能性がある問題についての最新の情報を認識できます。これと同じメカニズムは、アプリケーションや MySQL アドバイザルールの更新について MySQL Enterprise Monitor ユーザに通知するときにも使用されます。このさまざまなコンポーネントを次に示します。
Service Agent
Service Agent は、MySQL Enterprise Monitor の一要素で、各 MySQL サーバを監視します。Windows サービスまたは UNIX デーモンとして実行し、MySQL 特有のコマンド、SQL クエリ、カスタムスクリプトを組み合わせて、MySQL サーバまたはオペレーティングシステム(OS)固有のデータを収集および報告します。Service Agent は、Service Manager に対して「ハートビート」を定期的に開始することで、MySQL サーバおよび OS レベルのデータを確実に収集します。
Service Agent は、アーキテクチャ全体において、監視対象の MySQL Server との接続を確立または維持する MySQL Enterprise Monitor の唯一のコンポーネントです。任意の MySQL クライアントの場合と同様に、Service Agent は監視対象 MySQL サーバで認証され、接続の確立にユーザ名およびパスワードを必要とします。
また、MySQL Enterprise Service Agent は、クエリに関する情報をキャプチャおよび報告できるプロキシサービスを Query Analyzer 機能の一部として提供します。さらに、MySQL Enterprise Service Agent は、クライアント接続を受け取り、SQL ステートメントをサーバに転送して、その結果を返します。エージェントは、バックグラウンドでクエリ実行、行数、回数に関する情報や、クエリおよび実行を監視できるその他のデータを収集します。
Service Manager
Service Manager は、MySQL Enterprise Monitor の中心となるものです。これは、1 台の Windows または UNIX サーバでホストされる Java サービスの統合に基づいています。Service Manager は、そのドメイン内のすべての Service Agent と相互作用し、各監視対象 MySQL サーバの MySQL サーバおよび OS レベルデータを収集します。
Service Manager は、次のような多くのタスクを実行します。
Enterprise Dashboard、MySQL Enterprise Service Manager のメインインターフェース
監視対象 MySQL Server の自動検出
Service Agent タスクの作成および管理
Service Agent から収集されたデータの保管
主要な MySQL サーバおよび OS レベルメトリックデータ収集の監視
MySQL ベストプラクティスイベントおよび違反の報告
MySQL ベストプラクティス違反に対する MySQL エキスパートアドバイスの提供
レプリケーショントポロジの自動検出(サブスクリプションのレベルによってはご利用いただけません)
Repository
Repository は、MySQL 5.0.x
上で構築され、各監視対象 MySQL Server の MySQL
サーバおよび OS
レベルデータ収集の保管に使用されます。この情報は、Service
Manager により、監視対象 MySQL
環境の状態および状況の評価や報告に使用されます。
Enterprise Dashboard
MySQL Enterprise の Web クライアントは、MySQL Enterprise Monitor 用グラフィカルユーザインターフェース(GUI)を提供します。このインターフェースは、MySQL サーバの状態を監視するための基本的手段で、ルール違反を特定し、潜在的な問題に対応し修正する最適な方法をアドバイスします。
また、このインターフェースでは、アドバイザの構成、ユーザの追加、通知グループの作成、MySQL Enterprise からの更新の受け取りを容易に行うことができます。
MySQL Enterprise Monitor の主要機能に関する概要を次に示します。
グループレベルまたはサーバレベル管理オプション
一元化されたコンソールからすべての MySQL Server を管理する Enterprise Dashboard
主要システムの状態を全体的に「一目で」チェックできる監視ページ
MySQL ベストプラクティスを強制する MySQL アドバイザとアドバイザルール
無人操作のためのアドバイザルールスケジューリング
アドバイザルール違反を特定するカスタマイズ可能なしきい値とアラート
ユーザ定義アドバイザルール
アドバイザ固有イベントおよび注釈をリサーチするイベント/アラート履歴ブラウザ
実行回数、行数、および MySQL サーバで実行されるクエリに関するその他のデータを監視できる Query Analyzer 機能
これらの機能は、次の 6 ページで構成される MySQL Enterprise Dashboard で提供されます。
「モニター」ページ:
「サーバツリー」: 監視対象サーバを簡単にナビゲートします。
「グラフ」:これは組み込み機能なので、アクティビティ、パフォーマンスメトリクス、接続数など、重要な機能を迅速に評価できます。
「ヒートチャート」:カラーコード化されたボタンにより、主要オペレーティングシステムおよびデータベースメトリクスが提供されます。
「アドバイザ」ページ
現在スケジュールされているアドバイザが表示されます。セキュリティやインデックスなどさまざまなトピックのアドバイザがあります。ユーザは、アドバイザを追加、編集、独自に作成できます。
「イベント」ページ
サーバ、重要度、発生回数などのルール違反が表示されます。イベントのさまざまな表示を可能にする、複数のフィルタオプションを利用できます。
「グラフ」ページ
利用できるすべてのグラフを表示し、状況に応じて、詳細または概要を表示するためにグラフサイズを調整できます。
「Query Analyzer」ページ
「レプリケーション」ページ
マスタおよびスレーブを追跡できます(サブスクリプションのレベルによってはご利用いただけません)。
「設定」ページ
サーバ、ユーザ、電子メールアドレス、通知グループを設定できます。MySQL Enterprise のユーザ名およびパスワードを入力すると、自動更新が提供されます。
ユーザインターフェースに Tomcat/Apache Web サーバを使用すると、管理者は、任意のセキュリティ規則を満たすように Web サーバを設定できます。MySQL Enterprise Monitor アーキテクチャは、ローカルネットワーク外のシステムを監視する場合でも、できる限りセキュリティを保つように設計されています。
MySQL Enterprise Service Agent と MySQL Enterprise Service Manager 間の通信は、Socket Layer(SSL)暗号化により保護可能です。サーバとエージェントは、SSL 証明書を使用して認証を提供し、なりすましを防止できます。
MySQL Enterprise Service Agent は Web ブラウザのように機能して、MySQL Enterprise Service Manager とのすべての通信を開始する HTTP クライアントアプリケーションです。サーバがエージェントからのアクションを要求すると、エージェントが次に通信を開始し、これに応じて要求を送信するまで、サーバは待機しなければなりません。つまり、エージェントが実行するマシンは要求をリスンしないので、受信ポートを開く必要はありません。ただし、エージェントが MySQL Enterprise Service Manager と通信するために発信ポートを開かなければなりません。
各エージェントでは、追加セキュリティ機能として、いずれかのエージェントのセキュリティが低下した場合の潜在的な障害を最小化する個別の Advisory Service ログインを利用できます。
本書では次の表記規則を使用しています。
Text in this style
はSQL
ステートメント、データベース、テーブル、カラム名、プログラムリスト、ソースコード、環境変数に使用されます。例:「権限テーブルをリロードするには、FLUSH
PRIVILEGES
ステートメントを使用します。」
Text in this style
は、入力する文字の例を示します。
Text in this style は、実行可能なプログラムおよびスクリプトの名前、たとえば mysql(MySQL コマンドラインクライアントプログラム)や mysqld(MySQL サーバ実行可能ファイル)を示します。
Text in this style
は、独自に選択する値に置き換える変数入力に使用されます。
ファイル名とディレクトリ名は次のように表示されます。「グローバル
my.cnf
ファイルは、/etc
ディレクトリにあります。」
文字シーケンスは次のように表示されます。「ワイルドカードを指定するには、‘%
’
文字を使用します。」
Text in this style は、強調に使用されます。
Text in this style は、表の見出しや特に重要なことを示すときに使用されます。
特定のプログラム内から実行されるコマンドが示される場合、そのコマンドの前に記されるプロンプトは、使用するコマンドを示しています。たとえば、shell>
は、ログインシェルまたは Windows
のコマンドラインから実行するコマンドを示します。
shell> type a shell command here
「shell」 は、コマンドインタープリタです。UNIX の場合、これは通常、sh、csh、bash などのプログラムです。Windows の場合、プログラムは command.com または cmd.exe で、通常コンソールウィンドウで実行します。
例に示されるコマンドまたはステートメントを入力する場合、その例に示されるプロンプトを入力する必要はありません。
コンソールウィンドウで 1
行に示されるコマンドが、マニュアルでは 1
行で示すことができない場合があります。この場合、文字
‘»
’
が使用されます。次に例を示します。
Please specify the directory where the MySQL Enterprise Monitor » will be installed.
UNIX コマンドの場合、連続文字
‘\
’
が使用されます。これにより、コマンドをコピーして、コマンドラインに文字通りにペーストできます。次に例を示します。
shell> /opt/mysql/enterprise/agent/bin/mysql-monitor-agent -f \
/opt/mysql/enterprise/agent/etc/mysql-monitor-agent.ini
SQL キーワードは、大文字と小文字は区別されないので、どちらも使用できますが、このマニュアルでは、大文字を使用しています。
構文の説明では、角括弧(‘[
’
と
‘]
’)は、オプションの単語または句を示します。たとえば、次のステートメントでは、IF
EXISTS
はオプションです。
DROP TABLE [IF EXISTS] tbl_name
構文要素が複数の選択肢で構成される場合、その選択肢は、縦線(‘|
’)で区切られます。選択肢からいずれかを選択できる場合、選択肢は、角括弧(‘[
’
と
‘]
’)に囲んでリストされます。
TRIM([[BOTH | LEADING | TRAILING] [remstr
] FROM]str
)
選択肢からいずれかを選択しなければならない場合、選択肢は、中括弧(‘{
’
と
‘}
’)に囲んでリストされます。
{DESCRIBE | DESC}tbl_name
[col_name
|wild
]
省略記号(...
)は、ステートメントの一部が省略されていることを示し、通常、複雑な構文を簡単に記しています。たとえば、INSERT
...SELECT
は、INSERT
ステートメントに SELECT
ステートメントが続く構文を簡単に記しています。
省略記号は、ステートメントで前にある構文要素を繰り返す場合にも使用されます。次の例では、カンマの前の最初の
reset_option
値を複数回繰り返すことができます。
RESETreset_option
[,reset_option
] ...
シェル変数を設定するコマンドは、Bourne
シェル構文を使用して示されます。たとえば、CC
環境変数を設定し、configure
コマンドを実行するシーケンスは、Bourne
シェル構文では次のように示されます。
shell> CC=gcc ./configure
csh または tcsh を使用する場合、コマンドを多少区別して入力する必要があります。
shell>setenv CC gcc
shell>./configure
このマニュアルでは、‘UNIX
’
という用語は、UNIX または UNIX
と同様のオペレーティングシステムを表わすときに使用されています。MySQL Enterprise Monitor
でサポートされるオペレーティングシステムの最新のリストについては、MySQL Enterprise
Web サイトを参照してください。