ルールの作成には、図 6.2. 「ルール編集画面」 で示す画面を使用します。最初からルールを作成するにはまず、create rule ボタンをクリックします。ただし、新規ルールの最も簡単な方法は、既存のルールをコピーすることです。既存ルールの編集とは異なり、ルールをコピーすると、そのルールの内容すべてを編集できます。
ルール名、ルールが属しているアドバイザ グループを変更し、独自のバージョン番号を設定できます。図 6.2. 「ルール編集画面」 の画面で、どのようにルールの閾値と頻度を変更できるかを確認できます。
最も大事なこととして、ルールの表現を変更できます。表現は MySQL Enterprise Advisor のコアであり、監視しているときのシナリオに使用します。式はサーバのパラメータなどのシンプルなものから、複数のパラメータを様々な数学演算と組み合わせた複雑なものまで使用できます。
表現には主な特徴が 2 つあります。
表現はベスト プラクティスが実施されていない状況を定義します。
表現の結果は常に 1 または 0 (真/偽)である必要があります。
表現が特定のサーバを真と評価する場合、警告が出て、ベストプラクティスが実施されていないことを示します。表現が偽と評価する場合は、ベストプラクティスがきちんと実行されているという意味であるため、警告は出ません。
たとえば、バイナリ
ロギングを有効にしている、ということはプロダクション
サーバのベスト
プラクティスであるとの判断になります
(現在のところ、そう信じられています)。そしてそのベストプラクティスは
log_bin
が OFF
であれば違反になります。この結果として、「Binary
Logging Not Enabled」 ルールの表現は
「%log_bin% == OFF」 になります。これを 1
と評価すると、ベストプラクティスが実施されていないということになり、警告が出ます。
表現は、1 つ以上の変数とゼロ以上の算術演算子から成ります。MySQL Enterprise Monitor では MySQL データベース サーバの表現パーサーと評価子(エバリュエータ)を使用します。演算子と関数のリストについては、http://dev.mysql.com/doc/refman/5.0/en/functions.html を参照してください。ルール作成に使用したビルトインの変数リストについては、http://dev.mysql.com/doc/refman/5.0/en/mysqld-option-tables.html を参照してください。
表現の作成は、Variable Assignment フレームで定義している変数に依存します。フレームは表現フィールドで使用した変数と、MySQL サーバ インスタンスから収集したデータ (サーバのステータス変数)、OS のステータス情報、テーブル情報をリンクします。変数名は Data Item ドロップダウン リストの要素と関係しています。1 つ以上の変数を定義する必要がある場合は、add row ボタンをクリックします。
その他のフィールドは通知メールまたは、それぞれのアドバイザと関係している情報ポップアップ ウィンドウで表示する情報を左右します。
新規のルールを保存するときは、既存ルールの名前を複製しないよう注意してください。