NGINX용 모니터링 도구를 설정하는 것은 웹사이트 운영을 유지하는 데 중요한 부분입니다. NGINX를 제대로 모니터링하면 기반 애플리케이션의 성능에 관한 유용한 정보를 많이 파악할 수 있습니다. 이 작업에 적합한 모니터링 시스템은 상당히 많지만, 우선 NGINX에서 메트릭 수집을 활성화해야 합니다.
Using the stub_status 모듈 사용하기
NGINX Open Source에는 ngx_http_stub_status_module(간단히 stub_status)이라는 모듈이 있으며, 이 모듈은 NGINX 활동에 관한 몇 가지 중요한 메트릭을 제공합니다.
NGINX 빌드에 stub_status 모듈이 포함되어 있는지 확인하려면 nginx -V를 실행합니다:
$ nginx -V 2>&1 | grep --color -- --with-http_stub_status_module당사의 모든 NGINX 빌드에는 모든 stub_status 모듈이 지원 플랫폼에 포함되어 있습니다.
NGINX 빌드에 stub_status 모듈이 포함되어 있지 않다면 소스에서 다시 빌드하고 --with-http_stub_status_module 매개변수를 configure 스크립트에 포함해야 합니다.
다음 단계로, NGINX 구성의 stub_status 지시어를 location 블록에 포함하여 모듈을 활성화합니다. 이 블록은 기존 server 구성에 추가할 수 있습니다. 또는 다음과 같이 별도의 server 블록을 추가하고, 그 안에 stub_status 지시어 전용 location을 하나만 구성할 수도 있습니다:
server {
listen 127.0.0.1:80;
server_name 127.0.0.1;
location /nginx_status {
stub_status;
}
}적절한 server 블록은 stub_status 지시어의 기본 구성 파일(nginx.conf) 외부에 있는 경우도 있습니다. 해당 파일에서 적절한 블록을 찾을 수 없다면 일반적으로 nginx.conf에 포함된 추가 구성 파일을 찾아보세요.
또한 권한이 있는 사용자만 메트릭에 액세스할 수 있도록 설정하는 것이 좋습니다. 예를 들어 allow 및 deny 지시어를 location 또는 server 블록에 포함할 수 있습니다.
After the stub_status 모듈을 구성한 후에는 NGINX 구성을 다시 로드해야 합니다(예: service nginx reload 명령 사용). NGINX 제어 신호에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
To display the stub_status 메트릭을 표시하려면 curl 요청을 실행합니다. 위에 표시된 구성에는 다음 명령이 적합합니다:
$ curl http://127.0.0.1/nginx_statusActive connections: 2
server accepts handled requests
841845 841845 1631067
Reading: 0 Writing: 1 Waiting: 1이 방법이 작동하지 않으면 /nginx_status 요청이 어디로 라우팅되는지 확인하세요. 다른 server 블록으로 인해 stub_status 메트릭에 액세스하지 못하는 경우가 많습니다. 이러한 인스턴스 전체 NGINX 메트릭에 대한 자세한 내용은 참조 문서를 확인하세요.
NGINX에서 stub_status 모듈을 활성화하여 정상적으로 작동하는 것을 확인했다면, 원하는 모니터링 시스템을 설치하고 구성할 수 있습니다.
로그 파일 및 syslog
NGINX 액세스 로그와 오류 로그에는 메트릭 수집에 적합한 유용한 정보가 많이 포함되어 있습니다. NGINX 변수를 사용하여 액세스 로그 형식을 완전히 사용자 지정할 수 있습니다. 일부 모니터링 도구는 NGINX 로그 파일을 활용하여 메트릭을 수집할 수 있습니다.
다양한 성능 및 보안 요구 사항을 충족하려면 NGINX의 syslog 기능을 사용하는 것이 좋습니다. 로그 파일은 디스크에 기록되지만, syslog를 사용하면 NGINX가 네트워크 프로토콜을 통해 로그 데이터를 전송할 수 있습니다. 예를 들어 여러 NGINX 인스턴스의 모든 로그 데이터를 수집하도록 전용 Linux 시스템을 설정할 수 있습니다.
로깅에 대한 자세한 내용은 NGINX Plus 관리 가이드를 참조하세요.
Amplify를 사용한 NGINX 모니터링
NGINX 모니터링을 위한 자체 도구가 있습니다. 이 도구의 이름은 NGINX Amplify이며, 최대 5대의 서버를 무료로 모니터링할 수 있는 SaaS 도구입니다(더 많은 서버를 모니터링하려면 구독을 이용할 수 있습니다).
NGINX Amplify는 쉽게 시작할 수 있습니다. 10분 이내에 모든 주요 NGINX 메트릭에 대한 기본 제공 그래프를 확인할 수 있습니다. NGINX Amplify는 stub_status와 액세스 로그의 메트릭을 자동으로 사용하며, 다양한 OS 정보도 수집할 수 있습니다.
NGINX Amplify를 사용하면 NGINX 성능을 시각화하고 OS, PHP‑FPM, Docker 컨테이너 등을 모니터링할 수 있습니다. Amplify만의 고유한 기능으로는 NGINX 구성을 분석하여 더욱 안전하고 효율적으로 개선할 수 있는 권장 사항을 제공하는 정적 분석기가 있습니다.
NGINX Amplify에 대해 자세히 알아보려면 여기를 클릭하고, 무료로 사용해 보세요.

