デフォルトでは、 RELIANOID アプライアンスはバックエンドまたは実サーバーに対して簡単なヘルスチェックを実行しますが、これらのチェックだけではバックエンドが正常に動作しているかどうかを判断できない場合があります。そのため、アプライアンスは、プラグインセットを使用するデーモンを介して高度なヘルスチェックを実行および管理します。 ファームガーディアン.
Farmguardianの主な役割は、アプリケーションのバックエンドに対する高度な監視ツールとして機能することです。そのため、Farmguardianはファーム構成を読み込み、バックエンドのリストを取得します。また、バックエンドの健全性ステータスをチェックするプラグインの支援も受けます。Farmguardianは、特定のファームのバックエンドステータスを更新し、ロードバランサーがそのバックエンドにトラフィックを送信すべきかどうかを判断します。
このセクションでは、ファームガーディアンのチェックを設定する方法を学びます。グローバルタブとファームタブの両方について詳しく見ていきます。
グローバル設定 #
グローバルセクションには、下の画像に示すように、特定のファームガーディアンの健康チェックに関する設定があります。
チェックがシステムにプリロードされている場合、このタブのフィールドは編集できません。ヘルスチェックを変更する場合は、新しいファームガーディアンを作成し、「ファームガーディアンのコピー」オプションを有効にして、新しいファームガーディアンを変更してください。
名前現在のファームガーディアンチェックの識別名は編集できません。
Commandバックエンドのステータスを確認するために実行されるコマンドを設定します。
タイムアウトバックエンドが応答を返すのにかかる最長時間。単位 (秒)。
インターバルすべてのバックエンドに対するヘルスチェックバッチの間隔。各間隔ごとに、FarmGuardianのチェックが停止し、再起動されることに注意してください。そのため、すべてのバックエンドをチェックできる十分な値(タイムアウト * バックエンド数 + 1)を設定する必要があります。
詳細説明 このフィールドには、Farmguardian チェックの簡単な説明が含まれます。
接続を切断このオプションを有効にすると、ダウンしているバックエンドが検出された場合、そのバックエンドの現在の接続がフラッシュされ、利用可能なバックエンドへの即時再接続が強制されます。このオプションを無効にすると、クライアントを切断することなく、現在の接続がドレインされます。
ログを有効にする各ファームガーディアンチェックのログを有効または無効にします。ログを無効にすると、バックエンドのステータス変更のみがログファイルに表示されます。
ヘルスチェックを構成する #
利用可能なすべてのFarmGuardianプラグインは、ロードバランサー内のディレクトリ/usr/local/relianoid/app/libexec/にあります。
Farmguardianはプラグインを使用して高度なヘルスチェックを設定し、カスタマイズされたオプションを使用して特定の実サーバーが期待どおりに動作しているかどうかを検出します。各プロトコル、サービス、またはアプリケーションごとに多数のヘルスチェックが用意されています。最も重要なプラグインについては、以下で説明します。
check_ftpプラグインは、指定されたホストとの FTP 接続をテストします。
使用方法: check_ftp -H ホスト -p ポート [-w ] [-c ] [-s ] [-e ] [-q ][-m ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [、 ]] [-S ] [-E]
check_fping:このプラグインは、fpingコマンドを使用して指定されたホストにpingを実行し、迅速なチェックを行います。
使用法: check_fping -w 制限 -c 制限 [-b サイズ] [-n 数値] [-T 数値] [-i 数値]
check_http:このプラグインは、指定されたホスト上のHTTPサービスをテストします。プレーンプロトコル(HTTP)とセキュアプロトコル(HTTPS)のテスト、リダイレクトの追跡、文字列や正規表現の検索、接続時間の確認、証明書の有効期限、HTTPリターンコードなどのレポート作成が可能です。
使用方法: check_http -H | -私[-u ] [-p ] [-J ] [-K ] [-w ] [-c ] [-t ] [-L] [-E] [-a 認証] [-b プロキシ認証] [-f ] [-e ] [-d 文字列] [-s 文字列] [-l] [-r | -R ] [-P 文字列] [-m : ] [-4|-6] [-N] [-M ] [-A 文字列] [-k 文字列] [-S ] [--sni] [-C [、 ]] [-T ] [-jメソッド]
check_imap:このプラグインは、指定されたホストとのIMAP接続をテストします。
使用方法: check_imap -H ホスト -p ポート [-w ] [-c ] [-s ] [-e ] [-q ][-m ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [、 ]] [-S ] [-E]
check_ldap:このプラグインはLDAPサービスをテストします。指定された検索条件でテストできます。
使用方法: check_ldap -H -b [-p ] [-a ] [-D ] [-P ] [-w ] [-c ] [-t タイムアウト] [-2|-3] [-4|-6]
check_ldaps:このプラグインはLDAPSサービスをテストします。指定された検索条件でテストできます。
使用方法: check_ldaps -H -b [-p ] [-a ] [-D ] [-P ] [-w ] [-c ] [-t タイムアウト] [-2|-3] [-4|-6]
check_mysql:このプラグインはMySQLサーバーへの接続をテストします。
使用方法: check_mysql [-d データベース] [-H ホスト] [-P ポート] [-s ソケット] [-u ユーザー] [-p パスワード] [-S] [-l] [-a 証明書] [-k キー] [-C ca-cert] [-D ca-dir] [-L 暗号] [-f optfile] [-g グループ]
check_mysql_query:このプラグインは、クエリ結果をしきい値レベルと比較します。
使用方法: check_mysql_query -q SQL_query [-w warn] [-c crit] [-H host] [-P port] [-s socket] [-d database] [-u user] [-p password] [-f optfile] [-g group]
check_pgsql : PostgreSQLデータベースが接続を受け入れているかどうかをテストします。
使用方法: check_pgsql [-H ] [-P ] [-c ] [-w ] [-t ] [-d ] [-l ] [-p ] [-q ] [-C ] [-W ]
check_pop:このプラグインは、指定されたホストとのPOP接続をテストします。
使用方法: check_pop -H ホスト -p ポート [-w ] [-c ] [-s ] [-e ] [-q ][-m ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [、 ]] [-S ] [-E]
check_radius : RADIUSサーバーが接続を受け入れているかどうかをテストします。
使用方法: check_radius -H host -F config_file -u username -p password [-P port] [-t timeout] [-r retries] [-e expect] [-n nas-id] [-N nas-ip-addr]
check_simap:このプラグインは、指定されたホストとの安全なIMAP接続をテストします。
使用方法: check_simap -H ホスト -p ポート [-w ] [-c ] [-s ] [-e ] [-q ][-m ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [、 ]] [-S ] [-E]
check_smtp : このプラグインは、ホストとの SMTP 接続を確立しようとします。
使用方法: check_smtp -H ホスト [-p ポート] [-4|-6] [-e 期待値] [-C コマンド] [-R 応答] [-f 送信元アドレス] [-A 認証タイプ -U 認証ユーザー -P 認証パス] [-w 警告] [-c クリット] [-t タイムアウト] [-q] [-F fqdn] [-S] [-D 警告日数証明書の有効期限[,クリット日数証明書の有効期限]] [-v]
check_snmp:SNMP経由でリモートマシンの状態を確認し、システム情報を取得します。
使用方法: check_snmp -H -o [-w 警告範囲] [-c 危険範囲] [-C コミュニティ] [-s 文字列] [-r 正規表現] [-R 正規表現] [-t タイムアウト] [-e 再試行] [-l ラベル] [-u 単位] [-p ポート番号] [-d 区切り文字] [-D 出力区切り文字] [-m miblist] [-P snmp バージョン] [-N コンテキスト] [-L セキュリティレベル] [-U セキュリティ名] [-a 認証プロトコル] [-A 認証パスワード] [-x プライベートプロトコル] [-X プライベートパスワード] [-4|6]
check_spop:このプラグインは、指定されたホストとの安全なPOP接続をテストします。
使用方法: check_spop -H ホスト -p ポート [-w ] [-c ] [-s ] [-e ] [-q ][-m ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [、 ]] [-S ] [-E]
check_ssh : 指定されたサーバーとポートで SSH サーバーへの接続を試みます。
使用法: check_ssh [-4|-6] [-t ] [-r ] [-p ]
check_ssmtp:このプラグインは、指定されたホストとのSSMTP接続をテストします。
使用方法: check_ssmtp -H ホスト -p ポート [-w ] [-c ] [-s ] [-e ] [-q ][-m ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [、 ]] [-S ] [-E]
check_tcp:このプラグインは、指定されたホストとのTCP接続をテストします。
使用方法: check_tcp -H ホスト -p ポート [-w ] [-c ] [-s ] [-e ] [-q ][-m ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [、 ]] [-S ] [-E]
詳細については、プラグイン パスで次のコマンドを実行してください。
プラグイン名 - 助けて
Farmguardianはこれらのプラグインを使用してバックエンドの健全性状態を確認し、実行されたプラグインの実行エラー出力を管理して、バックエンドの状態を次のように判断します。
エラーの場合 出力 == 0 バックエンドはOKです > $? = 0
エラーの場合 出力 <> 0 バックエンドは正常ではありません > $? <> 0
カスタムプラグイン #
これらのプラグインは完全にプログラム可能であり、あらゆるプロトコルやアプリケーションに適応できるため、システム管理者が設定できます。
この例は、カスタムプラグインcheck_load.shを示しています。
#!/bin/bash ### ###コメント: ###snmp ユーティリティがインストールされている必要があります ###snmpd がバックエンドにインストールされ、構成されている必要があります ### MAXVALUE=4 COMMUNITY="public" EXECUTE=`snmpget -v 2c -c $COMMUNITY $1 .1.3.6.1.4.1.2021.10.1.3.1 |cut -d ':' -f2 | cut -d '.' -f1 | sed s/\ // | sed s/\"//` echo "$1 の SNMP CPU 負荷チェックは $EXECUTE です" # 結果が true の場合、1 で終了します。エラー。それ以外の場合は exit = 0; OK if (( $EXECUTE >= $MAXVALUE )); then #エラー出力。サーバーが過負荷で、ロードバランサーはこれ以上接続を送信しません exit 1 else #、エラーではありません。サーバーはさらに多くの接続を受け入れることができます exit 0 fi
定数 #
Farmguardianがプラグインを実行する際、次のような定数やトークンを引数として使用する場合があります。
主催者. ファームガーディアン この定数を実際のサーバーの IP アドレスで変更します。
PORT. ファームガーディアン 実際のサーバー ポートによってこの定数を変更します。
これらの定数は各プラグインで使用されます。Farmguardianはこれらの定数を使用して、実際のパラメータを設定した状態でヘルスチェックを実行します。
農場 #
このタブには、 Farmguardianの健康診断を利用している農場とサービスの一覧が表示されます。
農場やサービスは、単一矢印アイコンによる複数選択、またはすべての農場を有効または無効にする二重矢印を使用して、このファームガーディアンの健全性チェックに割り当てたり削除したりできます。

