nginx 모니터링 백 엔 드 서버

3257 단어 nginx
nginx 모니터링 백 엔 드 서버
1. nginx_upstream_check_module
nginx_upstream_check_module 은 이퀄 라이저 내 노드 의 건강 검 사 를 전문 적 으로 제공 하 는 외부 모듈 로 타 오 바 오의 야 오 웨 이 빈 대신 이 개발 하여 백 엔 드 realserver 의 건강 상 태 를 검사 할 수 있 습 니 다.백 엔 드 realserver 가 사용 되 지 않 으 면 뒤의 요청 은 이 노드 에 전달 되 지 않 고 몇 가지 상 태 를 계속 검사 합 니 다.타 오 바 오 는 자신의 tengine 에 이 모듈 을 자체 적 으로 가지 고 있 습 니 다.항목 주소:https://github.com/yaoweibin/nginx_upstream_check_module 。 다음은 백 엔 드 모니터링 검 사 를 가 진 nginx. conf 설정 입 니 다.
upstream backend {
	    sticky;     # or simple round-robin
	    server 172.29.88.226:8080 weight=2;
	    server 172.29.88.226:8081 weight=1 max_fails=2 fail_timeout=30s ;
	    server 172.29.88.227:8080 weight=1 max_fails=2 fail_timeout=30s ;
	    server 172.29.88.227:8081;
	    
    check interval=5000 rise=2 fall=3 timeout=1000 type=http;
    check_http_send "HEAD / HTTP/1.0\r
\r
"; check_http_expect_alive http_2xx http_3xx; } server { location / { proxy_pass http://backend; } location /status { check_status; access_log off; allow 172.29.73.23; deny all; }

위 설정 은 name 이라는 부하 균형 항목 의 모든 노드 에 대해 5 초 에 한 번 씩 검 측 하고 2 번 정상 을 요청 하면 realserver 상 태 를 up 으로 표시 합 니 다. 3 번 검 측 에 실패 하면 realserver 상 태 를 down 으로 표시 하고 시간 초과 시간 은 1 초 입 니 다.
IP 접근 을 허용 하려 면 마지막 으로 deny all 을 추가 해 야 합 니 다.위의 allow 를 제외 한 모든 것 이 금지 되 어 있 음 을 나타 낸다.
check 명령 은 upstream 에 만 나타 납 니 다:
interval: 백 엔 드 에 보 내 는 건강 검진 가방 의 간격.fall: 연속 실패 횟수 가 fall 에 도달 하면count, 서버 는 다운 으로 여 겨 집 니 다.rise: 연속 성공 횟수 가 rise 에 도달 하면count, 서버 는 up 으로 여 겨 집 니 다.timeout: 백 엔 드 건강 요청 시간 초과.default_down: 초기 서버 의 상 태 를 설정 합 니 다. true 라면 기본 값 은 다운 입 니 다. false 라면 up 입 니 다.기본 값 은 true 입 니 다. 즉, 처음에 서버 가 사용 할 수 없다 고 생각 했 기 때문에 건강 검진 가방 이 일정한 성공 횟수 에 이 르 러 야 건강 하 다 고 여 겨 집 니 다.type: 건강 검진 패키지 의 종류 입 니 다. 현재 다음 과 같은 다양한 종류의 tcp 를 지원 합 니 다. 간단 한 tcp 연결 이 성공 하면 백 엔 드 가 정상 임 을 설명 합 니 다.http: HTTP 요청 을 보 내 고 백 엔 드 리 셋 패키지 의 상 태 를 통 해 백 엔 드 의 생존 여 부 를 판단 합 니 다.ajp: 백 엔 드 에 AJP 프로 토 콜 의 Cping 패 키 지 를 보 내 고 Cpong 패 키 지 를 받 아 백 엔 드 의 생존 여 부 를 판단 합 니 다.ssl_hello: 초기 SSL hello 패 키 지 를 보 내 고 서버 의 SSL hello 패 키 지 를 받 습 니 다.my sql: my sql 서버 에 연결 하여 서버 의 greeting 패 키 지 를 받 아 백 엔 드 가 살아 있 는 지 여 부 를 판단 합 니 다.fastcgi: fastcgi 요청 을 보 냅 니 다. fastcgi 응답 을 분석 하여 백 엔 드 에 port 가 존재 하 는 지 여 부 를 판단 합 니 다. 백 엔 드 서버 의 검사 포트 를 지정 합 니 다.실제 서비스 와 다른 백 엔 드 서버 의 포트 를 지정 할 수 있 습 니 다. 예 를 들 어 백 엔 드 가 제공 하 는 443 포트 의 응용 은 80 포트 의 상 태 를 검사 하여 백 엔 드 의 건강 상 태 를 판단 할 수 있 습 니 다.기본 값 은 0 입 니 다. 백 엔 드 서버 가 실제 서 비 스 를 제공 하 는 포트 와 같 습 니 다.이 옵션 은 Tengine - 1.4.0 에 나타 납 니 다.type 이 http 이면 check 를 사용 할 수 있 습 니 다.http_send 는 http 모니터링 검사 패키지 가 보 내 는 요청 내용 을 설정 합 니 다. 전송 데 이 터 를 줄 이기 위해 HEAD 방법 을 추천 합 니 다.긴 연결 로 건강 검진 을 할 때 이 명령 에 keep - alive 요청 헤드 를 추가 해 야 합 니 다. 예 를 들 어 HEAD / HTTP / 1.1 \ \ rConnection: keep - alive \ r \ r GET /health.html HTTP/1.0\r
\r
.GET 방법 을 사용 한 경우 uri 를 요청 하 는 size 가 너무 크 면 안 됩 니 다. 1 개의 interval 에서 전송 이 완 료 될 수 있 도록 해 야 합 니 다. 그렇지 않 으 면 건강 검사 모듈 에 의 해 백 엔 드 서버 나 네트워크 이상 으로 여 겨 집 니 다.
check_http_expect_alive 는 HTTP 회복 의 성공 상 태 를 지정 합 니 다. 기본적으로 2XX 와 3XX 의 상 태 는 건강 하 다 고 생각 합 니 다. , https http 2XX 3XX, , tcp
참고:https://www.cnblogs.com/cheyunhua/p/8044904.html

좋은 웹페이지 즐겨찾기