NGINX Plus의 추가 API 모듈
NGINX Plus는 전용 API 모듈을 통해 성능 메트릭을 더 효과적으로 수집할 수 있습니다.
API 모듈은 로드 밸런싱 및 가상 서버 통계를 중심으로 상세한 메트릭 세트를 제공합니다. 예를 들어 모든 HTTP 상태 코드(1xx, 2xx, 3xx, 4xx, 5xx)의 세부 내역이 server 블록별로 제공됩니다. 상태 정보는 HTTP 및 TCP/UDP 업스트림 서버 모두에 대해 제공됩니다. 캐시 메트릭에는 각 캐시 영역의 적중 및 미적중 횟수가 포함됩니다.
확장된 메트릭 세트를 수집하는 것 외에도 API를 사용하면 NGINX Plus의 구성을 다시 로드하거나 재시작하지 않고도 HTTP 및 TCP/UDP 업스트림 서버 그룹을 재구성하고 키-값 변수를 관리할 수 있습니다.
NGINX Plus에는 추가 메트릭을 활용하는 통합 대시보드도 함께 제공됩니다. 추가 메트릭은 NGINX Amplify에서도 사용할 수 있습니다.
기타 모니터링 솔루션
그 밖에도 여러 모니터링 제품을 사용하여 NGINX 메트릭을 수집하고 표시할 수 있습니다. 아래 링크에서는 가장 일반적인 통합 시나리오를 설명합니다:
- NGINX 모니터링 확장 프로그램(AppDynamics용)
- Datadog‑NGINX 통합
- NGINX 모니터링(Dynatrace 사용)
- NGINX 플러그인(New Relic용)
- NGINX 플러그인(Pingdom Server Monitor용)
- Prometheus HTTP 익스포터 및 통합
작성자 소개
관련 블로그 게시물
시청하기: KubeCon North America 2023에서의 NGINX Gateway Fabric
이 영상에서는 KubeCon의 NGINX 부스를 찾아가, 저희가 공개한 Kubernetes Gateway API 구현을 살펴봅니다.
F5 NGINX로 대규모 WAF 플릿을 확인하고 관리하는 2가지 방법
앱 보안을 강화하는 두 가지 방법을 소개합니다. NGINX Management Suite를 통해 WAF 운영에 대한 가시성을 높이고, NGINX App Protect WAF를 활용해 코드형 보안을 구현하는 것입니다.
Ingress 컨트롤러 선택 가이드, 4부: NGINX Ingress Controller 옵션
개발 주체, 개발 철학, 프로덕션 환경 준비도, 보안 및 지원을 기준으로 어떤 NGINX Ingress 컨트롤러가 가장 적합한지 알아보세요.
진화하는 공격 환경에 NGINX App Protect Denial of Service가 적응하는 방법
NGINX App Protect Denial of Service(DoS)가 계층 7 DoS 공격을 방어하기 위해 완화 방법을 실시간으로 조정하는 방식을 설명합니다. 정상적인 사용자 행동과 서버 상태에 대한 모델을 생성하여 공격을 나타내는 이상 징후를 감지하고 맞춤형 완화 시그니처를 적용할 수 있습니다.
NGINX Instance Manager를 활용한 대규모 구성 업데이트 및 인증서 관리
NGINX Instance Manager 버전 1.0에는 두 가지 새로운 기능이 도입되었습니다. NGINX 인스턴스에 태그와 사용자 역할을 지정하면 전체 그룹에 구성을 한 번에 적용할 수 있습니다. 인증서 검사는 만료 예정인 인증서를 감지하여 서비스 중단을 방지할 수 있도록 인증서를 교체할 수 있게 해줍니다.
Netflix가 자사 CDN의 핵심으로 NGINX를 선택한 이유
Netflix가 글로벌 콘텐츠 전송 네트워크인 Open Connect의 스트리밍 미디어 기술로 NGINX를 선택한 이유를 NGINX 개발자 Gleb Smirnoff에게서 알아보세요.