NGINX Plus

Live Activity 모니터링

NGINX Plus 의 내장된 Live Activity 모니터링 대시보드에서 또는 다른 도구로 JSON을 전송하여 NGINX Plus 및 애플리케이션의 성능을 실시간으로 추적할 수 있습니다.

이 문서에서는 대화형 대시보드와 NGINX Plus REST API인 NGINX Plus에서 런타임 모니터링 서비스를 구성하고 사용하는 방법에 대해 설명합니다.

목차

1. Live Activity 모니터링 정보
2. 전제 조건
3. 통계에 표시할 데이터 수집
4. API 구성
5. 대시보드 사용
5-1. 대시보드에 액세스
5-2. 탭 개요
5-3. 대시보드에서 Upstream 서버 관리하기
5-4. 대시보드 옵션 구성
6. REST API 사용
6-1. API로 통계 가져오기
6-2. 통계 재설정하기
6-3. API로 Upstream 서버 관리하기
7. OpenAPI 사양
7-1. Swagger UI 활성화하기
7-2. Swagger UI 비활성화
7-3. Swagger UI 사용
7-4. API 및 Swagger UI 라이브 예제

1. Live Activity 모니터링 정보

NGINX Plus는 서버 인프라를 위한 다양한 모니터링 도구를 제공합니다.

서버 인프라의 주요 부하 및 성능 지표를 보여주는 Live Activity 모니터링 인터페이스인 대화형 대시보드 페이지는 NGINX Plus 릴리스 9부터 사용할 수 있습니다.

확장된 상태 정보를 얻고, 통계를 재설정하고, Upstream 서버를 즉석에서 관리하고, Key-Value Store를 관리할 수 있는 인터페이스로 NGINX Plus 릴리스 14부터 사용할 수 있는 NGINX REST API. 이 API를 사용하면 NewRelic 또는 자체 대시보드와 같이 JSON 인터페이스를 지원하는 타사 도구에 NGINX Plus 상태 정보를 연결할 수 있습니다.

Note: NGINX Plus R14 이전에는 대시보드에서 Upstream 서버의 통계 수집 및 관리가 statusupstream_conf 모듈을 사용하여 수행되었습니다. 이제 확장된 statusupstream_conf 모듈은 api 모듈로 대체됩니다. R16부터는 statusupstream_conf 모듈이 제거되고 api 모듈로 완전히 대체됩니다.

live activity monitoring

2. 전제 조건

NGINX Plus REST API 및 대시보드용 NGINX Plus R14 이상 버전

통계용 데이터(통계에 표시할 데이터 수집 참조)

3. 통계에 표시할 데이터 수집

가상 서버, Upstream 서버 그룹 또는 캐시 Zone에서 데이터를 수집하려면 데이터를 수집하려는 객체에 대해 공유 메모리 Zone을 사용하도록 설정해야 합니다. 공유 메모리 Zone은 NGINX Worker Process에서 참조하는 구성 및 런타임 상태 정보를 저장합니다.

  • HTTPTCP 서버를 통계에 표시하려면 status_zone 지시문을 지정합니다. 여러 server 블록에 동일한 Zone 이름을 두 번 이상 지정할 수 있습니다. R19부터는 location 블록에도 status_zone 지시문을we 지정할 수 있으며, 이 경우 통계는 대시보드에서 서버와 위치에 대해 별도로 집계됩니다.
server {
    # ...
    status_zone status_page;
    location / {
        proxy_pass http://backend;
        status_zone location_zone;
    }
}
  • Upstream 서버 그룹이 통계에 표시되도록 하려면 각 upstream 블록 별로 zone 지시문을 지정합니다.
upstream backend {
    zone   backend 64k;
    server backend1.example.com;
    server backend2.example.com;
}
http {
    # ...
    proxy_cache_path /data/nginx/cache keys_zone=one:10m;
}
  • Health Check을 통계에 표시하려면 health_check 지시문으로 Health Check을 사용하도록 설정하고 서버 그룹이 공유 메모리에 있는지 확인합니다.
