Contents [show]
概要
デフォルトでは、 Zevenet バックエンドまたは実サーバーに対して単純なヘルスチェックを実行しますが、バックエンドが適切に機能していることを判断するにはこのチェックでは不十分な場合があります。 このため、Zevenetはプラグインを使用するデーモンを介して高度なヘルスチェックを実行および管理するサービスを実装しています。 農場の保護者.
Farm Guardianの主なタスクは、アプリケーションの高度な監視として機能することです。このために、Farm Guardianはファーム構成を読み取り、バックエンドリストを取得し、プラグインによって支援されて、バックエンドの状態を更新します。 Zen Load Balancerがそのようなバックエンドで接続を送信することを許可または許可しないファーム。
Farm Guardianによって使用されるプラグインは、以下のディレクトリにあります。 / usr / local / zevenet / app / libexec / .
ファームガーディアンの設定
バックエンドのヘルスチェック。 このチェックボックスをオンにすると、バックエンドのより高度な監視状態が有効になり、独自のスクリプトで完全にプログラム可能になります。 Farm Guardianによって誤った動作が検出されると、自動的に実サーバーが無効になり、としてマークされます。 FGdown。 これは独立したサービスなので、ファームサービスを再起動する必要はありません。
チェック間隔。 これは、Farm Guardianがヘルスチェックの実行を待機する秒数です。
確認するコマンド。 設定されたバックエンドに対して実行されるコマンド。 動的構成を提供するために、定数またはトークンが使用されます。
ファームガーディアンログ。 このチェックボックスをオンにすると、Farm Guardianログでいくつかの動作をデバッグできるようになりますが、多くのストレージを消費する可能性があります。
プラグイン
Farm Guardianは、カスタマイズされたオプションを使用して特定の実サーバーが期待どおりに機能しているかどうかを検出するために高度なヘルスチェックを設定するためにプラグインを使用します。 あらゆる種類のプロトコル、サービス、またはアプリケーションについて、多くのヘルスチェックがあります。 最も重要なプラグインは以下の通りです。
check_ftp:このプラグインは指定されたホストとのFTP接続をテストします。
check_fping:このプラグインは、高速チェックのためにfpingコマンドを使って指定されたホストにpingを送信します。
check_http:このプラグインは指定されたホスト上のHTTPサービスをテストします。 プレーン(HTTP)およびセキュア(HTTPS)プロトコルをテストし、リダイレクトをたどり、文字列と正規表現を検索し、接続時間を確認し、証明書の有効期限、HTTPリターンコードなどを報告します。
check_imap:このプラグインは指定されたホストとのIMAP接続をテストします。
check_ldap:このプラグインはLDAPサービスをテストします。 それは与えられた検索でテストすることができます。
check_ldaps:このプラグインはLDAPSサービスをテストします。 それは与えられた検索でテストすることができます。
check_mysql:このプラグインはMySQLサーバへの接続をテストします。
check_mysql_query:このプラグインは閾値レベルに対してクエリ結果をチェックします。
check_pgsql処置:PostgreSQLデータベースが接続を受け入れているかどうかをテストします。
check_pop:このプラグインは指定されたホストとのPOP接続をテストします。
check_radius:RADIUSサーバーが接続を受け入れているかどうかを確認します。
check_simap:このプラグインは指定されたホストとの安全なIMAP接続をテストします
check_smtp:このプラグインはホストとのSMTP接続を開こうとします。
check_snmp:リモートマシンの状態を確認し、SNMP経由でシステム情報を取得します。
check_spop:このプラグインは指定されたホストとの安全なPOP接続をテストします。
check_ssh:指定されたサーバーとポートでSSHサーバーに接続してみてください。
check_ssmtp:このプラグインは指定されたホストとのSSMTP接続をテストします。
check_tcp:このプラグインは指定されたホストとのTCP接続をテストします。
詳細については、pluginsパスの下で次のコマンドを実行してください。
plugin_name --help
Farm Guardianはこのプラグインを使用してバックエンドの正常性状態をチェックし、実行されたプラグインの実行エラー出力を管理して次のようにバックエンドの状態を決定します。
エラーの場合 出力== 0 その後、バックエンドはOKです> $? = 0
エラーの場合 出力<> 0 その後、バックエンドはOKではありません> $? <> 0
カスタムプラグイン
これらのプラグインは、任意のプロトコルまたはアプリケーションに適応するために、システム管理者によって設定および完全にプログラム可能です。
この例はカスタムプラグインを示しています check_load.sh.
#!/bin/bash ### ###comments: ###snmp utils should be installed ###snmpd should be installed and configured in the backends ### 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 "SNMP CPU load check for $1 is $EXECUTE" # If the result is true, exit with 1; error; else exit = 0; OK if (( $EXECUTE >= $MAXVALUE )); then #error output; the server is overloaded and the load balancer isn’t going to send more connections exit 1 else #not error; the server can accept more connections exit 0 fi
定数
Farm Guardianがプラグインを実行するとき、次のようにいくつかの定数またはトークンを引数として使用できます。
- HOST注:Farm Guardianは、実サーバーのIPアドレスによってこの定数を変更します。
- PORT注:Farm Guardianは、実サーバーポートによってこの定数を変更するようにします。
これらの定数はすべてのプラグインに使用でき、Farm Guardianはそれらを使用して実際のパラメータを使用してヘルスチェックを実行します。
Farm Guardianログは有効にできますが、大量のディスク容量が必要になる可能性があり、ログをパスに保存します / var / log / syslog.