모니터링 | 농장 가디언 | 최신 정보

게시일: 15년 2019월 XNUMX일

기본적으로, Zevenet 백엔드 또는 실제 서버에 간단한 상태 확인을 실행하지만 때로는이 검사만으로 백엔드가 제대로 작동하는지 확인할 수 없습니다. 이러한 이유로 Zevenet은 플러그인이라는 플러그인을 사용하는 데몬을 통해 고급 상태 확인을 실행하고 관리하는 서비스를 구현합니다 농장 가디언.

Farmguardian의 주요 작업은 애플리케이션의 백엔드를위한 고급 모니터링 도구로 작동하는 것입니다.이를 위해 Farm Guardian은 팜 구성을 읽고 백엔드 목록을 가져오고 플러그인의 도움을 받아 백엔드 상태를 확인하고 Farm Guardian은 백엔드를 업데이트합니다. 부하 분산기가 이러한 백엔드로 트래픽을 보내야하는지 여부를 관리하는 지정된 팜의 상태입니다.

이 섹션에서는 Farmguardian 검사를 구성 할 수 있습니다. 두 개의 탭을 볼 수 있습니다. 글로벌농장.

전역 설정

아래에 표시된 것처럼 글로벌 섹션에는 특정 Farmguardian 상태 확인에 대한 상태 확인 설정이 있습니다.
이 탭의 필드는 검사가 시스템에 미리로드되어있는 경우 편집 할 수 없습니다. 검사를 수정하려면 복사 매개 변수를 사용하도록 새 Farmguardian을 만들고 원하는 검사를 템플릿으로 추가하고 새 매개 변수를 수정해야합니다.

  • 이름. 현재 Farm Guardian 확인의 식별 이름입니다. 편집 할 수 없습니다.
  • 설명:. 이 필드에는 Farmguardian 검사에 대한 간략한 설명이 들어 있습니다.
  • 명령. 백엔드 상태를 확인하기 위해 실행 된 명령을 설정하십시오.
  • 간격. 모든 백엔드에 대한 상태 확인 일괄 처리 사이의 시간 (초). 각 간격 시간, Farmguardian 검사가 중지되고 다시 시작되므로 모든 백엔드를 검사 할 수있을만큼 충분히 높아야합니다 (시간 초과 * nº 백엔드 + 1)
  • 연결 끊기. 이 옵션을 활성화하면 감지 된 다운 백엔드의 현재 연결이 플러시되고 사용 가능한 백엔드에 즉시 다시 연결됩니다. 비활성화 된 경우 클라이언트 연결을 끊지 않고 현재 연결이 끊어집니다.
  • 로그. 모든 farmguardian 확인 로그를 사용하거나 사용하지 않도록 설정합니다. 로그가 비활성화 된 상태에서만 백엔드 상태 변경 사항 만 로그 파일에 표시됩니다.

상태 확인 구성

사용 가능한 모든 Farmguardian 플러그인은 디렉토리 아래에 있습니다. / usr / local / zevenet / app / libexec / 로드 밸런서 내부

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 명령을 사용하여 지정된 호스트에 대해 빠르게 검사를 수행합니다.

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 백엔드는 정상입니다> $? = 0

오류 출력 <> 0 백엔드가 정상이 아닙니다> $? <> 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

상수

Farmguardian이 플러그인을 실행하면 다음과 같이 몇 가지 상수 또는 토큰을 인수로 사용할 수 있습니다.

  • HOST: Farmguardian은이 상수를 실제 서버 IP 주소로 수정합니다.
  • PORT: Farmguardian은 실제 서버 포트로이 상수를 수정합니다.

이 상수는 모든 플러그인에 사용될 수 있으며, Farmguardian은이 매개 변수를 사용하여 실제 매개 변수가있는 상태 확인을 실행합니다.

농장

이 탭에는이 Farmguardian 상태 검사를 사용하는 팜 및 서비스 목록이 있습니다.

팜 및 서비스는 단일 화살표 아이콘 또는 이중 화살표가있는 여러 선택 항목을 사용하여 모든 팜을 활성화 또는 비활성화하는 방법으로이 Farmguardian 상태 검사에서 할당하거나 제거 할 수 있습니다.

공유 :

GNU Free Documentation License의 조건에 따른 문서.

이 글이 도움 되었나요?

관련 기사