prometheus nginx - vts - exporter 배치 구축 모니터링 nginx
6006 단어 prometheusnginx감시 하 다
1. nginx - module - vts 모듈 의 컴 파일 nginxvts_exporter 는 nginx - module - vts 모듈 에 의존 합 니 다. 이 모듈 을 설치 하려 면 다른 의존 이 필요 없습니다.모듈 과 Nginx 버 전의 호환성 은 다음 과 같 습 니 다.
설치 절차:
shell> git clone git://github.com/vozlt/nginx-module-vts.git
--add-module=/path/to/nginx-module-vts
을 추가 하여 공식 패 키 지 를 다운로드 하고 vts 모듈 에 컴 파일 합 니 다. 예 를 들 어 ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_sysguard_module --add-module=nginx-module-vts
make && make install
2. Nginx Conf 설정 변경 Nginx Conf 설정, 모니터링 인터페이스 추가 / status /: http {
vhost_traffic_status_zone;
vhost_traffic_status_filter_by_host on;
...
server {
...
location /status {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
}
}
}
vhost_traffic_status_filter_by_host on;
이 기능 을 켜 면 Nginx 에 여러 개의 server 를 설정 합 니 다.name 의 경우 서버 에 따라name 트 래 픽 통 계 를 진행 합 니 다. 그렇지 않 으 면 기본적으로 트 래 픽 을 첫 번 째 server 로 계산 합 니 다.이름 에.server {
...
vhost_traffic_status off;
...
}
nginx 가 server 를 제대로 설정 하지 않 았 다 면name 또는 모니터링 이 필요 없 는 server 에 서 는 이 vhost 에서 통계 모니터링 기능 을 사용 하지 않 는 것 을 권장 합 니 다.그렇지 않 으 면 '127.0.0.1', hostname 등의 도 메 인 네 임 모니터링 정보 가 나 옵 니 다.3. 모니터링 데이터 의 조회 가 vts 모듈 을 설치 한 후에 nginx status 인 터 페 이 스 를 통 해 모니터링 데 이 터 를 볼 수 있 습 니 다. 예 를 들 어:http://127.0.0.1/status: 페이지 맨 아래 에 모니터링 페이지 새로 고침 시간 간격 을 지정 하고 JSON 을 클릭 하면 JSON 형식 으로 출력 할 수 있 습 니 다.
3. nginx - vts - exporter 의 사용 exporter 는 nginx 성능 지표의 JSON 형식 데 이 터 를 수집 하고 모 은 후에 모니터링 인 터 페 이 스 를 Prometheus 에 노출 합 니 다.
그것 의 설치 사용 은 매우 간단 하 다. 상 자 를 열 면 바로 사용 할 수 있다.
# wget -c https://github.com/hnlq715/nginx-vts-exporter/releases/download/v0.9.1/nginx-vts-exporter-0.9.1.linux-amd64.tar.gz
# nginx-vts-exporter-0.9.1.linux-amd64/nginx-vts-exporter -nginx.scrape_timeout 10 -nginx.scrape_uri http://127.0.0.1/status/format/json
exporter 와 nginx 를 같은 기계 에 설치 하 는 것 을 추천 합 니 다. 같은 호스트 가 아니라면 scrapeuri 는 nginx 호스트 의 주소 로 바 뀌 었 습 니 다.nginx_vts_exporter 의 기본 포트 번호: 9913, 대외 노출 모니터링 인터페이스http://xxx:9913/metrics. 4. Nginx 의 모니터링 데이터 형식
nginx - vts - exporter 의 데이터 형식 네 임 스페이스 는 기본적으로 "nginx" 로 시작 합 니 다. 주로 다음 과 같은 9 가지 가 있 습 니 다.
HELP 는 모니터링 항목 에 대한 설명 입 니 다. TYPE 의 형식 은 모니터링 항목 이름 + Prometheus 데이터 형식 입 니 다.
# HELP nginx_server_bytes request/response bytes
# TYPE nginx_server_bytes counter
# HELP nginx_server_cache cache counter
# TYPE nginx_server_cache counter
# HELP nginx_server_connections nginx connections
# TYPE nginx_server_connections gauge
# HELP nginx_server_requestMsec average of request processing times in milliseconds
# TYPE nginx_server_requestMsec gauge
# HELP nginx_server_requests requests counter,
# TYPE nginx_server_requests counter
# HELP nginx_upstream_bytes request/response bytes
# TYPE nginx_upstream_bytes counter
# HELP nginx_upstream_requestMsec average of request processing times in milliseconds
# TYPE nginx_upstream_requestMsec gauge
# HELP nginx_upstream_requests requests counter,
# TYPE nginx_upstream_requests counter
# HELP nginx_upstream_responseMsec average of only upstream/backend response processing times in milliseconds
# TYPE nginx_upstream_responseMsec gauge
5. Nginx 모니터링 Prometheus 의 데이터 집합 에 자주 사용 되 는 모니터링 어 셈 블 리 표현 식: DomainName 대응 nginx conf 의 servername, 여 기 는 서버 에 따라name 과 upstream 은 각각 qps, 2xx / 3xx / 4xx / 5xx 의 상태 코드 감 측 을 실시 하고 nginx 각 백 엔 드 server 의 qps 와 백 엔 드 인터페이스 응답 시간 도 모니터링 할 수 있 습 니 다.
서버 를 구분 할 필요 가 없다 면name, 표현 식 의 $DomainName 을 별표 로 변경 할 수 있 습 니 다. "* * *" 는 모든 것 을 대표 합 니 다.
sum(irate(nginx_server_requests{code="total",host=~"$DomainName"}[5m]))
(sum(irate(nginx_server_requests{code="4xx",host=~"$DomainName"}[5m])) / sum(irate(nginx_server_requests{code="total",host=~"$DomainName"}[5m]))) * 10000
sum(irate(nginx_upstream_requests{code="total",upstream="group1"}[5m]))
nginx_upstream_responseMsec{upstream=“group1”}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Rancher Preview 2.3.0-alpha5 Istio kiali Jaeger Promethesu+GrafanaRancher2.3 Preview로서, Istio kiali Jaeger 그리고 2.2에서 동봉된 Prometheus+Grafana와는 별도로 기능으로서 추가되었습니다. Bookinfo 애플리케이션을 기반으로 시도해...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.