server {
    # ...
    status_zone status_page;
    location / {
        proxy_pass http://backend;
        health_check;
    }
}
  • 클러스터 정보가 대시보드에 표시되도록 하려면 클러스터에 NGINX Plus 인스턴스가 구성되어 있고 각 인스턴스에서 Zone 동기화가 사용 설정되어 있는지 확인하세요.
  • 대시보드에 Resolver 통계를 표시하려면 resolver 지시문의 status_zone 매개변수를 지정합니다.
resolver 192.168.33.70 status_zone=resolver-zone1;

server {
    # ...
    }
  • 완료되면 구성 파일을 저장하고 종료합니다.
  • 구성을 테스트하고 NGINX Plus를 Reload합니다.
sudo nginx -t && sudo nginx -s reloadp

4. API 구성

API를 활성화하려면 다음과 같이 하세요.

  • http 컨텍스트에서 API를 담당할 server 블록을 지정합니다.
http {
    server {
        # your api configuration will be here
    }
}
  • API 요청을 위한 location를 생성하고 이 위치에 api 지시문을 지정합니다.
http {
    # ...
    server {
        listen 192.168.1.23;
        # ...
        location /api {
            api;
            # ...
        }
    }
}
http {
    # ...
    server {
        listen 192.168.1.23;
        # ...
        location /api {
            api write=on;
            # ...
        }
    }
}
  • 예를 들어 allowdeny 지시문을 사용하여 로컬 네트워크에서만 액세스를 허용하는 등 API 위치에 대한 액세스를 제한하는 것이 좋습니다.
http {
    # ...
    server {
        listen 192.168.1.23;
        # ...
        location /api {
            api write=on;
            allow 192.168.1.0/24;
            deny  all;
        }
    }
}
  • 또한 특정 사용자에게만 PATCH, POSTDELETE 메서드에 대한 액세스를 제한하는 것이 좋습니다. 이는 HTTP 기본 인증을 구현하여 수행할 수 있습니다.
http {
    # ...
    server {
        listen 192.168.1.23;
        # ...
        location /api {
            limit_except GET {
                auth_basic "NGINX Plus API";
                auth_basic_user_file /path/to/passwd/file;
            }
            api   write=on;
            allow 192.168.1.0/24;
            deny  all;
        }
    }
}

/dashboard.html 위치를 지정하여 대시보드를 활성화합니다. 기본적으로 대시보드root 지시문으로 지정한 root 디렉터리(예: /usr/share/nginx/html)에 있습니다.

http {
    # ...
    server {
        listen 192.168.1.23;
        # ...
        location /api {
            limit_except GET {
                auth_basic "NGINX Plus API";
                auth_basic_user_file /path/to/passwd/file;
            }
            api   write=on;
            allow 192.168.1.0/24;
            deny  all;
        }
        location = /dashboard.html {
            root   /usr/share/nginx/html;
        }
    }
}

옵션으로 OpenAPI YAML 파일에 제공되고 NGINX Plus와 함께 사용되는 API 사양에 대한 대화형 문서화 도구인 Swagger UI를 사용해 볼 수 있습니다. Swagger UI와 OpenAPI YAML 사양을 다운로드하고, 해당 파일의 location(예: /swagger-ui)를 지정하고, root 지시문을 사용하여 해당 파일의 경로(예: /usr/share/nginx/html)를 지정한 다음, allowdeny 지시문을 사용하여 로컬 네트워크에 대한 액세스를 제한하세요.

http {
    # ...

    server {
        listen 192.168.1.23;
        # ...

        location /api {
            limit_except GET {
                auth_basic "NGINX Plus API";
                auth_basic_user_file /path/to/passwd/file;
            }

            api   write=on;
            allow 192.168.1.0/24;
            deny  all;
        }

        location = /dashboard.html {
            root   /usr/share/nginx/html;
        }

        location /swagger-ui {
            add_header Content-Security-Policy "default-src 'self'";
            root       /usr/share/nginx/html;
            allow      192.168.1.0/24;
            deny       all;
        }
    }
}

