モニターには大きく以下の方式がある(カッコ内はBIG-IPデフォルトで存在するモニター名称)。
- L2 Monior (icmp_gateway) ; pingによる応答有無を確認
- L3 Monitor (tcp) : 特定ポートに対するTCPコネクション確立可否を確認
- L4 Monitor (http) : http(それ以外のプロトコルも可)で特定のコマンドを送り、正常性を表すメッセージ応答有無を確認
今回、httpでもモニター設定が必要となり慌てて設定方法を検証したので、備忘として残すことにする。
設定方法
BIG-IPにログインし、「Profile」→「Monitor」→「Create」を選択する。「Parent」に"http"を選択すると以下項目が標準で登録されている。Send : GET /\r\n
Receive : <空白>
確かにこれでも監視としては機能するが、L3 Monitorと何ら機能差異が無いので、もう少しチューニングしてみることにする。
文末に記載したF5のKBに調度良いものがあったので、参考に以下を試してみる。これで良い感じはするが、何となくSendに対するRecieveがどのようになっているか直に確認してみたくなった。
Send : GET /index.html HTTP/1.1\r\nHost: host.domain.com\r\nConnection: Close\r\n
Receive : HTTP/1.1 200 OK
HTTPの応答メッセージの確認方法
というわけで、実際にWebサーバーへのコマンド送信を実施し、その応答を確認してみるため、Telnetクライアントを使って確認してみることにした。TelnetクライアントはWindowsには標準でインストールされていないので、「プログラムと機能」から追加した後、コマンドプロンプトで以下を実行してみる。なお、確認につかっているURLは警視庁のサイトだが、比較的シンプルなサイトを選んだだけであって他意はない。
◆コマンド①:HTMLファイルの中身を表示させる
telnet www.keishicho.metro.tokyo.jp 80
GET /kankatu/event/event.htm ←入力文字は表示されないのでコピペすると楽
--------出力結果
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<style type="text/css">
~以下略
--------出力結果ここまで
◆コマンド②:HTMLファイルの状態(ヘッダ情報)を表示させる
telnet www.keishicho.metro.tokyo.jp 80
HEAD /kankatu/event/event.htm HTTP/1.0 ←入力文字は表示されないのでコピペすると楽
☆←もう一回Enter
--------出力結果ここから
HTTP/1.1 200 OK ←HTTP/1.0でコマンドを送ってもHTTP/1.1で返ってくる謎
Date: Tue, 13 Jan 2015 14:11:14 GMT
Server: Apache
Last-Modified: Tue, 13 Jan 2015 05:03:41 GMT
ETag: "c6953e0-5431-50c818be66540"
Accept-Ranges: bytes
Content-Length: 21553
Connection: close
Content-Type: text/html
ホストとの接続が切断されました。
--------出力結果ここまで
◆コマンド③:両方表示させる
telnet www.keishicho.metro.tokyo.jp 80
GET /kankatu/event/event.htm HTTP/1.0 ←入力文字は表示されないのでコピペすると楽
☆←もう一回Enter
※出力結果は省略
◆コマンド④:HTTP1.1で接続
HTTP1.1の場合は、③のようにEnterを2回実施するだけでは、"400 Bad Request"が返ってくるため、コマンドは2行必要になる。
telnet www.keishicho.metro.tokyo.jp 80
GET /kankatu/event/event.htm HTTP/1.1 ←入力文字は表示されないのでコピペすると楽
Host:www.keishicho.metro.tokyo.jp ←"Host:"の後にはどんな文字列でもOKっぽいが、アクセスするURLと合わせると無難
※出力結果は省略(③と同じ)
0 件のコメント:
コメントを投稿