4. SQL実行時間監視の実行方法¶
SQL実行時間監視の実行方法について説明します。
4.1. 実行方法について¶
SQL実行時間監視の実行は、 mfotoolsのインストール先のbinディレクトリ配下にある mfo_sql_elapsed_time_alert.py
コマンドを実行することでSQL実行時間監視が実行されます。
4.1.1. コマンドの実行方法¶
mfo_sql_elapsed_time_alert.py
の実行は引数なしで実行します。
Windows環境
コマンドプロンプトから実行します。
cd <mfotoolsのインストール先ディレクトリ>\bin mfo_sql_elapsed_time_alert.py
もしくは、フルパスで実行も可能です。
<mfotoolsのインストール先ディレクトリ>\bin\mfo_sql_elapsed_time_alert.py
Linux環境
cd /opt/maxgauge/mfotools/bin ./mfo_sql_elapsed_time_alert.py
もしくは、フルパスで実行も可能です。
/opt/maxgauge/mfotools/bin/mfo_sql_elapsed_time_alert.py
注釈
mfo_sql_elapsed_time_alert.py
コマンドに debug
を付けて実行することでデバッグモードで実行されます。
標準出力とスクリプト動作ログにデバッグレベルのメッセージが出力されます
mfo_sql_elapsed_time_alert.py debug
4.1.2. コマンドの定期実行¶
SQL実行時間監視の定期的な実行は、 mfo_sql_elapsed_time_alert.py
をスケジューラに登録して定期的に実行してください。
Windows環境¶
タスクスケジューラに登録して定期的に実行してください。
タスクスケジューラの登録例
ファイル名を指定して実行
からTaskschd.msc
を実行してタスクスケジューラを起動しますタスクスケジューラの画面で
タスクの作成
をクリックしますタスク作成の窓が表示されます、全般タブを以下の設定にします
¶ 設定項目
説明
名前
識別できる適当なタスク名を入力
ユーザがログオンしてるかどうかにかかわらず実行する
チェック
トリガータブを以下の設定にします
¶ 設定項目
説明
設定
「毎日」にチェック、開始は適当な未来の時間を指定
詳細設定
繰り返し間隔を、監視したい間隔の時間を選択します
注釈
画像の例では、5分間隔 で実行されます
操作タブから [新規] ボタンをクリックして、新しい操作の窓を表示します
新しい操作の窓の各項目を以下の設定にします
¶ 設定項目
説明
プログラム/スクリプト
MaxGaugeサーバにインストールされた
python.exe
のフルパスを指定します引数の追加
mfo_sql_elapsed_time_alert.py
開始
MFOTOOLSの
bin
フォルダを指定します。例:C:\EXEM\MFO53\mfotools\bin
注釈
画像の例は、以下の環境での設定になりますPythonのインストール先 :C:\Python27
(python.exe
のフルパスはC:\Python27\python.exe
)MFOTOOLSのインストール先 :C:\EXEM\MFO53\mfotools
Linux環境¶
CRONに登録して、定期的に実行します。
CRONの登録例
*/5 * * * * /opt/maxgauge/mfotools/bin/mfo_sql_elapsed_time_alert.py > /dev/null 2>&1
4.2. 個別SQL閾値の設定について¶
個別SQL閾値の設定方法について説明いたします。
4.2.1. 個別SQL閾値の設定¶
特定のSQLに対してSQL実行時間の閾値を設定することができます。
個別SQL閾値の追加¶
mfo_sql_elapsed_time_alert.py ext sql add
コマンドで登録対象のSQL IDと各閾値を指定して登録します。
コマンド
mfo_sql_elapsed_time_alert.py ext sql add -s <対象のSQL_ID> -sh <対象スキーマ名> -i <対象インスタンス名> -w <ワーニングの閾値> -c <クリティカルの閾値>オプション詳細
¶ オプション
説明
必須
-s, --sqlid
対象のSQL IDを指定
〇
-w, --warning
ワーニングの閾値を指定
〇
-c, --critiacl
クリティカルの閾値を指定
〇
-i, --instance
対象のインスタンス名を指定。複数のインスタンスを指定する場合は、カンマ区切りで指定。このパラメータを指定しない場合は、全てのインスタンスが対象となります。
×
-sh, --schemaname
対象のスキーマ名を指定。複数のスキーマを指定する場合は、カンマ区切りで指定。このパラメータを指定しない場合は、全てのスキーマが対象となります。
×
設定した個別SQL閾値の表示¶
mfo_sql_elapsed_time_alert.py ext print_settings
コマンドで登録した個別SQL閾値を表示します。
コマンド
mfo_sql_elapsed_time_alert.py ext print_settings注釈
登録時にインスタンス名(
-i
オプション)やスキーマ名(-sh
オプション)を指定していない場合、INSTANCE
とSCHEMA
に「@ALL
」と表示されます。
個別SQL閾値の変更¶
mfo_sql_elapsed_time_alert.py ext sql add
コマンドで登録した個別SQL閾値を変更することが出来ます。
変更可能なオプションは、ワーニングの閾値
と クリティカルの閾値
になります。変更は、 SQL ID
、 INSTANCE
、 SCHEMA
の設定値と一致した設定が変更されます。
コマンド
mfo_sql_elapsed_time_alert.py ext sql add -s <変更対象のSQL_ID> -sh <変更対象スキーマ名> -i <変更対象インスタンス名> -w <変更するワーニングの閾値> -c <変更するクリティカルの閾値>オプション詳細
¶ オプション
説明
必須
-s, --sqlid
対象のSQL IDを指定
〇
-w, --warning
ワーニングの閾値を指定
-c, --critiacl
クリティカルの閾値を指定
-i, --instance
変更対象のインスタンス名を指定。複数のインスタンスを指定する場合は、カンマ区切りで指定。このパラメータを指定しない場合は、対象が「@ALL」になります
-sh, --schemaname
変更対象のスキーマ名を指定。複数のスキーマを指定する場合は、カンマ区切りで指定。このパラメータを指定しない場合は、対象が「@ALL」になります
個別SQL閾値の削除¶
mfo_sql_elapsed_time_alert.py ext sql del
コマンドで登録した個別SQL閾値を削除することが出来ます。
コマンド
mfo_sql_elapsed_time_alert.py ext sql del -s <削除対象のSQL_ID> -sh <削除対象スキーマ名> -i <削除対象インスタンス名>オプション詳細
¶ オプション
説明
必須
-s, --sqlid
削除対象のSQL IDを指定
〇
-i, --instance
削除対象のインスタンス名を指定。複数のインスタンスを指定する場合は、カンマ区切りで指定。このパラメータを指定しない場合は、対象が「@ALL」になります
-sh, --schemaname
削除対象のスキーマ名を指定。複数のスキーマを指定する場合は、カンマ区切りで指定。このパラメータを指定しない場合は、対象が「@ALL」になります