기본적으로, RELIANOID 백엔드 또는 실제 서버에서 기본적인 상태 점검을 수행하지만, 이러한 점검만으로는 백엔드의 정상적인 작동을 보장하기에 충분하지 않을 수 있습니다. 이 문제를 해결하려면 RELIANOID 라는 서비스가 포함됩니다. 농장 수호자 고급 상태 검사를 실행하고 관리합니다.
Farmguardian은 백엔드 애플리케이션 서버를 위한 고급 모니터링 도구입니다. 구성 정보를 읽고 백엔드 목록을 가져온 다음 플러그인을 사용하여 각 백엔드의 상태를 확인합니다. 이러한 확인 결과를 바탕으로 Farmguardian은 각 팜의 백엔드 상태를 업데이트하고 로드 밸런서가 해당 백엔드로 트래픽을 라우팅해야 하는지 여부를 결정합니다.
이 섹션에서는 전역 설정과 농장 내 설정을 모두 사용하여 Farmguardian 검사를 구성하는 방법을 알아봅니다.
전역 설정 #
글로벌 섹션 에는 Farmguardian 에 대한 설정이 있습니다.
글로벌 탭 에서 시스템에 미리 로드된 검사 항목은 편집할 수 없습니다. 상태 검사를 수정하려면 새 Farmguardian을 생성하고 'Farmguardian 복사' 옵션을 활성화한 다음 새 Farmguardian을 수정하십시오.
이름. 현재 Farmguardian 검사의 식별 이름으로, 편집할 수 없습니다.
Command백엔드 상태를 확인하기 위해 실행되는 명령입니다.
시간 초과백엔드가 응답을 보내는 데 걸리는 최대 시간(초).
간격모든 백엔드에 대한 상태 점검 배치 간격입니다. 이 간격은 모든 백엔드를 점검할 수 있을 만큼 충분히 길어야 합니다(제한 시간 * 백엔드 수 + 1).
기술설명Farmguardian 체크에 대한 간략한 설명입니다.
연결 끊기활성화하면 감지된 다운된 백엔드에 대한 현재 연결이 플러시되어 사용 가능한 백엔드에 즉시 다시 연결됩니다. 비활성화하면 클라이언트 연결을 끊지 않고 현재 연결이 해제됩니다.
로그 활성화모든 Farmguardian 검사에 대한 로그를 활성화 또는 비활성화합니다. 로그가 비활성화되면 백엔드 상태 변경 사항만 로그 파일에 표시됩니다.
백엔드 별칭백엔드 인터페이스를 쉽게 식별하는 이름입니다.
상태 확인 구성 #
사용 가능한 모든 Farmguardian 플러그인은 로드 밸런서의 /usr/lib/nagios/plugins 및 /usr/local/relianoid/app/libexec/ 디렉터리에 있습니다 .
Farmguardian은 이러한 플러그인을 활용하여 고급 상태 점검을 구성하고, 사용자 지정 옵션을 통해 실제 서버가 올바르게 작동하는지 확인합니다. 다양한 프로토콜, 서비스 또는 애플리케이션에 대한 수많은 상태 점검 기능이 제공됩니다. 아래는 가장 중요한 플러그인에 대한 설명입니다.
check_ftp 플러그인은 지정된 호스트와의 FTP 연결을 테스트합니다.
사용법: check_ftp -H 호스트 -p 포트 [-w ] [-씨 ] [-s ] [-e ] [-q ][-중 ] [-d ] [-t ] [-r ] [-중 ] [-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 | -나 [-유 ] [-p ] [-제이 ] [-K ] [-w ] [-씨 ] [-t ] [-L] [-E] [-a 인증] [-b 프록시 인증] [-f ] [-e ] [-d 문자열] [-s 문자열] [-l] [-r | -아르 자형 ] [-P 문자열] [-m : ] [-4|-6] [-N] [-M ] [-A 문자열] [-k 문자열] [-S ] [--sni] [-C [, ]] [-T ] [-j 방법]
check_imap : 이 플러그인은 지정된 호스트와의 IMAP 연결을 테스트합니다.
사용법: check_imap -H 호스트 -p 포트 [-w ] [-씨 ] [-s ] [-e ] [-q ][-중 ] [-d ] [-t ] [-r ] [-중 ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_ldap : 이 플러그인은 지정된 검색 쿼리를 사용하여 LDAP 서비스를 테스트합니다.
사용법: check_ldap -H -비 [-피 ] [-ㅏ ] [-D ] [-P ] [-w ] [-씨 ] [-t 시간 초과] [-2|-3] [-4|-6]
check_ldaps : 이 플러그인은 지정된 검색 쿼리를 사용하여 LDAPS 서비스를 테스트합니다.
사용법: check_ldaps -H -비 [-피 ] [-ㅏ ] [-D ] [-P ] [-w ] [-씨 ] [-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 경고] [-c crit] [-H 호스트] [-P 포트] [-s 소켓] [-d 데이터베이스] [-u 사용자] [-p 비밀번호] [-f optfile ] [-g 그룹]
check_pgsql : 이 플러그인은 PostgreSQL 데이터베이스가 현재 연결을 수락하고 있는지 확인합니다.
사용법: check_pgsql [-H ] [-P ] [-씨 ] [-w ] [-t ] [-d ] [-l ] [-p ] [-q ] [-씨 ] [-W ]
check_pop : 이 플러그인은 지정된 호스트와의 POP 연결을 테스트합니다.
사용법: check_pop -H 호스트 -p 포트 [-w ] [-씨 ] [-s ] [-e ] [-q ][-중 ] [-d ] [-t ] [-r ] [-중 ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_radius : 이 플러그인은 RADIUS 서버가 연결을 수락하는지 여부를 테스트합니다.
사용법: check_radius -H 호스트 -F config_file -u 사용자 이름 -p 비밀번호 [-P 포트] [-t 시간 초과] [-r 재시도] [-e 예상] [-n nas-id] [-N nas-ip-addr ]
check_simap : 이 플러그인은 지정된 호스트와의 보안 IMAP(SIMAP) 연결을 테스트합니다.
사용법: check_simap -H 호스트 -p 포트 [-w ] [-씨 ] [-s ] [-e ] [-q ][-중 ] [-d ] [-t ] [-r ] [-중 ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_smtp : 이 플러그인은 지정된 호스트와의 SMTP 연결을 테스트합니다.
사용법: check_smtp -H 호스트 [-p 포트] [-4|-6] [-e 기대] [-C 명령] [-R 응답] [-f from addr] [-A authtype -U authuser -P authpass] [-w 경고] [-c crit] [-t 시간 초과] [-q] [-F fqdn] [-S] [-D 경고 일 인증서 만료[,crit 일 인증서 만료]] [-v]
check_snmp : 이 플러그인은 SNMP(단순 네트워크 관리 프로토콜)를 사용하여 원격 시스템의 상태를 확인하고 시스템 정보를 가져옵니다.
사용법: check_snmp -H -영형 [-w 경고 범위] [-c 임계 범위] [-C 커뮤니티] [-s 문자열] [-r regex] [-R regexi] [-t 시간 초과] [-e 재시도] [-l 레이블] [-u 단위] [-p 포트 번호] [-d 구분 기호] [-D 출력 구분 기호] [-m miblist] [-P snmp 버전] [-N 컨텍스트] [-L seclevel] [-U secname] [-a authproto] [-A authpasswd] [-x privproto] [-X privpasswd] [-4|6]
check_spop : 이 플러그인은 지정된 호스트와의 보안 POP(SPOP) 연결을 테스트합니다.
사용법: check_spop -H 호스트 -p 포트 [-w ] [-씨 ] [-s ] [-e ] [-q ][-중 ] [-d ] [-t ] [-r ] [-중 ] [-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 ] [-씨 ] [-s ] [-e ] [-q ][-중 ] [-d ] [-t ] [-r ] [-중 ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_tcp : 이 플러그인은 지정된 호스트와의 TCP 연결을 테스트합니다.
사용법: check_tcp -H 호스트 -p 포트 [-w ] [-씨 ] [-s ] [-e ] [-q ][-중 ] [-d ] [-t ] [-r ] [-중 ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
자세한 내용을 보려면 플러그인 디렉토리에서 다음 명령을 실행하세요.
플러그인 _ 이름 --도움
Farmguardian은 이러한 플러그인을 활용하여 백엔드의 상태를 모니터링하고 플러그인의 실행 오류 출력을 다음과 같이 해석합니다.
- 오류 출력이 다음과 같은 경우 0백엔드는 OK로 간주됩니다(종료 상태) $? = 0).
- 오류 출력이 아닌 경우 0 (0이 아닌 값) 백엔드는 OK가 아닌 것으로 간주됩니다(종료 상태) $? <> 0).
맞춤 플러그인 #
이러한 플러그인은 시스템 관리자가 구성하고 완전히 프로그래밍하여 모든 프로토콜이나 애플리케이션에 적용할 수 있습니다.
다음은 check_load.sh 라는 이름의 사용자 지정 플러그인 예시입니다.
#!/bin/bash ### ###comments: ###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 | 잘라내기 -d '.' -f1 | sed s/\ // | sed s/\"//` echo "$1에 대한 SNMP CPU 로드 확인은 $EXECUTE입니다." # 결과가 true이면 1로 종료하고, 그렇지 않으면 종료 = 0; OK if (( $EXECUTE >= $MAXVALUE )) ; 그런 다음 #error 출력; 서버가 과부하되어 로드 밸런서가 더 많은 연결을 보내지 않을 것입니다. exit 1 else #, 서버가 더 많은 연결을 허용할 수 있습니다.
상수 #
Farmguardian이 플러그인을 실행할 때 다음과 같은 상수 또는 토큰을 인수로 사용할 수 있습니다.
HOST: 농장 수호자 이 상수는 자동으로 실제 서버 IP 주소로 대체됩니다.
PORT: 농장 수호자 이 상수는 자동으로 실제 서버 포트로 대체됩니다.
이러한 상수는 모든 플러그인에 사용할 수 있습니다. 농장 수호자 올바른 매개변수로 상태 검사를 실행합니다.
농장 #
이 탭에서는 Farmguardian 건강 진단 서비스 를 이용하는 농장 및 서비스 목록을 확인할 수 있습니다.
팜가디언 상태 점검 에서 농장과 서비스를 지정하거나 제거할 수 있으며, 단일 화살표 아이콘 또는 이중 화살표 아이콘을 사용하여 모든 농장을 활성화 또는 비활성화할 수 있습니다.

