詳細」セクションは、新しいモニターを追加したり、不要なモニターを削除するために使用します。既存のモニターをダブルクリックして編集することもできます。
名称
モニター名
説明
このモニターのテキストによる説明で、できるだけ説明的なものにすることをお勧めします。
モニタリング方法
ドロップダウンリストから監視方法を選択します。利用可能な選択肢は以下の通りです:
HTTP 200 OK
HTTP 200 ヘッド
HTTP 200 オプション
HTTPヘッド
HTTPオプション
HTTPレスポンス
マルチポートTCPモニター
TCPアウトオブバンド
ディコム
SNMP v2
DNSサーバーチェック
LDAPS
ページ位置
URL HTTPモニターのページ位置。この値は、/folder1/folder2/page1.htmlのような相対リンクにすることができます。また、Webサイトがホスト名にバインドされる絶対リンクを使用することもできます。
必須コンテンツ
この値には、モニターが検出して利用する必要のあるコンテンツが含まれる。ここで表される値は、選択されたモニタリング方法によって変化する。
VSに適用
このフィールドには、モニターが適用されている仮想サービスの IP / ポートが自動的に入力されます。仮想サービスで使用されたモニターは削除できません。
ユーザー
一部のカスタムモニターは、この値をパスワードフィールドとともに使用してリアルサーバーにログインすることができます。
パスワード
一部のカスタムモニターは、この値を「ユーザー」フィールドと共に使用してリアルサーバーにログインすることができます。
しきい値
Threshold(しきい値)フィールドは、CPUレベルなどのしきい値が必要なカスタムモニターで使用される一般的な整数です。
注:アプリケーションサーバーからのレスポンスが「Chunked」レスポンスでないことを確認してください。
SSL/TLS
このフィールドでは、SSLを使用するかどうかを強制することができます。設定は以下の通り:
オン - SSLを強制します。
オフ - SSLを無効にします。
Auto - 現在の状態のままにします。
リアル・サーバー・モニターの例
アップロードモニター
ユーザーが独自のカスタム・モニターを作成したい場合が多々あると思いますが、このセクションではそれらをADCにアップロードすることができます。
カスタムモニターはPERLスクリプトで記述され、拡張子は.plです。
監視方法リストでモニターを識別できるように、モニターに名前を付けます。
.plファイルをブラウズする
新しいモニターのアップロードをクリック
ファイルは正しい場所にアップロードされ、新しいモニタリング・メソッドとして表示されます。
カスタムモニター
このセクションでは、アップロードされたカスタムモニターを確認し、不要になった場合は削除することができます。
ドロップダウンボックスをクリックする
カスタムモニターの名前を選択する
削除をクリックする
カスタムモニターは監視方法リストに表示されなくなります。
カスタムモニターPerlスクリプトの作成
注意: このセクションは、Perl の使用と記述の経験がある人を対象としています。
このセクションでは、Perlスクリプト内で使用できるコマンドを紹介します。
Monitor-Name:コマンドは、ADCに保存されているPerlスクリプトに使用される名前です。この行を含めないと、スクリプトは見つかりません!
以下は必須項目である:
#モニター名
ストリクトを使う;
使用上の注意
PerlスクリプトはCHROOTED環境で実行される。それらはしばしばWGETやCURLのような別のアプリケーションを呼び出します。SNIのような特定の機能のために、これらを更新する必要があることもある。
ダイナミック・バリュー
my $host = $_[0]; ### ホストのIPまたは名前(RSの詳細またはOOBが使用されている場合)
my $port = $_[1]; ### ホストポート(RSの詳細またはOOBが使用されている場合)
my $content = $_[2]; ### モニターの設定から必要な内容(レスポンスに表示されなければならない内容)
my $notes = $_[3]; ### IPサービスのRSの詳細からのメモ(各RSモニターを一意にカスタマイズするためにこれを使用する)
my $page = $_[4]; ### モニター設定のページ位置
my $user = $_[5]; ### モニター設定のユーザー名
my $password = $_[6]; ### モニター設定のパスワード
my $threshold = $_[7]; ### モニター設定のしきい値パラメーター
my $rsaddr = $_[8]; ### RS IP (帯域外監視の場合は _[0] と異なる)
my $rsport = $_[9]; ### RSポート(帯域外モニタリングの場合は_[1]と異なる)
my $timeout = $_[10]; ### IP Services > Real Server > Advanced > Monitoring Timeout からコンタクトタイムアウトを秒単位で監視する。
カスタム・ヘルスチェックには2つの結果がある。
成功
戻り値 1
成功メッセージをSyslogに出力する
リアルサーバをオンラインにする(IN COUNTが一致する場合)
失敗
戻り値 2
Syslogに「Unsuccessful」というメッセージを出力する。
リアルサーバをオフラインにする(OUT Countが一致する場合)
カスタムヘルスモニターの例
#モニター名HTTPS_SNI
ストリクトを使う:
警告を使用する;
# 利用可能なヘルスチェックのドロップダウンに、上記のモニター名が表示されます。
# このスクリプトにはつの値が渡される(下記参照)。
# スクリプトは以下の値を返す。
# 1がテスト成功
テストが失敗した場合は 2 サブモニター
{
私のショスト $_[O]; ### ホストのPまたは名前
マイ・スポーツ $_[1]; ### ホスト・ポート
My Scontent = $_[2]; ### 探すコンテンツ(ウェブページとTTPヘッダーの中)
my Snotes = $_[3]; ### 仮想ホスト名
マイページ $_[4]; ### URLのホストアドレス以降の部分
私のスーザー $_[5]:### ドメインユーザー名(オプション
私のパスワード $_[6]; ### パスワード(オプション)
my $resolve;
my $auth =;
if ($port)
{
resolve = "$notes:$port:$host":
}
さもなければ
resolve = "$notes:$host";
}
if ($user && $password) {.
auth = "-u $user:$password :
}
my @lines = 'curl -s -i -retry 1 -max-time 1 -k -H "Host:$notes --resolve $resolve $auth HTTPs://${notes}${page}.2>&1'; if(join(""@lines)=~/$content/)
{
print "HTTPs://$notes}${page} looking for - $content - Health check successful. \n";
を返す1);
}
その他
{
print "HTTPs://${notes}${page} looking for - $content - Health check failed. \n";
リターン2)
}
}
モニター@ARGV):
注:
カスタム監視 - グローバル変数の使用はできません。ローカル変数のみを使用 - 関数内部で定義された変数
RegExの使用 - すべての正規表現は、Perlと互換性のある構文を使用しなければならない。