モニタリング 農場の人々 更新

投稿日: 25 年 2021 月 XNUMX 日

デフォルトでは、 ゼベネット バックエンドまたは実サーバーで基本的なヘルスチェックを実行しますが、これらのチェックだけではバックエンドが適切に動作しているかどうかを判断できない場合があります。 このため、ZEVENET では というサービスを実装しています。 農場の守護者 高度なヘルスチェックを実行および管理するもの。

の目的 農場の守護者 バックエンド アプリケーション サーバーの高度な監視ツールとして機能します。 Farmguardian は、構成を読み取り、各バックエンドの正常性状態をチェックするプラグインを使用してバックエンドのリストを取得することでこれを実行します。 また、Farmguardian は各ファームのバックエンド ステータスを更新し、ロード バランサーがそのバックエンドにトラフィックを送信する必要があるかどうかを決定します。

このセクションでは、 農家 両方を使用してチェックします グローバル 設定と内部設定 牧場.

グローバル設定

以内 グローバル セクションでは、これらは次の設定です 農場の守護者.

チェックがシステムに事前にロードされている場合、「グローバル」タブではフィールドを編集できません。 ヘルスチェックを変更したい場合は、新しいヘルスチェックを作成する必要があります。 農家、有効にする 農場の保護者のコピー 新しいものを変更します。

お名前。 現在の Farmguardian チェックの識別名は編集できません。
コマンド. バックエンドの状態を確認するために実行するコマンドを設定します。
タイムアウト. バックエンドが応答を返すまでの最大時間。 単位 (秒)。
インターバル. すべてのバックエンドに対するヘルスチェック バッチ間の時間。 間隔ごとに、ファームガーディアン チェックが停止して再起動されることに注意してください。そのため、すべてのバックエンドをチェックできるように十分に高くする必要があります ( timeout * nº backends +1 )。
説明。 このフィールドには、Farmguardianチェックの簡単な説明が含まれています。
接続を切断する. このオプションを有効にすると、ダウンしていることが検出されたバックエンドの現在の接続がフラッシュされ、使用可能なバックエンドへの即時再接続が強制されます。 無効にすると、現在の接続はクライアントを切断せずに排出されます。
ログを有効にする。 すべてのファームガードチェックのログを有効または無効にします。 ログを無効にすると、バックエンドステータスの変更のみがログファイルに表示されます。
バックエンドエイリアス. バックエンドのインターフェースを簡単に識別できる名前。

ヘルスチェックを設定する

使用可能なすべての 農家 プラグインはディレクトリの下にあります / usr / local / zevenet / app / libexec / ロードバランサの内側。

農場の守護者 プラグインを使用して高度なヘルスチェックを構成し、カスタマイズされたオプションを使用して特定の実サーバーが期待どおりに機能しているかどうかを検出します。 プロトコル、サービス、またはアプリケーションごとに多くのヘルス チェックがあります。 最も重要なプラグインを以下に説明します。

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

農場の守護者 これらのプラグインを使用してバックエンドのヘルス ステータスをチェックし、実行されたプラグインの実行エラー出力を管理して、次のようにバックエンドのステータスを決定します。

エラーの場合 出力== 0 その後、バックエンドはOKです> $? = 0
エラーの場合 出力<> 0 その後、バックエンドはOKではありません> $? <> 0

カスタムプラグイン

これらのプラグインは、sysadmins によって設定および完全にプログラム可能で、あらゆるプロトコルまたはアプリケーションに適合させることができます。

この例はカスタムプラグインを示しています 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

定数

ブドウやコーヒーチェリーのような甘い果実の発酵過程において、野生酵母は糖類を用いてアルコール発酵します。 アルコールは酢酸菌によって更に<i> 酢酸</i>(お酢)に転化します。 農場の守護者 プラグインを実行すると、次のようないくつかの定数またはトークンを引数として使用できます。

HOST. 農場の守護者 は、実サーバーの IP アドレスによってこの定数を変更します。
PORT. 農場の守護者 は、実サーバー ポートによってこの定数を変更します。

これらの定数はすべてのプラグインで使用できます。 農場の守護者 それらを使用して、実際のパラメーターを使用してヘルスチェックを実行します。

農場

このタブには、これを使用するファームとサービスのリストがあります 農場の守護者 健康診断。

ここからファームとサービスを割り当てたり、削除したりできます 農場の守護者 単一矢印アイコンまたは二重矢印を使用した複数の選択を使用してヘルス チェックを行い、すべてのファームを有効または無効にします。

上の共有:

GNU Free Documentation Licenseの条項に基づくドキュメンテーション。

この記事は役に立ちましたか?

関連記事