5. 대시보드 사용

NGINX Plus 대시보드는 서버 인프라의 주요 부하 및 성능 지표를 보여주는 실시간 Live Activity 모니터링 인터페이스를 제공합니다.

5-1. 대시보드에 액세스

브라우저의 주소 표시줄에 대시보드 페이지에 해당하는 주소를 입력합니다(예: http://192.168.1.23/dashboard.html). 그러면 root 지시문에 지정된 대로 /usr/share/nginx/html에 있는 대시보드 페이지가 표시됩니다.

다음 링크에서 NGINX의 라이브 데모 페이지도 확인할 수 있습니다.

demo.nginx.com/dashboard.html

live activity monitor

5-2. 탭 개요

NGINX Plus 대시보드의 모든 정보는 탭으로 표시됩니다.

The row of tabs at the top of the window on the NGINX Plus dashboard make it easy to drill down to more detailed information about server zones, upstream groups, or the cache

HTTP Zones 탭은 Frontend 성능에 대한 자세한 통계를 제공합니다. 통계는 http 컨텍스트에서 각 server, locationlimit_req 영역별로 표시됩니다. NGINX Plus가 각 서버에 대한 정보를 수집하려면 각 server 또는 location 블록에 status_zone 지시문을 포함해야 합니다. limit_req 제한에 대한 차트를 포함하려면 limit_req_zone 지시문을 구성해야 합니다.

The ‘HTTP zones’ tab in the NGINX Plus live activity monitoring dashboard displays information about NGINX Plus' interaction with clients

연결 제한(limit_conn)에 대한 차트가 있는 TCP 및 UDP 상태 Zone이 TCP/UDP Zones 탭에 표시됩니다.

The ‘TCP/UDP zones’ tab in the NGINX Plus live activity monitoring dashboard

HTTP Upstreams 탭은 HTTP 및 HTTPS 트래픽에 대한 각 Upstream 그룹에 대한 정보를 제공합니다. TCP 및 UDP Upstreams 그룹은 TCP/UDP Upstreams 탭에 표시됩니다. NGINX Plus가 Upstream 그룹에 대한 정보를 수집하려면 upstream 구성 블록에 zone 지시문을 추가해야 합니다.

The ‘Upstreams’ tab on the NGINX Plus live activity monitoring dashboard provides information about the servers in each upstream group for HTTP/HTTPS traffic

Caches 탭은 NGINX Plus에 구성된 캐시에 대한 통계를 제공합니다. NGINX Plus가 Upstream 그룹에 대한 정보를 수집하려면 캐시를 구성해야 합니다.

The ‘Caches’ tab in the NGINX Plus live activity monitoring dashboard provides information about cache readiness, fullness, and hit ratio

Shared Zones 탭에는 cache zone, SSL session cache, upstream zone, keyval zone, session log, sticky session, limit_conn 및 limit_req zone을 포함한 각 공유 메모리 Zone에서 사용하는 메모리의 사용량이 표시됩니다.

The ‘Shared Zones’ tab in the NGINX Plus live activity monitoring dashboard provides information about memory usage across all shared memory zones

Cluster 탭은 모든 NGINX 클러스터 노드에서 공유 메모리 Zone의 동기화 상태를 제공합니다.

The ‘Cluster’ tab in the NGINX Plus live activity monitoring dashboard provides synchronization information of shared memory zones of NGINX cluster nodes

Resolvers 탭은 각 DNS 상태 Zone 별 요청 및 응답에 대한 DNS 서버 통계를 제공합니다. NGINX Plus에서 DNS 서버에 대한 정보를 수집하려면 resolver 지시문에 status_zone 매개변수를 포함하세요.

The ‘Resolvers’ tab in the NGINX Plus live activity monitoring dashboard provides information about cache readiness, fullness, and hit ratio

5-3. 대시보드에서 Upstream 서버 관리하기

대시보드 인터페이스에서 직접 새 서버를 추가하거나 Upstream 서버를 수정 및 제거할 수 있습니다. 이전에 쓰기 모드에서 api를 활성화해야 한다는 점에 유의하세요.

Upstreams 또는 TCP/UDP Upstreams 탭에서 서버 이름 옆의 연필 아이콘을 클릭하고 Edit selectedAdd server 버튼 중에서 선택합니다.

In editing mode on the ‘Upstreams’ tab in the NGINX Plus live activity monitoring dashboard, you can add, remove, or modify servers

Upstream 서버를 추가하려면 Add server를 클릭합니다.

The ‘Add server’ interface for adding servers to an upstream group in the NGINX Plus live activity monitoring dashboard

Upstream 서버를 제거하거나 수정하려면 각 서버 이름 왼쪽에 있는 상자를 클릭한 다음 Edit selected을 클릭합니다.

The ‘Edit selected’ interface for modifying or removing servers in an upstream group in the NGINX Plus live activity monitoring dashboard

완료되면 Save 버튼을 클릭하여 변경 사항을 저장합니다.

5-4. 대시보드 옵션 구성

탭 메뉴에서 톱니바퀴 버튼을 클릭하여 대시보드 경고 및 알림의 임계값을 구성할 수 있습니다.

The ‘Dashboard configuration’ interface for modifying Dashboard settings

Update every N sec – 지정된 시간(초) 후에 대시보드 데이터를 업데이트하며 기본값은 1초입니다.

4xx warnings threshold – 는 HTTP UpstreamsHTTP ZonesTotal 요청 수와 4xx 오류 수 사이의 비율을 나타냅니다. 기본값은 30%입니다.

Calculate hit ratio for the past N sec – 는 캐시에 대해 지정된 시간(초) 내의 모든 캐시 hit를 나타냅니다. 기본값은 300초입니다.

Not synced data threshold – 클러스터에 대한 Pending 중인 레코드와 Total 레코드 간의 비율을 나타냅니다. 기본값은 70%입니다.

Resolver errors threshold – Resolver에 대해 N초마다 업데이트에 지정된 시간 프레임 내 RequestResolver 오류 간의 비율을 나타냅니다. 기본값은 3%입니다.

6. REST API 사용

NGINX Plus를 사용하면 REST API 인터페이스를 통해 서버 인프라의 통계를 관리할 수 있습니다. API는 표준 HTTP 요청을 기반으로 하며, GET 요청으로 통계를 가져오고 DELETE 요청으로 재설정할 수 있습니다. Upstream 서버는 POST 요청을 통해 추가할 수 있고 PATCH 요청을 통해 수정할 수 있습니다. 자세한 내용은 API로 Upstream 서버 관리하기를 참조하세요.

요청은 JSON 형식으로 전송되며, 이를 통해 통계를 JSON을 지원하는 모니터링 도구나 대시보드에 연결할 수 있습니다.

6-1. API로 통계 가져오기

슬래시로 구분된 URL을 사용하여 모든 요소의 상태 정보에 액세스할 수 있습니다. URL은 다음과 같습니다.

https://demo.nginx.com/api/8/http/caches/http_cache?fields=expi

  • /api는 API에 대한 NGINX 구성 파일에서 구성한 위치입니다.
  • /8은 API 버전이며, 현재 API 버전은 8입니다.
  • /http/caches/http_cache는 리소스 경로입니다.
  • ?.fields=expired,bypass는 요청된 객체의 어떤 필드를 출력할지 지정하는 선택적 인수입니다.

요청된 정보는 JSON 데이터 형식으로 반환됩니다.

사용 가능한 모든 rootpoint 목록을 가져오려면 터미널에서 ‘curl’ 명령으로 GET 요청을 보내세요(예제에서는 JSON pretty print extension “json_pp”가 사용됨).

curl -s 'https://demo.nginx.com/api/8/' | json_pp

반환된 JSON 데이터입니다.

[
   "nginx",
   "processes",
   "connections",
   "slabs",
   "http",
   "stream",
   "resolvers",
   "ssl"
]

예를 들어 특정 Endpoint에 대한 통계를 얻으려면, 즉 NGINX에 대한 일반 정보를 얻으려면 다음 GET 요청을 보내세요.

curl -s 'https://demo.nginx.com/api/8/nginx' | json_pp

반환된 JSON 데이터입니다.

{
   "generation" : 14,
   "timestamp" : "2021-06-28T14:04:51.515Z",
   "pid" : 2201,
   "address" : "206.251.255.64",
   "build" : "nginx-plus-r28",
   "version" : "1.23.2",
   "load_timestamp" : "2022-11-29T10:00:00.114Z",
   "ppid" : 92033
}

요청 줄에 선택적 필드 인수를 사용하여 요청된 객체의 어떤 필드를 출력할지 지정할 수 있습니다. 예를 들어, NGINX Plus 버전과 빌드만 표시하려면 다음과 같이 명령어를 지정합니다.

curl -s 'https://demo.nginx.com/api/8/nginx?fields=version,build' | json_pp

반환된 JSON 데이터입니다.

{
   "version" : "1.23.2",
   "build" : "nginx-plus-r28"
}

사용 가능한 Endpoint 및 지원되는 방법의 전체 목록은 참조 문서를 참조하세요.

6-2. 통계 재설정하기

통계 재설정은 DELETE 메서드가 포함된 API 명령을 대상 Endpoint에 전송하여 수행합니다. API가 Read-Write 모드로 구성되어 있는지 확인하세요.

다음과 같은 유형의 통계를 재설정할 수 있습니다.

  • 비정상적으로 종료되었다가 다시 시작된 자식 프로세스
  • 허용 및 삭제된 클라이언트 연결
  • SSL Handshake 및 세션 재사용
  • 각 메모리 슬롯에 대한 요구 사항실패 지표
  • 총 클라이언트 HTTP 요청
  • 특정 HTTP 서버 영역에서 수락 및 폐기된 요청, 응답, 수신 및 전송된 Byte
  • 특정 캐시 Zone에서 캐시 적중 및 캐시 미스
  • Upstream 서버 그룹의 특정 HTTP 또는 Stream Upstream 서버에 대한 통계

예를 들어 비정상적으로 종료되었다가 다시 시작된 자식 프로세스를 재설정하려면 터미널에서 curl을 통해 다음 명령을 실행하면 됩니다.

curl -X DELETE -i 'http://192.168.1.23/api/8/processes'

허용 및 삭제된 클라이언트 연결을 재설정하려면 다음 명령을 수행합니다.

curl -X DELETE  -i 'http://192.168.1.23/api/8/connections'

6-3. API로 Upstream 서버 관리하기

NGINX Plus REST API는 Upstream 그룹에 서버를 동적으로 추가하거나 서버 매개변수를 수정하기 위한 POSTPATCH HTTP 메서드를 지원합니다.

Upstream 그룹의 구성을 동적으로 변경하려면 적절한 API 메서드를 사용하여 HTTP 요청을 보내세요. 다음 예제에서는 curl 명령을 사용하지만, HTTP 요청을 위한 모든 메커니즘이 지원됩니다. 모든 요청 본문과 응답은 JSON 형식입니다.

URI는 다음 정보를 순서대로 지정합니다.

  • 요청을 처리하는 노드의 호스트 명 또는 IP 주소(다음 예시에서는 192.168.1.23)
  • API 지시문이 표시되는 위치(api)
  • API 버전 (8)
  • Upstream 그룹의 이름, 슬래시로 구분된 경로(http/upstreams/appservers)로 표시되는 NGINX Plus 구성 계층 구조에서 해당 위치를 완성합니다.

예를 들어, appservers Upstream 그룹에 새 서버를 추가하려면 다음 curl 명령을 전송합니다.

curl -X POST -d '{ \
   "server": "10.0.0.1:8089", \
   "weight": 4, \
   "max_conns": 0, \
   "max_fails": 0, \
   "fail_timeout": "10s", \
   "slow_start": "10s", \
   "backup": true, \
   "down": true \
 }' -s 'http://192.168.1.23/api/8/http/upstreams/appservers/servers'

Upstream 그룹에서 서버를 제거하려면 다음과 같이 하세요.

curl -X DELETE -s 'http://192.168.1.23/api/8/http/upstreams/appservers/servers/0'

그룹의 첫 번째 서버(ID 0)에 대한 down 매개변수를 설정하려면 다음과 같이 하세요.

curl -X PATCH -d '{ "down": true }' -s 'http://192.168.1.23/api/8/http/upstreams/appservers/servers/0'

7. OpenAPI 사양

NGINX Plus를 사용하면 그래픽 사용자 인터페이스를 통해 REST API 설명서를 탐색하고 API 명령을 보낼 수 있습니다. 이 작업은 YAML 형식의 NGINX Plus OpenAPI 사양과 Swagger UI를 사용하여 수행할 수 있습니다.

Swagger UI와 YAML OpenAPI 사양의 주요 목적은 NGINX API 명령을 문서화하고 시각화하는 것입니다. 보안상의 이유로 Production 환경에서는 사용하지 않는 것이 좋습니다.

NGINX Plus 릴리스 25 이전에는 Swagger UI가 NGINX Plus 패키지와 함께 제공되었습니다. NGINX Plus 릴리스 26부터 OpenAPI YAML 사양과 Swagger UI는 아래에서 별도로 게시됩니다.

또는 적절한 YAML 파일에 대한 링크를 복사하여 선호하는 OpenAPI v2 도구를 가져올 수도 있습니다.

7-1. Swagger UI 활성화하기

Swagger UI를 활성화합니다:

1. Swagger UI를 설치하고 구성합니다. 설치 패키지 및 지침은 Swagger UI 페이지에서 확인할 수 있습니다.

2. 사용 중인 NGINX Plus 버전과 일치하는 OpenAPI YAML 파일 버전을 선택하고 파일을 다운로드한 후 Swagger UI 파일이 들어 있는 폴더에 넣습니다.

OpenAPI YAML File/API VersionNGINX Plus Version변경 사항
OpenAPI v2 for API version 8NGINX Plus Releases 2728각 HTTP Upstream 및 Stream Upstream에 대한 SSL 통계, 각 HTTP 서버 Zone 및 Stream 서버 Zone에 대한 SSL 통계, SSL Endpoint에 대한 확장 통계
OpenAPI v2 for API version 7NGINX Plus Releases 2526각 HTTP Upstream, Server Zone 및 location Zone에 대한 responsescodes 데이터가 추가되었습니다.
OpenAPI v2 for API version 6NGINX Plus Releases 2021222324/stream/limit_conns/, /http/limit_conns//http/limit_reqs/ 데이터가 추가되었습니다.
OpenAPI v2 for API version 5NGINX Plus Release 19Key-Value 쌍의 expire 매개변수를 설정하거나 변경할 수 있으며, /resolvers//http/location_zones/ 데이터가 추가되었습니다.
OpenAPI v2 for API version 4NGINX Plus Release 18nginx error 객체pathmethod 필드가 제거되었습니다. 이러한 필드는 이전 API 버전에 계속 존재하지만 빈 값을 표시합니다.
OpenAPI v2 for API version 3NGINX Plus Releases 151617/stream/zone_sync/ 데이터가 추가되었습니다.
OpenAPI v2 for API version 2NGINX Plus Release 14drain 매개변수가 추가되었습니다.
OpenAPI v2 for API version 1NGINX Plus Release 13/stream/keyvals/ 데이터가 추가되었습니다.

3. Swagger UI와 함께 작동하도록 NGINX Plus를 구성합니다. 예를 들어 /swagger-ui location를 생성합니다.

location /swagger-ui {
    # ...
}

4. Swagger UI 파일 경로와 root 지시문을 사용하여 YAML 사양을 지정합니다(예: usr/share/nginx/html).

location /swagger-ui {
    root   /usr/share/nginx/html;
    # ...
}

NGINX Plus 릴리스 25 이전 버전의 경우 Swagger UI는 root 지시문으로 지정된 root 디렉터리(예: /usr/share/nginx/html)에 있습니다.

5. allowdeny 지시문을 사용하여 로컬 네트워크에서만 이 위치에 대한 액세스를 제한합니다.

location /swagger-ui {
    root   /usr/share/nginx/html;
    allow  192.168.1.0/24;
    deny   all;
}

6. 또한 add_header 지시문을 사용하여 모든 리소스가 Swagger UI와 동일한 Origin에서 로드되도록 정의하는 콘텐츠 보안 정책 헤더를 활성화하는 것이 좋습니다:

location /swagger-ui {
    add_header Content-Security-Policy "default-src 'self'";
    root       /usr/share/nginx/html;
    allow      192.168.1.0/24;
    deny       all;
}

7-2. Swagger UI 비활성화

NGINX Plus 릴리스 25 이하에서 Swagger UI는 NGINX Plus 패키지의 일부이며 기본적으로 설치됩니다. 보안상의 이유로 Swagger UI에 대한 액세스를 차단할 수 있습니다. 이를 위한 방법 중 하나는 /swagger-ui 위치와 일치하는 URL에 대한 응답으로 404 상태 코드를 반환하는 것입니다.

location /swagger-ui {
    return 404;
}

7-3. Swagger UI 사용

Swagger UI 페이지에 액세스하려면 다음과 같이 하세요.

  • 브라우저의 주소 표시줄에 Swagger UI의 주소를 입력합니다(이 예의 주소는 http://192.168.1.23/swagger-ui/).
Swagger UI
  • Swagger UI 페이지에 HTTPS 프로토콜을 구성한 경우 ‘Schemes’ 메뉴에서 ‘HTTPS’ 구성표를 선택해야 합니다.
  • 수행하고자 하는 작업을 클릭합니다.
  • Try it out을 클릭합니다.
  • 필요한 경우 필수 입력란을 채웁니다. 일반적으로 필수 입력란은 공유 메모리 Zone의 이름입니다.
  • 옵션으로 특정 필드만 표시할 수 있습니다. “Fields” 줄에 표시할 필드를 쉼표로 구분하여 지정합니다. 필드를 지정하지 않으면 모든 필드가 표시됩니다.
  • Execute를 클릭합니다. 결과와 해당 HTTP 오류 코드가 Execute 명령 아래에 표시됩니다.

7-4. API 및 Swagger UI 라이브 예제

NGINX는 데모 웹사이트에서 JSON 데이터와 Swagger UI의 라이브 예제를 제공합니다.

JSON 데이터의 라이브 예제는 다음 링크에서 확인할 수 있습니다. https://demo.nginx.com/api/8/

curl 또는 브라우저를 사용하여 API 명령을 보낼 수 있습니다.

curl -s 'https://demo.nginx.com/api/8/'
curl -s 'https://demo.nginx.com/api/8/nginx?fields=version,build'
curl -s 'https://demo.nginx.com/api/8/http/caches/http_cache'
curl -s 'https://demo.nginx.com/api/8/http/upstreams/'
curl -s 'https://demo.nginx.com/api/8/http/upstreams/demo-backend'
curl -s 'https://demo.nginx.com/api/8/http/upstreams/demo-backend/servers/0'

Swagger UI 데모 페이지는 https://demo.nginx.com/swagger-ui/ 에서 확인할 수 있습니다.

Swagger UI

Live 예제는 읽기 전용 모드로 작동하며, DELETE 메서드를 통한 통계 재설정 및 POST/PATCH 메서드를 통한 Upstream 서버 생성/수정 기능은 사용할 수 없습니다. 또한 데모 API는 HTTP 프로토콜을 통해 제공되므로 Swagger UI 데모 페이지의 “Schemes” 메뉴에서 “HTTP” 스키마를 선택해야 합니다.