Contents [show]
デフォルトでは、 Zevenet HTTPファーム内のバックエンドまたは実サーバーに対して単純なヘルスチェックを実行しますが、バックエンドが適切に機能していることを判断するにはこのチェックでは不十分な場合があります。 このため、Zevenetはプラグインを使用するデーモンを介して高度なヘルスチェックを実行および管理するサービスを実装しています。 農場の保護者.
Farm Guardianの主なタスクは、アプリケーションの高度な監視ツールとして機能することです。このために、Farm Guardianはファーム構成を読み取り、バックエンドリストを取得し、プラグインによって支援されてバックエンドの状態を確認します。指定されたファームは、ロードバランサがそのようなバックエンドにトラフィックを送信することを許可または禁止します。
このセクションから、Farmguardianチェックを設定できます。 あなたは2つのセクションを見ることができます グローバル and 農場.
グローバル設定
[グローバル]セクションには、以下に示すように、特定のFarmguardianヘルスチェックのヘルスチェック設定があります。
チェックがシステムで事前設定されている場合、このセクションのフィールドは編集できません。そのチェックを変更する場合は、希望するチェック名でコピーパラメーターを追加して新しいFarmguardianチェックを作成し、新しいを変更する必要があります。
- お名前。 現在のFarm Guardianチェックの識別名。
- 説明。 このフィールドには、チェックに関する説明が含まれています。
- コマンド。 すべてのバックエンドに対して定期的に実行されるコマンドとパラメータを確認してください。
- インターバル。 ヘルスチェックがすべてのバックエンドに対してバッチ処理される間隔(秒数)。
- 接続を切断する。 このオプションを有効にすると、検出されたダウンバックエンドの現在の接続がフラッシュされ、利用可能なバックエンドへの即時再接続が強制されます。 無効にすると、ユーザーを切断せずに現在の接続が切断されます。
- ログ。 Farm Guardianのすべてのヘルスチェックのログを有効または無効にします。 ログを無効にすると、バックエンドステータスの変更のみがログファイルに表示されます。
ヘルスチェックを設定する
Farm Guardianによって使用されるプラグインは、以下のディレクトリにあります。 / usr / lib / nagios / plugins /.
Farm Guardianは、カスタマイズされたオプションを使用して特定の実サーバーが期待どおりに機能しているかどうかを検出するために高度なヘルスチェックを設定するためにプラグインを使用します。 あらゆる種類のプロトコル、サービス、またはアプリケーションについて、多くのヘルスチェックがあります。 最も重要なプラグインは以下の通りです。
check_ftp:このプラグインは指定されたホストとのFTP接続をテストします。
Usage: check_ftp -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>] [-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>] [-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j] [-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]
check_fping:このプラグインは、高速チェックのためにfpingコマンドを使って指定されたホストにpingを送信します。
Usage: check_fping <host_address> -w limit -c limit [-b size] [-n number] [-T number] [-i number]
check_http:このプラグインは指定されたホスト上のHTTPサービスをテストします。 プレーン(HTTP)およびセキュア(HTTPS)プロトコルをテストし、リダイレクトをたどり、文字列と正規表現を検索し、接続時間を確認し、証明書の有効期限、HTTPリターンコードなどを報告します。
Usage: check_http -H <vhost> | -I <IP-address> [-u <uri>] [-p <port>] [-J <client certificate file>] [-K <private key>] [-w <warn time>] [-c <critical time>] [-t <timeout>] [-L] [-E] [-a auth] [-b proxy_auth] [-f <ok|warning|critcal|follow|sticky|stickyport>] [-e <expect>] [-d string] [-s string] [-l] [-r <regex> | -R <case-insensitive regex>] [-P string] [-m <min_pg_size>:<max_pg_size>] [-4|-6] [-N] [-M <age>] [-A string] [-k string] [-S <version>] [--sni] [-C <warn_age>[,<crit_age>]] [-T <content-type>] [-j method]
check_imap:このプラグインは指定されたホストとのIMAP接続をテストします。
Usage: check_imap -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>] [-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>] [-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j] [-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]
check_ldap:このプラグインはLDAPサービスをテストします。 それは与えられた検索でテストすることができます。
Usage: check_ldap -H <host> -b <base_dn> [-p <port>] [-a <attr>] [-D <binddn>] [-P <password>] [-w <warn_time>] [-c <crit_time>] [-t timeout] [-2|-3] [-4|-6]
check_ldaps:このプラグインはLDAPSサービスをテストします。 それは与えられた検索でテストすることができます。
Usage: check_ldaps -H <host> -b <base_dn> [-p <port>] [-a <attr>] [-D <binddn>] [-P <password>] [-w <warn_time>] [-c <crit_time>] [-t timeout] [-2|-3] [-4|-6]
check_mysql:このプラグインはMySQLサーバへの接続をテストします。
Usage: check_mysql [-d database] [-H host] [-P port] [-s socket] [-u user] [-p password] [-S] [-l] [-a cert] [-k key] [-C ca-cert] [-D ca-dir] [-L ciphers] [-f optfile] [-g group]
check_mysql_query:このプラグインは閾値レベルに対してクエリ結果をチェックします。
Usage: 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データベースが接続を受け入れているかどうかをテストします。
Usage: check_pgsql [-H <host>] [-P <port>] [-c <critical time>] [-w <warning time>] [-t <timeout>] [-d <database>] [-l <logname>] [-p <password>] [-q <query>] [-C <critical query range>] [-W <warning query range>]
check_pop:このプラグインは指定されたホストとのPOP接続をテストします。
Usage: check_pop -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>] [-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>] [-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j] [-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]
check_radius:RADIUSサーバーが接続を受け入れているかどうかを確認します。
Usage: 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接続をテストします。
Usage: check_simap -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>] [-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>] [-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j] [-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]
check_smtp:このプラグインはホストとのSMTP接続を開こうとします。
Usage: check_smtp -H host [-p port] [-4|-6] [-e expect] [-C command] [-R response] [-f from addr] [-A authtype -U authuser -P authpass] [-w warn] [-c crit] [-t timeout] [-q] [-F fqdn] [-S] [-D warn days cert expire[,crit days cert expire]] [-v]
check_snmp:リモートマシンの状態を確認し、SNMPでシステム情報を取得してください。
Usage: check_snmp -H <ip_address> -o <OID> [-w warn_range] [-c crit_range] [-C community] [-s string] [-r regex] [-R regexi] [-t timeout] [-e retries] [-l label] [-u units] [-p port-number] [-d delimiter] [-D output-delimiter] [-m miblist] [-P snmp version] [-N context] [-L seclevel] [-U secname] [-a authproto] [-A authpasswd] [-x privproto] [-X privpasswd] [-4|6]
check_spop:このプラグインは指定されたホストとの安全なPOP接続をテストします。
Usage: check_spop -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>] [-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>] [-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j] [-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]
check_ssh:指定されたサーバーとポートでSSHサーバーに接続してみてください。
Usage: check_ssh [-4|-6] [-t <timeout>] [-r <remote version>] [-p <port>] <host>
check_ssmtp:このプラグインは指定されたホストとのSSMTP接続をテストします。
Usage: check_ssmtp -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>] [-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>] [-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j] [-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]
check_tcp:このプラグインは指定されたホストとのTCP接続をテストします。
Usage: check_tcp -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>] [-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>] [-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j] [-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]
詳細については、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ヘルスチェックを使用している農場とサービスのリストがあります。
農場やサービスは、このFarm Guardianヘルスチェックからゴミ箱アイコンをクリックして切り離すことができます。