ngx_http_api_module

ngx_http_api_module λͺ¨λ“ˆ(1.13.3)은 λ‹€μ–‘ν•œ μƒνƒœ 정보에 μ•‘μ„ΈμŠ€ν•˜κ³  μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹을 μ¦‰μ‹œ κ΅¬μ„±ν•˜κ³  nginxλ₯Ό λ‹€μ‹œ ꡬ성할 ν•„μš” 없이 ν‚€-κ°’ μŒμ„ κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄ REST APIλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

λͺ¨λ“ˆμ€ ngx_http_status_module 및 ngx_http_upstream_conf_module λͺ¨λ“ˆμ„ λŒ€μ²΄ν•©λ‹ˆλ‹€.

PATCH λ˜λŠ” POST λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” 경우 νŽ˜μ΄λ‘œλ“œκ°€ ν΄λΌμ΄μ–ΈνŠΈ μš”μ²­ 본문을 읽기 μœ„ν•œ 버퍼 크기λ₯Ό μ΄ˆκ³Όν•˜μ§€ μ•ŠλŠ”μ§€ ν™•μΈν•˜κ³  μ΄ˆκ³Όν•˜λŠ” 경우 413(μš”μ²­ μ—”ν‹°ν‹°κ°€ λ„ˆλ¬΄ 큼) 였λ₯˜κ°€ λ°˜ν™˜λ  수 μžˆμŠ΅λ‹ˆλ‹€.

이 λͺ¨λ“ˆμ€ μƒμ—…μš© κ΅¬λ…μ˜ μΌλΆ€λ‘œ μ‚¬μš© κ°€λŠ₯ν•©λ‹ˆλ‹€.

예제 ꡬ성

http {
    upstream backend {
        zone http_backend 64k;

        server backend1.example.com weight=5;
        server backend2.example.com;
    }

    proxy_cache_path /data/nginx/cache_backend keys_zone=cache_backend:10m;

    server {
        server_name backend.example.com;

        location / {
            proxy_pass  http://backend;
            proxy_cache cache_backend;

            health_check;
        }

        status_zone server_backend;
    }

    keyval_zone zone=one:32k state=one.keyval;
    keyval $arg_text $text zone=one;

    server {
        listen 127.0.0.1;

        location /api {
            api write=on;
            allow 127.0.0.1;
            deny all;
        }
    }
}

stream {
    upstream backend {
        zone stream_backend 64k;

        server backend1.example.com:12345 weight=5;
        server backend2.example.com:12345;
    }

    server {
        listen      127.0.0.1:12345;
        proxy_pass  backend;
        status_zone server_backend;
        health_check;
    }
}

λͺ¨λ“  API μš”μ²­μ€ URIμ—μ„œ μ§€μ›λ˜λŠ” API 버전을 ν¬ν•¨ν•©λ‹ˆλ‹€. 이 ꡬ성을 κ°€μ§„ API μš”μ²­μ˜ 예:

http://127.0.0.1/api/7/
http://127.0.0.1/api/7/nginx
http://127.0.0.1/api/7/connections
http://127.0.0.1/api/7/http/requests
http://127.0.0.1/api/7/http/server_zones/server_backend
http://127.0.0.1/api/7/http/caches/cache_backend
http://127.0.0.1/api/7/http/upstreams/backend
http://127.0.0.1/api/7/http/upstreams/backend/servers/
http://127.0.0.1/api/7/http/upstreams/backend/servers/1
http://127.0.0.1/api/7/http/keyvals/one?key=arg1
http://127.0.0.1/api/7/stream/
http://127.0.0.1/api/7/stream/server_zones/server_backend
http://127.0.0.1/api/7/stream/upstreams/
http://127.0.0.1/api/7/stream/upstreams/backend
http://127.0.0.1/api/7/stream/upstreams/backend/servers/1

Directives

Syntax:  api [write=on|off];
Default: β€”
Context: location

μ£Όλ³€ μœ„μΉ˜μ—μ„œ REST API μΈν„°νŽ˜μ΄μŠ€λ₯Ό μΌ­λ‹ˆλ‹€. 이 μœ„μΉ˜μ— λŒ€ν•œ μ•‘μ„ΈμŠ€λŠ” μ œν•œλ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

write λ§€κ°œλ³€μˆ˜λŠ” APIκ°€ 읽기 μ „μš©μΈμ§€ 읽기-쓰기인지 κ²°μ •ν•©λ‹ˆλ‹€. 기본적으둜 APIλŠ” 읽기 μ „μš©μž…λ‹ˆλ‹€.

λͺ¨λ“  API μš”μ²­μ€ URI의 μ§€μ›λ˜λŠ” API 버전을 포함해야 ν•©λ‹ˆλ‹€. μš”μ²­ URIκ°€ μœ„μΉ˜ 접두사와 κ°™μœΌλ©΄ μ§€μ›λ˜λŠ” API λ²„μ „μ˜ λͺ©λ‘μ΄ λ°˜ν™˜λ©λ‹ˆλ‹€. ν˜„μž¬ API 버전은 “7”μž…λ‹ˆλ‹€.

μš”μ²­ ν–‰μ˜ “fields” 인수 μ˜΅μ…˜μ€ μš”μ²­λœ 개체의 μ–΄λ–€ ν•„λ“œκ°€ 좜λ ₯될지 μ§€μ •ν•©λ‹ˆλ‹€.

http://127.0.0.1/api/7/nginx?fields=version,build
Syntax:  status_zone zone;
Default: β€”
Context: server, location, if in location
This directive appeared in version 1.13.12.

μ§€μ •λœ μ˜μ—­μ˜ 가상 http λ˜λŠ” 슀트림 μ„œλ²„ μƒνƒœ μ •λ³΄μ˜ μˆ˜μ§‘μ„ ν™œμ„±ν™”ν•©λ‹ˆλ‹€. μ—¬λŸ¬ μ„œλ²„κ°€ λ™μΌν•œ μ˜μ—­μ„ κ³΅μœ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

1.17.0λΆ€ν„° μœ„μΉ˜λ³„λ‘œ μƒνƒœ 정보λ₯Ό μˆ˜μ§‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 특수 κ°’ offλŠ” μ€‘μ²©λœ μœ„μΉ˜ λΈ”λ‘μ˜ 톡계 μ»¬λ ‰μ…˜μ„ λΉ„ν™œμ„±ν™”ν•©λ‹ˆλ‹€. ν†΅κ³„λŠ” μ²˜λ¦¬κ°€ λλ‚˜λŠ” μœ„μΉ˜μ˜ μ»¨ν…μŠ€νŠΈμ—μ„œ μˆ˜μ§‘λ©λ‹ˆλ‹€. λ‚΄λΆ€ λ¦¬λ””λ ‰μ…˜μ΄ μš”μ²­ 처리 쀑에 λ°œμƒν•˜λŠ” 경우 μ›λž˜ μœ„μΉ˜μ™€ 톡계가 λ‹€λ₯Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

ν˜Έν™˜μ„±

  • 각 HTTP μ—…μŠ€νŠΈλ¦Ό, μ„œλ²„ μ˜μ—­ 및 μœ„μΉ˜ μ˜μ—­μ— λŒ€ν•œ μ‘λ‹΅μ˜ μ½”λ“œ λ°μ΄ν„°λŠ” 버전 7μ—μ„œ μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • /stream/limit_conns/ λ°μ΄ν„°λŠ” 버전 6μ—μ„œ μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • /http/limit_conns/ λ°μ΄ν„°λŠ” 버전 6μ—μ„œ μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • /http/limit_reqs/ λ°μ΄ν„°λŠ” 버전 6μ—μ„œ μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • ν‚€-κ°’ 쌍의 “expire” λ§€κ°œλ³€μˆ˜λŠ” 버전 5 이후에 μ„€μ •ν•˜κ±°λ‚˜ λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • /resolvers/ λ°μ΄ν„°λŠ” 버전 5μ—μ„œ μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • /http/location_zones/ λ°μ΄ν„°λŠ” 버전 5μ—μ„œ μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • nginx error object의 path 및 method ν•„λ“œλŠ” 버전 4μ—μ„œ μ œκ±°λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ ν•„λ“œλŠ” 이전 api 버전에 계속 μ‘΄μž¬ν•˜μ§€λ§Œ λΉ„μ–΄ μžˆλŠ” 값을 ν‘œμ‹œν•©λ‹ˆλ‹€.
  • /stream/zone_sync/ 데이터 버전 3에 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • drain λ§€κ°œλ³€μˆ˜λŠ” 버전 2μ—μ„œ μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • /stream/keyvals/ λ°μ΄ν„°λŠ” 버전 2μ—μ„œ μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μ—”λ“œν¬μΈνŠΈ

/

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – 루트 μ—”λ“œν¬μΈνŠΈμ˜ λͺ©λ‘ λ°˜ν™˜

루트 μ—”λ“œν¬μΈνŠΈμ˜ λͺ©λ‘μ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, λ¬Έμžμ—΄μ˜ μ–΄λ ˆμ΄ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜

/nginx

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – μΈμŠ€ν„΄μŠ€λ₯Ό μ‹€ν–‰ν•˜λŠ” nginx의 μƒνƒœ λ°˜ν™˜

nginx 버전, λΉŒλ“œ 이름, μ£Όμ†Œ, ꡬ성 μž¬λ‘œλ“œ 수, λ§ˆμŠ€ν„° 및 μž‘μ—…μž ν”„λ‘œμ„ΈμŠ€μ˜ IDλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 μΈμŠ€ν„΄μŠ€ μ‹€ν–‰ nginx의 ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, nginx λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜

/processes

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – nginx ν”„λ‘œμ„ΈμŠ€ μƒνƒœ λ°˜ν™˜

λΉ„μ •μƒμ μœΌλ‘œ μ’…λ£Œλ˜κ±°λ‚˜ μž¬μƒμ„±λœ ν•˜μœ„ ν”„λ‘œμ„ΈμŠ€μ˜ 수λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, ν”„λ‘œμ„ΈμŠ€ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • DELETE – nginx ν”„λ‘œμ„ΈμŠ€ 톡계 μž¬μ„€μ •

λΉ„μ •μƒμ μœΌλ‘œ μ’…λ£Œλ˜κ±°λ‚˜ μž¬μƒμ„±λœ ν•˜μœ„ ν”„λ‘œμ„ΈμŠ€μ˜ μΉ΄μš΄ν„°λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜

/connections

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – ν΄λΌμ΄μ–ΈνŠΈ μ—°κ²° 톡계 λ°˜ν™˜

ν΄λΌμ΄μ–ΈνŠΈ μ—°κ²°μ˜ 톡계λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 μ—°κ²° ν†΅κ³„μ˜ ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, μ—°κ²° λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • DELETE – ν΄λΌμ΄μ–ΈνŠΈ μ—°κ²° 톡계 μž¬μ„€μ •

수락된 ν΄λΌμ΄μ–ΈνŠΈ μ—°κ²°κ³Ό μ‚­μ œλœ ν΄λΌμ΄μ–ΈνŠΈ μ—°κ²°μ˜ 톡계λ₯Ό μž¬μ„€μ •ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜

/slabs/

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – λͺ¨λ“  슬래브의 μƒνƒœ λ°˜ν™˜

슬래브 ν• λ‹Ήμžλ₯Ό ν¬ν•¨ν•˜λŠ” 각 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ— λŒ€ν•œ 슬래브의 μƒνƒœλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 슬래브 μ˜μ—­μ˜ ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€. “fields” 값이 λΉ„μ–΄ 있으면 μ˜μ—­ μ΄λ¦„λ§Œ 좜λ ₯λ©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, λͺ¨λ“  μŠ¬λž˜λΈŒμ— λŒ€ν•΄ “슬래브 ν• λ‹Ήμžλ₯Ό ν¬ν•¨ν•˜λŠ” 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­” 개체의 μ»¬λ ‰μ…˜μ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜

/slabs/{slabZoneName}

λͺ¨λ“  λ©”μ„œλ“œμ— κ³΅ν†΅λœ λ§€κ°œλ³€μˆ˜:

slabZoneName (string, required)

슬래브 ν• λ‹Ήμžλ₯Ό ν¬ν•¨ν•˜λŠ” 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ˜ 이름.

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – 슬래브의 μƒνƒœ λ°˜ν™˜

슬래브 ν• λ‹Ήμžλ₯Ό ν¬ν•¨ν•˜λŠ” νŠΉμ •ν•œ 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ— λŒ€ν•œ 슬래브 μƒνƒœλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 슬래브 μ˜μ—­μ˜ ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, 슬래브 ν• λ‹Ήμžλ₯Ό ν¬ν•¨ν•˜λŠ” 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­ λ°˜ν™˜
  • 404 – 슬래브λ₯Ό 찾을 수 μ—†μŒ(SlabNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • DELETE – 슬래브 톡계 μž¬μ„€μ •

각 λ©”λͺ¨λ¦¬ μŠ¬λ‘―μ— λŒ€ν•œ “reqs” 및 “fails” λ©”νŠΈλ¦­μ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 404 – 슬래브λ₯Ό 찾을 수 μ—†μŒ(SlabNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜

/http/

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – HTTP κ΄€λ ¨ μ—”λ“œν¬μΈνŠΈ λͺ©λ‘ λ°˜ν™˜

첫 번째 μˆ˜μ€€ HTTP μ—”λ“œν¬μΈνŠΈμ˜ λͺ©λ‘μ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, λ¬Έμžμ—΄μ˜ μ–΄λ ˆμ΄ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜

/http/requests

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – HTTP μš”μ²­ 톡계 λ°˜ν™˜

ν΄λΌμ΄μ–ΈνŠΈ HTTP μš”μ²­μ˜ μƒνƒœλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 ν΄λΌμ΄μ–ΈνŠΈ HTTP μš”μ²­ ν†΅κ³„μ˜ ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, HTTP μš”μ²­ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • DELETE – HTTP μš”μ²­ 톡계 μž¬μ„€μ •

총 ν΄λΌμ΄μ–ΈνŠΈ HTTP μš”μ²­ 수λ₯Ό μž¬μ„€μ •ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜

/http/server_zones/

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – λͺ¨λ“  HTTP μ„œλ²„ μ˜μ—­μ˜ μƒνƒœ λ°˜ν™˜

각 HTTP μ„œλ²„ μ˜μ—­μ— λŒ€ν•œ μƒνƒœ 정보λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 μ„œλ²„ μ˜μ—­μ˜ ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€. “fields” 값이 λΉ„μ–΄ 있으면 μ„œλ²„ μ˜μ—­ μ΄λ¦„λ§Œ 좜λ ₯λ©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, λͺ¨λ“  HTTP μ„œλ²„ μ˜μ—­μ— λŒ€ν•œ “HTTP μ„œλ²„ μ˜μ—­” 개체의 μ»¬λ ‰μ…˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜

/http/server_zones/{httpServerZoneName}

λͺ¨λ“  λ©”μ„œλ“œμ— κ³΅ν†΅λœ λ§€κ°œλ³€μˆ˜:

httpServerZoneName (string, required)

HTTP μ„œλ²„ μ˜μ—­μ˜ 이름.

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – HTTP μ„œλ²„ μ˜μ—­μ˜ μƒνƒœ λ°˜ν™˜

νŠΉμ •ν•œ HTTP μ„œλ²„ μ˜μ—­μ˜ μƒνƒœλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 μ„œλ²„ μ˜μ—­μ˜ ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, HTTP μ„œλ²„ μ˜μ—­ λ°˜ν™˜
  • 404 – μ„œλ²„ μ˜μ—­μ„ 찾을 수 μ—†μŒ(ServerZoneNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • DELETE – HTTP μ„œλ²„ μ˜μ—­μ˜ 톡계 λ°˜ν™˜

νŠΉμ • HTTP μ„œλ²„ μ˜μ—­μ—μ„œ μˆ˜λ½ν•œ μš”μ²­ 및 버린 μš”μ³₯, 응닡, μˆ˜μ‹ ν•œ λ°”μ΄νŠΈ 및 μ „μ†‘ν•œ λ°”μ΄νŠΈμ˜ 톡계λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 404 – μ„œλ²„ μ˜μ—­μ„ 찾을 수 μ—†μŒ(ServerZoneNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜

/http/location_zones/

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – λͺ¨λ“  HTTP μœ„μΉ˜ μ˜μ—­μ˜ 톡계 λ°˜ν™˜

각 HTTP μœ„μΉ˜ μ˜μ—­μ— λŒ€ν•œ μƒνƒœ 정보λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 μœ„μΉ˜ μ˜μ—­μ˜ ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€. “fields” 값이 λΉ„μ–΄ 있으면 μ˜μ—­ μ΄λ¦„λ§Œ 좜λ ₯λ©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, λͺ¨λ“  HTTP μœ„μΉ˜ μ˜μ—­μ— λŒ€ν•œ “HTTP μœ„μΉ˜ μ˜μ—­” 개체의 μ»¬λ ‰μ…˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜

/http/location_zones/{httpLocationZoneName}

λͺ¨λ“  λ©”μ„œλ“œμ— κ³΅ν†΅λœ λ§€κ°œλ³€μˆ˜:

httpLocationZoneName (string, required)

HTTP μœ„μΉ˜ μ˜μ—­μ˜ 이름.

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – HTTP μœ„μΉ˜ μ˜μ—­μ˜ μƒνƒœ λ°˜ν™˜

νŠΉμ • HTTP μœ„μΉ˜ μ˜μ—­μ˜ μƒνƒœλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 μœ„μΉ˜ μ˜μ—­μ˜ ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, HTTP μœ„μΉ˜ μ˜μ—­ λ°˜ν™˜
  • 404 – μœ„μΉ˜ μ˜μ—­μ„ 찾을 수 μ—†μŒ(LocationZoneNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • DELETE – μœ„μΉ˜ μ˜μ—­μ— λŒ€ν•œ 톡계λ₯Ό μž¬μ„€μ •ν•©λ‹ˆλ‹€.

νŠΉμ • μœ„μΉ˜ μ˜μ—­μ—μ„œ μˆ˜λ½ν•œ μš”μ²­ 및 버린 μš”μ³₯, 응닡, μˆ˜μ‹ ν•œ λ°”μ΄νŠΈ 및 μ „μ†‘ν•œ λ°”μ΄νŠΈμ˜ 톡계λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 404 – μœ„μΉ˜ μ˜μ—­μ„ 찾을 수 μ—†μŒ(LocationZoneNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜

/http/caches/

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – λͺ¨λ“  μΊμ‹œμ˜ μƒνƒœ λ°˜ν™˜

proxy_cache_path 및 기타 “*_cache_path” λͺ…λ ΉμœΌλ‘œ κ΅¬μ„±λœ 각 μΊμ‹œμ˜ μƒνƒœλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 μΊμ‹œ μ˜μ—­μ˜ ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€. “fields” 값이 λΉ„μ–΄ 있으면 μΊμ‹œ μ˜μ—­μ˜ μ΄λ¦„λ§Œ 좜λ ₯λ©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, λͺ¨λ“  HTTP μΊμ‹œμ— λŒ€ν•œ “HTTP μΊμ‹œ” 개체의 μ»¬λ ‰μ…˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜

/http/caches/{httpCacheZoneName}

λͺ¨λ“  λ©”μ„œλ“œμ— κ³΅ν†΅λœ λ§€κ°œλ³€μˆ˜:

httpCacheZoneName (string, required)

μΊμ‹œ μ˜μ—­μ˜ 이름.

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – μΊμ‹œμ˜ μƒνƒœ λ°˜ν™˜

νŠΉμ •ν•œ μΊμ‹œμ˜ μƒνƒœλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 μΊμ‹œ μ˜μ—­μ˜ ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, HTTP μΊμ‹œ λ°˜ν™˜
  • 404 – μΊμ‹œλ₯Ό 찾을 수 μ—†μŒ(CacheNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • DELETE – μΊμ‹œ 톡계 μž¬μ„€μ •

νŠΉμ • μΊμ‹œ μ˜μ—­μ—μ„œ μΊμ‹œ 적쀑/λˆ„λ½μ˜ 톡계λ₯Ό μž¬μ„€μ •ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 404 – μΊμ‹œλ₯Ό 찾을 수 μ—†μŒ(CacheNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜

/http/limit_conns/

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – λͺ¨λ“  HTTP limit_conn μ˜μ—­μ˜ 톡계 λ°˜ν™˜

각 HTTP limit_conn zone에 λŒ€ν•œ μƒνƒœ 정보λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 limit_conn μ˜μ—­μ˜ ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€. “fields” 값이 λΉ„μ–΄ 있으면 μ˜μ—­ μ΄λ¦„λ§Œ 좜λ ₯λ©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, λͺ¨λ“  HTTP limit conn에 λŒ€ν•œ “HTTP μ—°κ²° μ œν•œ” 개체의 μ»¬λ ‰μ…˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜

/http/limit_conns/{httpLimitConnZoneName}

λͺ¨λ“  λ©”μ„œλ“œμ— κ³΅ν†΅λœ λ§€κ°œλ³€μˆ˜:

httpLimitConnZoneName (string, required)

limit_conn zone의 이름.

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – HTTP limit_conn μ˜μ—­μ˜ μƒνƒœ λ°˜ν™˜

νŠΉμ • HTTP limit_conn zone의 μƒνƒœλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 limit_conn zone의 ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, HTTP μ—°κ²° μ œν•œ λ°˜ν™˜
  • 404 – limit_conn을 찾을 수 μ—†μŒ(LimitConnNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • DELETE – HTTP limit_conn μ˜μ—­μ˜ 톡계 λ°˜ν™˜

μ—°κ²° μ œν•œ 톡계λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 404 – limit_conn을 찾을 수 μ—†μŒ(LimitConnNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜

/http/limit_reqs/

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – λͺ¨λ“  HTTP limit_req μ˜μ—­μ˜ 톡계 λ°˜ν™˜

각 HTTP limit_req zone에 λŒ€ν•œ μƒνƒœ 정보λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 limit_req μ˜μ—­μ˜ ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€. “fields” 값이 λΉ„μ–΄ 있으면 μ˜μ—­ μ΄λ¦„λ§Œ 좜λ ₯λ©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, λͺ¨λ“  HTTP limit reqs에 λŒ€ν•œ “HTTP μš”μ²­ 속도 μ œν•œ” 개체의 μ»¬λ ‰μ…˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜

/http/limit_reqs/{httpLimitReqZoneName}

λͺ¨λ“  λ©”μ„œλ“œμ— κ³΅ν†΅λœ λ§€κ°œλ³€μˆ˜:

httpLimitReqZoneName (string, required)

limit_req zone의 이름.

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – HTTP limit_req μ˜μ—­μ˜ μƒνƒœ λ°˜ν™˜

νŠΉμ • HTTP limit_req zone의 μƒνƒœλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 limit_req zone의 ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, HTTP μš”μ²­ 속도 μ œν•œ λ°˜ν™˜
  • 404 – limit_reqλ₯Ό 찾을 수 μ—†μŒ(LimitReqNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • DELETE – HTTP limit_req μ˜μ—­μ˜ 톡계 μž¬μ„€μ •

μš”μ²­ μ œν•œ 톡계λ₯Ό μž¬μ„€μ •ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 404 – limit_reqλ₯Ό 찾을 수 μ—†μŒ(LimitReqNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜

/http/upstreams/

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – λͺ¨λ“  HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 μƒνƒœ λ°˜ν™˜

각 HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ κ·Έλ£Ή 및 ν•΄λ‹Ή μ„œλ²„μ˜ μƒνƒœλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€. “fields” 값이 λΉ„μ–΄ 있으면 μ—…μŠ€νŠΈλ¦Ό μ΄λ¦„λ§Œ 좜λ ₯λ©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, λͺ¨λ“  HTTP μ—…μŠ€νŠΈλ¦Όμ— λŒ€ν•œ “HTTP μ—…μŠ€νŠΈλ¦Ό” 개체의 μ»¬λ ‰μ…˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜

/http/upstreams/{httpUpstreamName}/

λͺ¨λ“  λ©”μ„œλ“œμ— κ³΅ν†΅λœ λ§€κ°œλ³€μˆ˜:

httpUpstreamName (string, required)

HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 이름.

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 μƒνƒœ λ°˜ν™˜

νŠΉμ • HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ κ·Έλ£Ή 및 ν•΄λ‹Ή μ„œλ²„μ˜ μƒνƒœλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, HTTP μ—…μŠ€νŠΈλ¦Ό λ°˜ν™˜
  • 400 – μ—…μŠ€νŠΈλ¦Όμ΄ μ •μ μž„(UpstreamStatic), 였λ₯˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), μ—…μŠ€νŠΈλ¦Όμ„ 찾을 수 μ—†μŒ(UpstreamNotFound), Error λ°˜ν™˜
  • DELETE – HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 μƒνƒœ μž¬μ„€μ •

μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ κ·Έλ£Ή 및 λŒ€κΈ°μ—΄ ν†΅κ³„μ—μ„œ 각 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ— λŒ€ν•œ 톡계λ₯Ό μž¬μ„€μ •ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 400 – μ—…μŠ€νŠΈλ¦Όμ΄ μ •μ μž„(UpstreamStatic), 였λ₯˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), μ—…μŠ€νŠΈλ¦Όμ„ 찾을 수 μ—†μŒ(UpstreamNotFound), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜

/http/upstreams/{httpUpstreamName}/servers/

λͺ¨λ“  λ©”μ„œλ“œμ— κ³΅ν†΅λœ λ§€κ°œλ³€μˆ˜:

httpUpstreamName (string, required)

μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 이름.

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 λͺ¨λ“  μ„œλ²„μ˜ ꡬ성 λ°˜ν™˜

νŠΉμ • HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 각 μ„œλ²„μ˜ ꡬ성을 λ°˜ν™˜ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ μ–΄λ ˆμ΄ λ°˜ν™˜
  • 400 – μ—…μŠ€νŠΈλ¦Όμ΄ μ •μ μž„(UpstreamStatic), 였λ₯˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), μ—…μŠ€νŠΈλ¦Όμ„ 찾을 수 μ—†μŒ(UpstreamNotFound), Error λ°˜ν™˜
  • POST – HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹에 μ„œλ²„ μΆ”κ°€

HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹에 μƒˆλ‘œμš΄ μ„œλ²„λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€. μ„œλ²„ λ§€κ°œλ³€μˆ˜λŠ” JSON ν˜•μ‹μœΌλ‘œ μ§€μ •λ©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

postHttpUpstreamServer(HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„, ν•„μˆ˜)

JSON ν˜•μ‹μ˜ μƒˆ μ„œλ²„μ˜ μ£Όμ†Œ 및 기타 λ§€κ°œλ³€μˆ˜ μ˜΅μ…˜. “ID”, “backup” 및 “service” λ§€κ°œλ³€μˆ˜λŠ” λ³€κ²½ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 201 – 생성됨, HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ λ°˜ν™˜
  • 400 – μ—…μŠ€νŠΈλ¦Όμ΄ μ •μ μž„(UpstreamStatic), 잘λͺ»λœ “parameter” κ°’(UpstreamConfFormatError), λˆ„λ½λœ “server” 인수(UpstreamConfFormatError), μ•Œ 수 μ—†λŠ” λ§€κ°œλ³€μˆ˜ “name” (UpstreamConfFormatError), μ€‘μ²©λœ 개체 λ˜λŠ” λͺ©λ‘(UpstreamConfFormatError), ꡬ문 뢄석 쀑 “error”(UpstreamBadAddress), μ„œλΉ„μŠ€ μ—…μŠ€νŠΈλ¦Ό “host”에 ν¬νŠΈκ°€ 없을 수 있음(UpstreamBadAddress), μ„œλΉ„μŠ€ μ—…μŠ€νŠΈλ¦Ό “host”에 도메인 이름이 ν•„μš”ν•¨(UpstreamBadAddress), 잘λͺ»λœ “weight”(UpstreamBadWeight), 잘λͺ»λœ “max_conns”(UpstreamBadMaxConns), 잘λͺ»λœ “max_fails”(UpstreamBadMaxFails), 잘λͺ»λœ “fail_timeout”(UpstreamBadFailTimeout), 잘λͺ»λœ “slow_start”(UpstreamBadSlowStart), μš”μ²­ λ³Έλ¬Έ 읽기 μ‹€νŒ¨(BodyReadError), κ²½λ‘œκ°€ λ„ˆλ¬΄ κΉ€(UpstreamBadRoute), “service”κ°€ λΉ„μ–΄ 있음(UpstreamBadService), ν™•μΈν•˜λ„λ‘ μ •μ˜λœ ν™•μΈμž μ—†μŒ(UpstreamConfNoResolver), μ—…μŠ€νŠΈλ¦Ό “name“에 λ°±μ—… μ—†μŒ(UpstreamNoBackup), μ—…μŠ€νŠΈλ¦Ό “name” λ©”λͺ¨λ¦¬ μ†Œμ§„(UpstreamOutOfMemory), 였λ₯˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), μ—…μŠ€νŠΈλ¦Όμ„ 찾을 수 μ—†μŒ(UpstreamNotFound), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜
  • 409 – ν•­λͺ© 있음(EntryExists), 였λ₯˜ λ°˜ν™˜
  • 415 – JSON 였λ₯˜(JsonError), 였λ₯˜ λ°˜ν™˜

/http/upstreams/{httpUpstreamName}/servers/{httpUpstreamServerId}

λͺ¨λ“  λ©”μ„œλ“œμ— κ³΅ν†΅λœ λ§€κ°œλ³€μˆ˜:

httpUpstreamName (string, required)

μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 이름.

httpUpstreamServerId(string, required)

μ„œλ²„μ˜ ID.

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 μ„œλ²„μ˜ ꡬ성 λ°˜ν™˜

HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 νŠΉμ • μ„œλ²„μ˜ ꡬ성을 λ°˜ν™˜ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ λ°˜ν™˜
  • 400 – μ—…μŠ€νŠΈλ¦Όμ΄ μ •μ μž„(UpstreamStatic), 잘λͺ»λœ μ„œλ²„ ID(UpstreamBadServerId), 였λ₯˜ λ°˜ν™˜
  • 404 – IDκ°€ “id“인 μ„œλ²„κ°€ μ—†μŒ(UpstreamServerNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), μ—…μŠ€νŠΈλ¦Όμ„ 찾을 수 μ—†μŒ(UpstreamNotFound), Error λ°˜ν™˜
  • PATCH – HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 μ„œλ²„ μˆ˜μ •

HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 νŠΉμ • μ„œλ²„μ˜ 섀정을 μˆ˜μ •ν•©λ‹ˆλ‹€. μ„œλ²„ λ§€κ°œλ³€μˆ˜λŠ” JSON ν˜•μ‹μœΌλ‘œ μ§€μ •λ©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

patchHttpUpstreamServer(HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„, ν•„μˆ˜)

μ„œλ²„ λ§€κ°œλ³€μˆ˜, JSON ν˜•μ‹μœΌλ‘œ μ§€μ •λ©λ‹ˆλ‹€. “ID”, “backup” 및 “service” λ§€κ°œλ³€μˆ˜λŠ” λ³€κ²½ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ λ°˜ν™˜
  • 400 – μ—…μŠ€νŠΈλ¦Όμ΄ μ •μ μž„(UpstreamStatic), 잘λͺ»λœ “parameter” κ°’(UpstreamConfFormatError), μ•Œ 수 μ—†λŠ” λ§€κ°œλ³€μˆ˜ “name“(UpstreamConfFormatError), μ€‘μ²©λœ 개체 λ˜λŠ” λͺ©λ‘(UpstreamConfFormatError), ꡬ문 뢄석 쀑 “error”(UpstreamBadAddress), 잘λͺ»λœ “server” 인수(UpstreamBadAddress), 잘λͺ»λœ μ„œλ²„ ID(UpstreamBadServerId), 잘λͺ»λœ “weight”(UpstreamBadWeight), 잘λͺ»λœ “max_conns”(UpstreamBadMaxConns), 잘λͺ»λœ “max_fails”(UpstreamBadMaxFails), 잘λͺ»λœ “fail_timeout”(UpstreamBadFailTimeout), 잘λͺ»λœ “slow_start”(UpstreamBadSlowStart), μš”μ²­ λ³Έλ¬Έ 읽기 μ‹€νŒ¨(BodyReadError), κ²½λ‘œκ°€ λ„ˆλ¬΄ κΉ€(UpstreamBadRoute), “service”κ°€ λΉ„μ–΄ 있음(UpstreamBadService), μ„œλ²„ “ID” μ£Όμ†Œκ°€ λ³€κ²½ λΆˆκ°€λŠ₯함(UpstreamServerImmutable), μ„œλ²„ “ID” κ°€μ€‘μΉ˜κ°€ λ³€κ²½ λΆˆκ°€λŠ₯함(UpstreamServerWeightImmutable), μ—…μŠ€νŠΈλ¦Ό “name” λ©”λͺ¨λ¦¬ μ†Œμ§„(UpstreamOutOfMemory), 였λ₯˜ λ°˜ν™˜
  • 404 – IDκ°€ “id“인 μ„œλ²„κ°€ μ—†μŒ(UpstreamServerNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), μ—…μŠ€νŠΈλ¦Όμ„ 찾을 수 μ—†μŒ(UpstreamNotFound), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜
  • 415 – JSON 였λ₯˜(JsonError), 였λ₯˜ λ°˜ν™˜
  • DELETE – HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ κ·Έλ£Ήμ—μ„œ μ„œλ²„ 제거

HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ κ·Έλ£Ήμ—μ„œ μ„œλ²„λ₯Ό μ œκ±°ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ μ–΄λ ˆμ΄ λ°˜ν™˜
  • 400 – μ—…μŠ€νŠΈλ¦Όμ΄ μ •μ μž„(UpstreamStatic), 잘λͺ»λœ μ„œλ²„ ID(UpstreamBadServerId), μ„œλ²„ “id” 제거 λΆˆκ°€(UpstreamServerImmutable), 였λ₯˜ λ°˜ν™˜
  • 404 – IDκ°€ “id“인 μ„œλ²„κ°€ μ—†μŒ(UpstreamServerNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), μ—…μŠ€νŠΈλ¦Όμ„ 찾을 수 μ—†μŒ(UpstreamNotFound), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜

/http/keyvals/

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – λͺ¨λ“  HTTP keyval μ˜μ—­μ—μ„œ ν‚€-κ°’ 쌍 λ°˜ν™˜

각 HTTP keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ— λŒ€ν•œ ν‚€-κ°’ μŒμ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

“fields” 값이 λΉ„μ–΄ 있으면 HTTP keyval μ˜μ—­ μ΄λ¦„λ§Œ 좜λ ₯λ©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, λͺ¨λ“  HTTP keyvals에 λŒ€ν•œ “HTTP Keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­” 개체의 μ»¬λ ‰μ…˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜

/http/keyvals/{httpKeyvalZoneName}

λͺ¨λ“  λ©”μ„œλ“œμ— κ³΅ν†΅λœ λ§€κ°œλ³€μˆ˜:

httpKeyvalZoneName(string, required)

HTTP keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ˜ 이름.

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – HTTP keyval μ˜μ—­μ—μ„œ ν‚€-κ°’ 쌍 λ°˜ν™˜

νŠΉμ • HTTP keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ— μ €μž₯된 ν‚€-κ°’ μŒμ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

key(string, μ˜΅μ…˜)

HTTP keyval μ˜μ—­μ—μ„œ νŠΉμ • ν‚€-κ°’ μŒμ„ κ°€μ Έμ˜΅λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, HTTP Keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­ λ°˜ν™˜
  • 404 – Keyval을 찾을 수 μ—†μŒ(KeyvalNotFound), keyval ν‚€λ₯Ό 찾을 수 μ—†μŒ(KeyvalKeyNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • POST – HTTP keyval μ˜μ—­μ— ν‚€-κ°’ 쌍 μΆ”κ°€

HTTP keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ— μƒˆλ‘œμš΄ ν‚€-κ°’ μŒμ„ μΆ”κ°€ν•©λ‹ˆλ‹€. HTTP keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ΄ λΉ„μ–΄ μžˆλŠ” 경우 μ—¬λŸ¬ ν‚€-κ°’ μŒμ„ μž…λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

Key-value(HTTP Keyval Shared Memory Zone, required)

ν‚€-κ°’ 쌍이 JSON ν˜•μ‹μœΌλ‘œ μ§€μ •λ©λ‹ˆλ‹€. HTTP keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ΄ λΉ„μ–΄ μžˆλŠ” 경우 μ—¬λŸ¬ ν‚€-κ°’ μŒμ„ μž…λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ°€λ¦¬μ΄ˆ λ‹¨μœ„μ˜ 만료 μ‹œκ°„μ€ keyval_zone λͺ…λ Ήμ˜ timeout λ§€κ°œλ³€μˆ˜λ₯Ό μž¬μ •μ˜ν•˜λŠ” expire λ§€κ°œλ³€μˆ˜λ‘œ ν‚€-κ°’ μŒμ— λŒ€ν•΄ μ§€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 201 – 생성됨
  • 400 – 잘λͺ»λœ JSON(KeyvalFormatError), 잘λͺ»λœ ν‚€ ν˜•μ‹(KeyvalFormatError), ν‚€ ν•„μˆ˜(KeyvalFormatError), keyval μ‹œκ°„μ œν•œμ΄ ν™œμ„±ν™”λ˜μ§€ μ•ŠμŒ(KeyvalFormatError), ν•œ 개 ν‚€λ§Œ μΆ”κ°€ν•  수 있음(KeyvalFormatError), μš”μ²­ λ³Έλ¬Έ 읽기 μ‹€νŒ¨(BodyReadError), 였λ₯˜ λ°˜ν™˜
  • 404 – Keyval을 찾을 수 μ—†μŒ(KeyvalNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜
  • 409 – ν•­λͺ©μ΄ 있음(EntryExists), ν‚€κ°€ 이미 있음(KeyvalKeyExists), 였λ₯˜ λ°˜ν™˜
  • 413 – μš”μ²­ μ—”ν‹°ν‹°κ°€ λ„ˆλ¬΄ 큼, 였λ₯˜ λ°˜ν™˜
  • 415 – JSON 였λ₯˜(JsonError), 였λ₯˜ λ°˜ν™˜
  • PATCH – ν‚€-값을 μˆ˜μ •ν•˜κ±°λ‚˜ ν‚€ μ‚­μ œ

ν‚€-κ°’ μŒμ—μ„œ μ„ νƒλœ ν‚€μ˜ 값을 λ³€κ²½ν•˜κ³  ν‚€ 값을 null둜 μ„€μ •ν•˜μ—¬ ν‚€λ₯Ό μ‚­μ œν•˜κ³  ν‚€-κ°’ 쌍의 만료 μ‹œκ°„μ„ λ³€κ²½ν•©λ‹ˆλ‹€. ν΄λŸ¬μŠ€ν„°μ˜ keyval μ˜μ—­μ˜ 동기화가 ν™œμ„±ν™”λ˜λ©΄ λŒ€μƒ ν΄λŸ¬μŠ€ν„° λ…Έλ“œμ—μ„œ ν‚€λ§Œ μ‚­μ œν•©λ‹ˆλ‹€. λ°€λ¦¬μ΄ˆ λ‹¨μœ„μ˜ 만료 μ‹œκ°„μ€ keyval_zone λͺ…λ Ήμ˜ timeout λ§€κ°œλ³€μˆ˜λ₯Ό μž¬μ •μ˜ν•˜λŠ” expire λ§€κ°œλ³€μˆ˜λ‘œ ν‚€-κ°’ μŒμ— λŒ€ν•΄ μ§€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

httpKeyvalZoneKeyValue(HTTP Keyval Shared Memory Zone, ν•„μˆ˜)

ν‚€μ˜ μƒˆλ‘œμš΄ 값은 JSON ν˜•μ‹μœΌλ‘œ μ§€μ •λ©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 400 – 잘λͺ»λœ JSON(KeyvalFormatError), ν‚€ ν•„μˆ˜(KeyvalFormatError), keyval μ‹œκ°„μ œν•œμ΄ ν™œμ„±ν™”λ˜μ§€ μ•ŠμŒ(KeyvalFormatError), 1개 κ°’λ§Œ μ—…λ°μ΄νŠΈν•  수 있음(KeyvalFormatError), μš”μ²­ λ³Έλ¬Έ 읽기 μ‹€νŒ¨(BodyReadError), 였λ₯˜ λ°˜ν™˜
  • 404 – Keyval을 찾을 수 μ—†μŒ(KeyvalNotFound), keyval ν‚€λ₯Ό 찾을 수 μ—†μŒ(KeyvalKeyNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜
  • 413 – μš”μ²­ μ—”ν‹°ν‹°κ°€ λ„ˆλ¬΄ 큼, 였λ₯˜ λ°˜ν™˜
  • 415 – JSON 였λ₯˜(JsonError), 였λ₯˜ λ°˜ν™˜
  • DELETE – HTTP keyval μ˜μ—­ λΉ„μš°κΈ°

HTTP keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ—μ„œ λͺ¨λ“  ν‚€-κ°’ μŒμ„ μ‚­μ œν•©λ‹ˆλ‹€. ν΄λŸ¬μŠ€ν„°μ˜ keyval μ˜μ—­μ˜ 동기화가 ν™œμ„±ν™”λ˜λ©΄ λŒ€μƒ ν΄λŸ¬μŠ€ν„° λ…Έλ“œμ—μ„œ ν‚€ μ˜μ—­λ§Œ λΉ„μ›λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 404 – Keyval을 찾을 수 μ—†μŒ(KeyvalNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜

/stream/

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – 슀트림 κ΄€λ ¨ μ—”λ“œν¬μΈνŠΈ λͺ©λ‘ λ°˜ν™˜

첫 번째 μˆ˜μ€€ 슀트림 μ—”λ“œν¬μΈνŠΈμ˜ λͺ©λ‘μ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, λ¬Έμžμ—΄μ˜ μ–΄λ ˆμ΄ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜

/stream/server_zones/

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – λͺ¨λ“  슀트림 μ„œλ²„ μ˜μ—­μ˜ μƒνƒœ λ°˜ν™˜

각 슀트림 μ„œλ²„ μ˜μ—­μ— λŒ€ν•œ μƒνƒœ 정보λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 μ„œλ²„ μ˜μ—­μ˜ ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€. “fields” 값이 λΉ„μ–΄ 있으면 μ„œλ²„ μ˜μ—­ μ΄λ¦„λ§Œ 좜λ ₯λ©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, λͺ¨λ“  슀트림 μ„œλ²„ μ˜μ—­μ— λŒ€ν•œ “슀트림 μ„œλ²„ μ˜μ—­” 개체의 μ»¬λ ‰μ…˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜

/stream/server_zones/{streamServerZoneName}

λͺ¨λ“  λ©”μ„œλ“œμ— κ³΅ν†΅λœ λ§€κ°œλ³€μˆ˜:

streamServerZoneName(string, required)

슀트림 μ„œλ²„ μ˜μ—­μ˜ 이름.

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – 슀트림 μ„œλ²„ μ˜μ—­μ˜ μƒνƒœ λ°˜ν™˜

νŠΉμ •ν•œ 슀트림 μ„œλ²„ μ˜μ—­μ˜ μƒνƒœλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 μ„œλ²„ μ˜μ—­μ˜ ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, 슀트림 μ„œλ²„ μ˜μ—­ λ°˜ν™˜
  • 404 – μ„œλ²„ μ˜μ—­μ„ 찾을 수 μ—†μŒ(ServerZoneNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • DELETE – 슀트림 μ„œλ²„ μ˜μ—­μ˜ 톡계 λ°˜ν™˜

νŠΉμ • 슀트림 μ„œλ²„ μ˜μ—­μ—μ„œ μˆ˜λ½ν•œ μ—°κ²° 및 버린 μ—°κ²°, μ„Έμ…˜, μˆ˜μ‹ ν•œ λ°”μ΄νŠΈ 및 μ „μ†‘ν•œ λ°”μ΄νŠΈμ˜ 톡계λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 404 – μ„œλ²„ μ˜μ—­μ„ 찾을 수 μ—†μŒ(ServerZoneNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜

/stream/limit_conns/

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – λͺ¨λ“  슀트림 limit_conn μ˜μ—­μ˜ μƒνƒœ λ°˜ν™˜

각 슀트림 limit_conn zone에 λŒ€ν•œ μƒνƒœ 정보λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 limit_conn μ˜μ—­μ˜ ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€. “fields” 값이 λΉ„μ–΄ 있으면 μ˜μ—­ μ΄λ¦„λ§Œ 좜λ ₯λ©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, λͺ¨λ“  슀트림 limit conn에 λŒ€ν•œ “슀트림 μ—°κ²° μ œν•œ” 개체의 μ»¬λ ‰μ…˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜

/stream/limit_conns/{streamLimitConnZoneName}

λͺ¨λ“  λ©”μ„œλ“œμ— κ³΅ν†΅λœ λ§€κ°œλ³€μˆ˜:

streamLimitConnZoneName(string, ν•„μˆ˜)

limit_conn zone의 이름.

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – 슀트림 limit_conn μ˜μ—­μ˜ μƒνƒœ λ°˜ν™˜

νŠΉμ • 슀트림 limit_conn zone.의 μƒνƒœλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 limit_conn zone의 ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, 슀트림 μ—°κ²° μ œν•œ λ°˜ν™˜
  • 404 – limit_conn을 찾을 수 μ—†μŒ(LimitConnNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • DELETE – 슀트림 limit_conn μ˜μ—­μ˜ 톡계 λ°˜ν™˜

μ—°κ²° μ œν•œ 톡계λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 404 – limit_conn을 찾을 수 μ—†μŒ(LimitConnNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜

/stream/upstreams/

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – λͺ¨λ“  슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 μƒνƒœ λ°˜ν™˜

각 슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ κ·Έλ£Ή 및 ν•΄λ‹Ή μ„œλ²„μ˜ μƒνƒœλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€. “fields” 값이 λΉ„μ–΄ 있으면 μ—…μŠ€νŠΈλ¦Ό μ΄λ¦„λ§Œ 좜λ ₯λ©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, λͺ¨λ“  HTTP μ—…μŠ€νŠΈλ¦Όμ— λŒ€ν•œ “슀트림 μ—…μŠ€νŠΈλ¦Ό” 개체의 μ»¬λ ‰μ…˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜

/stream/upstreams/{streamUpstreamName}/

λͺ¨λ“  λ©”μ„œλ“œμ— κ³΅ν†΅λœ λ§€κ°œλ³€μˆ˜:

streamUpstreamName(string, ν•„μˆ˜)

슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 이름.

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – 슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 μƒνƒœ λ°˜ν™˜

νŠΉμ • 슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ κ·Έλ£Ή 및 ν•΄λ‹Ή μ„œλ²„μ˜ μƒνƒœλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, 슀트림 μ—…μŠ€νŠΈλ¦Ό λ°˜ν™˜
  • 400 – μ—…μŠ€νŠΈλ¦Όμ΄ μ •μ μž„(UpstreamStatic), 였λ₯˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), μ—…μŠ€νŠΈλ¦Όμ„ 찾을 수 μ—†μŒ(UpstreamNotFound), Error λ°˜ν™˜
  • DELETE – 슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 μƒνƒœ μž¬μ„€μ •

μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 각 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ— λŒ€ν•œ 톡계λ₯Ό μž¬μ„€μ •ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 400 – μ—…μŠ€νŠΈλ¦Όμ΄ μ •μ μž„(UpstreamStatic), 였λ₯˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), μ—…μŠ€νŠΈλ¦Όμ„ 찾을 수 μ—†μŒ(UpstreamNotFound), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜

/stream/upstreams/{streamUpstreamName}/servers/

λͺ¨λ“  λ©”μ„œλ“œμ— κ³΅ν†΅λœ λ§€κ°œλ³€μˆ˜:

streamUpstreamName(string, ν•„μˆ˜)

μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 이름.

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – 슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 λͺ¨λ“  μ„œλ²„μ˜ ꡬ성 λ°˜ν™˜

νŠΉμ • 슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 각 μ„œλ²„μ˜ ꡬ성을 λ°˜ν™˜ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, 슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ μ–΄λ ˆμ΄ λ°˜ν™˜
  • 400 – μ—…μŠ€νŠΈλ¦Όμ΄ μ •μ μž„(UpstreamStatic), 였λ₯˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), μ—…μŠ€νŠΈλ¦Όμ„ 찾을 수 μ—†μŒ(UpstreamNotFound), Error λ°˜ν™˜
  • POST – 슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹에 μ„œλ²„ μΆ”κ°€

슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹에 μƒˆλ‘œμš΄ μ„œλ²„λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€. μ„œλ²„ λ§€κ°œλ³€μˆ˜λŠ” JSON ν˜•μ‹μœΌλ‘œ μ§€μ •λ©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

postStreamUpstreamServer(Stream Upstream Server, ν•„μˆ˜)

JSON ν˜•μ‹μ˜ μƒˆ μ„œλ²„μ˜ μ£Όμ†Œ 및 기타 λ§€κ°œλ³€μˆ˜ μ˜΅μ…˜. “ID”, “backup” 및 “service” λ§€κ°œλ³€μˆ˜λŠ” λ³€κ²½ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 201 – 생성됨, 슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ λ°˜ν™˜
  • 400 – μ—…μŠ€νŠΈλ¦Όμ΄ μ •μ μž„(UpstreamStatic), 잘λͺ»λœ “parameter” κ°’(UpstreamConfFormatError), λˆ„λ½λœ “server” 인수(UpstreamConfFormatError), μ•Œ 수 μ—†λŠ” λ§€κ°œλ³€μˆ˜ “name“(UpstreamConfFormatError), μ€‘μ²©λœ 개체 λ˜λŠ” λͺ©λ‘(UpstreamConfFormatError), ꡬ문 뢄석 쀑 “error”(UpstreamBadAddress), μ„œλ²„ “host”의 포트 μ—†μŒ(UpstreamBadAddress), μ„œλΉ„μŠ€ μ—…μŠ€νŠΈλ¦Ό “host”에 ν¬νŠΈκ°€ 없을 수 있음(UpstreamBadAddress), μ„œλΉ„μŠ€ μ—…μŠ€νŠΈλ¦Ό “host”에 도메인 이름 ν•„μš”(UpstreamBadAddress), 잘λͺ»λœ “weight”(UpstreamBadWeight), 잘λͺ»λœ “max_conns”(UpstreamBadMaxConns), 잘λͺ»λœ “max_fails”(UpstreamBadMaxFails), 잘λͺ»λœ “fail_timeout”(UpstreamBadFailTimeout), 잘λͺ»λœ “slow_start”(UpstreamBadSlowStart), “service”κ°€ λΉ„μ–΄ 있음(UpstreamBadService), ν™•μΈν•˜λ„λ‘ μ •μ˜λœ ν™•μΈμž μ—†μŒ(UpstreamConfNoResolver), μ—…μŠ€νŠΈλ¦Ό “name“에 λ°±μ—… μ—†μŒ(UpstreamNoBackup), μ—…μŠ€νŠΈλ¦Ό “name” λ©”λͺ¨λ¦¬ μ†Œμ§„(UpstreamOutOfMemory), μš”μ²­ λ³Έλ¬Έ 읽기 μ‹€νŒ¨(BodyReadError), 였λ₯˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), μ—…μŠ€νŠΈλ¦Όμ„ 찾을 수 μ—†μŒ(UpstreamNotFound), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜
  • 409 – ν•­λͺ© 있음(EntryExists), 였λ₯˜ λ°˜ν™˜
  • 415 – JSON 였λ₯˜(JsonError), 였λ₯˜ λ°˜ν™˜ 

/stream/upstreams/{streamUpstreamName}/servers/{streamUpstreamServerId}

λͺ¨λ“  λ©”μ„œλ“œμ— κ³΅ν†΅λœ λ§€κ°œλ³€μˆ˜:

streamUpstreamName(string, required)

μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 이름.

streamUpstreamServerId(string, required)

μ„œλ²„μ˜ ID.

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – 슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 μ„œλ²„μ˜ ꡬ성 λ°˜ν™˜

슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 νŠΉμ • μ„œλ²„μ˜ ꡬ성을 λ°˜ν™˜ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, 슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ λ°˜ν™˜
  • 400 – μ—…μŠ€νŠΈλ¦Όμ΄ μ •μ μž„(UpstreamStatic), 잘λͺ»λœ μ„œλ²„ ID(UpstreamBadServerId), 였λ₯˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), μ—…μŠ€νŠΈλ¦Όμ„ 찾을 수 μ—†μŒ(UpstreamNotFound), IDκ°€ “id“인 μ„œλ²„κ°€ μ—†μŒ(UpstreamServerNotFound), Error λ°˜ν™˜
  • PATCH – 슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 μ„œλ²„ μˆ˜μ •

슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ 그룹의 νŠΉμ • μ„œλ²„μ˜ 섀정을 μˆ˜μ •ν•©λ‹ˆλ‹€. μ„œλ²„ λ§€κ°œλ³€μˆ˜λŠ” JSON ν˜•μ‹μœΌλ‘œ μ§€μ •λ©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

patchStreamUpstreamServer(Stream Upstream Server, ν•„μˆ˜)

μ„œλ²„ λ§€κ°œλ³€μˆ˜, JSON ν˜•μ‹μœΌλ‘œ μ§€μ •λ©λ‹ˆλ‹€. “ID”, “backup” 및 “service” λ§€κ°œλ³€μˆ˜λŠ” λ³€κ²½ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, 슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ λ°˜ν™˜
  • 400 – μ—…μŠ€νŠΈλ¦Όμ΄ μ •μ μž„(UpstreamStatic), 잘λͺ»λœ “parameter” κ°’(UpstreamConfFormatError), μ•Œ 수 μ—†λŠ” λ§€κ°œλ³€μˆ˜ “name“(UpstreamConfFormatError), μ€‘μ²©λœ 개체 λ˜λŠ” λͺ©λ‘(UpstreamConfFormatError), ꡬ문 뢄석 쀑 “error(UpstreamBadAddress), 잘λͺ»λœ “server” 인수(UpstreamBadAddress), μ„œλ²„ “host”에 포트 μ—†μŒ(UpstreamBadAddress), 잘λͺ»λœ μ„œλ²„ ID(UpstreamBadServerId), 잘λͺ»λœ “weight” (UpstreamBadWeight), 잘λͺ»λœ “max_conns”(UpstreamBadMaxConns), 잘λͺ»λœ “max_fails”(UpstreamBadMaxFails), 잘λͺ»λœ “fail_timeout”(UpstreamBadFailTimeout), 잘λͺ»λœ “slow_start”(UpstreamBadSlowStart), μš”μ²­ λ³Έλ¬Έ 읽기 μ‹€νŒ¨(BodyReadError), “service”κ°€ λΉ„μ–΄ 있음(UpstreamBadService), μ„œλ²„ “ID” μ£Όμ†Œκ°€ λ³€κ²½ λΆˆκ°€λŠ₯함(UpstreamServerImmutable), μ„œλ²„ “ID” κ°€μ€‘μΉ˜κ°€ λ³€κ²½ λΆˆκ°€λŠ₯함(UpstreamServerWeightImmutable), μ—…μŠ€νŠΈλ¦Ό “name” λ©”λͺ¨λ¦¬ μ†Œμ§„(UpstreamOutOfMemory), 였λ₯˜ λ°˜ν™˜
  • 404 – IDκ°€ “id“인 μ„œλ²„κ°€ μ—†μŒ(UpstreamServerNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), μ—…μŠ€νŠΈλ¦Όμ„ 찾을 수 μ—†μŒ(UpstreamNotFound), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜
  • 415 – JSON 였λ₯˜(JsonError), 였λ₯˜ λ°˜ν™˜
  • DELETE – 슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„ κ·Έλ£Ήμ—μ„œ μ„œλ²„ 제거

슀트림 μ„œλ²„ κ·Έλ£Ήμ—μ„œ μ„œλ²„λ₯Ό μ œκ±°ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, 슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ μ–΄λ ˆμ΄ λ°˜ν™˜
  • 400 – μ—…μŠ€νŠΈλ¦Όμ΄ μ •μ μž„(UpstreamStatic), 잘λͺ»λœ μ„œλ²„ ID(UpstreamBadServerId), μ„œλ²„ “id” 제거 λΆˆκ°€(UpstreamServerImmutable), 였λ₯˜ λ°˜ν™˜
  • 404 – IDκ°€ “id“인 μ„œλ²„κ°€ μ—†μŒ(UpstreamServerNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), μ—…μŠ€νŠΈλ¦Όμ„ 찾을 수 μ—†μŒ(UpstreamNotFound), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜ 

/stream/keyvals/

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – λͺ¨λ“  슀트림 keyval μ˜μ—­μ—μ„œ ν‚€-κ°’ 쌍 λ°˜ν™˜

각 슀트림 keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ— λŒ€ν•œ ν‚€-κ°’ μŒμ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

“fields” 값이 λΉ„μ–΄ 있으면 슀트림 keyval μ˜μ—­ μ΄λ¦„λ§Œ 좜λ ₯λ©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

/stream/keyvals/{streamKeyvalZoneName}

λͺ¨λ“  λ©”μ„œλ“œμ— κ³΅ν†΅λœ λ§€κ°œλ³€μˆ˜:

streamKeyvalZoneName(string, ν•„μˆ˜)

슀트림 keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ˜ 이름.

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – 슀트림 keyval μ˜μ—­μ—μ„œ ν‚€-κ°’ 쌍 λ°˜ν™˜

νŠΉμ • 슀트림 keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ— μ €μž₯된 ν‚€-κ°’ μŒμ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

key(string, μ˜΅μ…˜)

슀트림 keyval μ˜μ—­μ—μ„œ νŠΉμ • ν‚€-κ°’ μŒμ„ κ°€μ Έμ˜΅λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, 슀트림 Keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­ λ°˜ν™˜
  • 404 – Keyval을 찾을 수 μ—†μŒ(KeyvalNotFound), keyval ν‚€λ₯Ό 찾을 수 μ—†μŒ(KeyvalKeyNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • POST – 슀트림 keyval μ˜μ—­μ— ν‚€-κ°’ 쌍 μΆ”κ°€

슀트림 keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ— μƒˆλ‘œμš΄ ν‚€-κ°’ μŒμ„ μΆ”κ°€ν•©λ‹ˆλ‹€. 슀트림 keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ΄ λΉ„μ–΄ μžˆλŠ” 경우 μ—¬λŸ¬ ν‚€-κ°’ μŒμ„ μž…λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

Key-value(Stream Keyval Shared Memory Zone, ν•„μˆ˜)

ν‚€-κ°’ 쌍이 JSON ν˜•μ‹μœΌλ‘œ μ§€μ •λ©λ‹ˆλ‹€. 슀트림 keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ΄ λΉ„μ–΄ μžˆλŠ” 경우 μ—¬λŸ¬ ν‚€-κ°’ μŒμ„ μž…λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ°€λ¦¬μ΄ˆ λ‹¨μœ„μ˜ 만료 μ‹œκ°„μ€ keyval_zone λͺ…λ Ήμ˜ timeout λ§€κ°œλ³€μˆ˜λ₯Ό μž¬μ •μ˜ν•˜λŠ” expire λ§€κ°œλ³€μˆ˜λ‘œ ν‚€-κ°’ μŒμ— λŒ€ν•΄ μ§€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 201 – 생성됨
  • 400 – 잘λͺ»λœ JSON(KeyvalFormatError), 잘λͺ»λœ ν‚€ ν˜•μ‹(KeyvalFormatError), ν‚€ ν•„μˆ˜(KeyvalFormatError), keyval μ‹œκ°„μ œν•œμ΄ ν™œμ„±ν™”λ˜μ§€ μ•ŠμŒ(KeyvalFormatError), ν•œ 개 ν‚€λ§Œ μΆ”κ°€ν•  수 있음(KeyvalFormatError), μš”μ²­ λ³Έλ¬Έ 읽기 μ‹€νŒ¨(BodyReadError), 였λ₯˜ λ°˜ν™˜
  • 404 – Keyval을 찾을 수 μ—†μŒ(KeyvalNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜
  • 409 – ν•­λͺ©μ΄ 있음(EntryExists), ν‚€κ°€ 이미 있음(KeyvalKeyExists), 였λ₯˜ λ°˜ν™˜
  • 413 – μš”μ²­ μ—”ν‹°ν‹°κ°€ λ„ˆλ¬΄ 큼, 였λ₯˜ λ°˜ν™˜
  • 415 – JSON 였λ₯˜(JsonError), 였λ₯˜ λ°˜ν™˜
  • PATCH – ν‚€-값을 μˆ˜μ •ν•˜κ±°λ‚˜ ν‚€ μ‚­μ œ

ν‚€-κ°’ μŒμ—μ„œ μ„ νƒλœ ν‚€μ˜ 값을 λ³€κ²½ν•˜κ³  ν‚€ 값을 null둜 μ„€μ •ν•˜μ—¬ ν‚€λ₯Ό μ‚­μ œν•˜κ³  ν‚€-κ°’ 쌍의 만료 μ‹œκ°„μ„ λ³€κ²½ν•©λ‹ˆλ‹€. ν΄λŸ¬μŠ€ν„°μ˜ keyval μ˜μ—­μ˜ 동기화가 ν™œμ„±ν™”λ˜λ©΄ λŒ€μƒ ν΄λŸ¬μŠ€ν„° λ…Έλ“œμ—μ„œ ν‚€λ§Œ μ‚­μ œν•©λ‹ˆλ‹€. 만료 μ‹œκ°„μ€ keyval_zone λͺ…λ Ήμ˜ timeout λ§€κ°œλ³€μˆ˜λ₯Ό μž¬μ •μ˜ν•˜λŠ” expire λ§€κ°œλ³€μˆ˜λ‘œ λ°€λ¦¬μ΄ˆ λ‹¨μœ„λ‘œ μ§€μ •λ©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

streamKeyvalZoneKeyValue(Stream Keyval Shared Memory Zone, ν•„μˆ˜)

ν‚€μ˜ μƒˆλ‘œμš΄ 값은 JSON ν˜•μ‹μœΌλ‘œ μ§€μ •λ©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 400 – 잘λͺ»λœ JSON(KeyvalFormatError), ν‚€ ν•„μˆ˜(KeyvalFormatError), keyval μ‹œκ°„μ œν•œμ΄ ν™œμ„±ν™”λ˜μ§€ μ•ŠμŒ(KeyvalFormatError), 1개 κ°’λ§Œ μ—…λ°μ΄νŠΈν•  수 있음(KeyvalFormatError), μš”μ²­ λ³Έλ¬Έ 읽기 μ‹€νŒ¨(BodyReadError), 였λ₯˜ λ°˜ν™˜
  • 404 – Keyval을 찾을 수 μ—†μŒ(KeyvalNotFound), keyval ν‚€λ₯Ό 찾을 수 μ—†μŒ(KeyvalKeyNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜
  • 413 – μš”μ²­ μ—”ν‹°ν‹°κ°€ λ„ˆλ¬΄ 큼, 였λ₯˜ λ°˜ν™˜
  • 415 – JSON 였λ₯˜(JsonError), 였λ₯˜ λ°˜ν™˜
  • DELETE – 슀트림 keyval μ˜μ—­ λΉ„μš°κΈ°

슀트림 keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ—μ„œ λͺ¨λ“  ν‚€-κ°’ μŒμ„ μ‚­μ œν•©λ‹ˆλ‹€. ν΄λŸ¬μŠ€ν„°μ˜ keyval μ˜μ—­μ˜ 동기화가 ν™œμ„±ν™”λ˜λ©΄ λŒ€μƒ ν΄λŸ¬μŠ€ν„° λ…Έλ“œμ—μ„œ ν‚€ μ˜μ—­λ§Œ λΉ„μ›λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 404 – Keyval을 찾을 수 μ—†μŒ(KeyvalNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜

/stream/zone_sync/

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – λ…Έλ“œμ˜ 동기화 μƒνƒœ λ°˜ν™˜

ν΄λŸ¬μŠ€ν„° λ…Έλ“œμ˜ 동기화 μƒνƒœλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, Stream Zone Sync Node λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜

/resolvers/

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – λͺ¨λ“  ν™•μΈμž μ˜μ—­μ˜ μƒνƒœ λ°˜ν™˜

각 ν™•μΈμž μ˜μ—­μ— λŒ€ν•œ μƒνƒœ 정보λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 ν™•μΈμž ν†΅κ³„μ˜ ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, λͺ¨λ“  ν™•μΈμžμ— λŒ€ν•œ “ν™•μΈμž μ˜μ—­” 개체의 μ»¬λ ‰μ…˜ λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜

/resolvers/{resolverZoneName}

λͺ¨λ“  λ©”μ„œλ“œμ— κ³΅ν†΅λœ λ§€κ°œλ³€μˆ˜:

resolverZoneName(string, ν•„μˆ˜)

ν™•μΈμž μ˜μ—­μ˜ 이름.

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – ν™•μΈμž μ˜μ—­μ˜ 톡계 λ°˜ν™˜

νŠΉμ • ν™•μΈμž μ˜μ—­μ— μ €μž₯된 톡계λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 ν™•μΈμž μ˜μ—­μ˜ ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€(μš”μ²­, 응닡 λ˜λŠ” λ‘˜ λ‹€).

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, ν™•μΈμž μ˜μ—­ λ°˜ν™˜
  • 404 – ν™•μΈμž μ˜μ—­μ„ 찾을 수 μ—†μŒ(ResolverZoneNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • DELETE – ν™•μΈμž μ˜μ—­μ— λŒ€ν•œ 톡계λ₯Ό μž¬μ„€μ •ν•©λ‹ˆλ‹€.

νŠΉμ • ν™•μΈμž μ˜μ—­μ˜ 톡계λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 404 – ν™•μΈμž μ˜μ—­μ„ 찾을 수 μ—†μŒ(ResolverZoneNotFound), μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜

/ssl

μ§€μ›λ˜λŠ” λ©”μ„œλ“œ:

  • GET – SSL 톡계 λ°˜ν™˜

SSL 톡계λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μš”μ²­ λ§€κ°œλ³€μˆ˜:

fields(string, μ˜΅μ…˜)

좜λ ₯될 SSL ν†΅κ³„μ˜ ν•„λ“œλ₯Ό μ œν•œν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 200 – 성곡, SSL λ°˜ν™˜
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • DELETE – SSL 톡계 μž¬μ„€μ •

SSL ν•Έλ“œμ…°μ΄ν¬ μΉ΄μš΄ν„° 및 μ„Έμ…˜ μž¬μ‚¬μš©μ„ μž¬μ„€μ •ν•©λ‹ˆλ‹€.

κ°€λŠ₯ν•œ 응닡:

  • 204 – 성곡
  • 404 – μ•Œ 수 μ—†λŠ” 버전(UnknownVersion), Error λ°˜ν™˜
  • 405 – λ©”μ„œλ“œ λΉ„ν™œμ„±ν™”λ¨(MethodDisabled), 였λ₯˜ λ°˜ν™˜

응닡 개체

  • nginx:

nginx에 λŒ€ν•œ 일반 정보:

version(string)

nginx의 버전.

build(string)

nginx λΉŒλ“œμ˜ 이름.

address(string)

μƒνƒœ μš”μ²­μ„ μˆ˜λ½ν•œ μ„œλ²„μ˜ μ£Όμ†Œ.

generation(integer)

전체 ꡬ성 μž¬λ‘œλ“œ 수

load_timestamp(string)

밀리 초 ν•΄μƒλ„μ˜ ISO 8601 ν˜•μ‹μœΌλ‘œ λ§ˆμ§€λ§‰ ꡬ성 μž¬λ‘œλ“œ μ‹œκ°„.

timestamp(string)

밀리 초 ν•΄μƒλ„μ˜ ISO 8601 ν˜•μ‹μœΌλ‘œ ν˜„μž¬ μ‹œκ°„.

pid(integer)

μƒνƒœ μš”μ²­μ„ μ²˜λ¦¬ν•œ μž‘μ—…μž ν”„λ‘œμ„ΈμŠ€μ˜ ID.

ppid(integer)

μž‘μ—…μž ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‹œμž‘ν•œ λ§ˆμŠ€ν„° ν”„λ‘œμ„ΈμŠ€μ˜ ID.

예:

{
  "nginx" : {
    "version" : "1.17.3",
    "build" : "nginx-plus-r19",
    "address" : "206.251.255.64",
    "generation" : 6,
    "load_timestamp" : "2019-10-01T11:15:44.467Z",
    "timestamp" : "2019-10-01T09:26:07.305Z",
    "pid" : 32212,
    "ppid" : 32210
  }
}
  • ν”„λ‘œμ„ΈμŠ€:

respawned (integer)

λΉ„μ •μƒμ μœΌλ‘œ μ’…λ£Œλ˜κ±°λ‚˜ μž¬μƒμ„±λœ ν•˜μœ„ ν”„λ‘œμ„ΈμŠ€μ˜ 전체 수.

예:

{
  "respawned" : 0
}
  • μ—°κ²°:

수락된 μ—°κ²°, μ‚­μ œλœ μ—°κ²°, ν™œμ„± μ—°κ²° 및 유휴 μ—°κ²° 수.

accepted(integer)

전체 수락된 ν΄λΌμ΄μ–ΈνŠΈ μ—°κ²° 수.

dropped(integer)

전체 μ‚­μ œλœ ν΄λΌμ΄μ–ΈνŠΈ μ—°κ²° 수.

active(integer)

ν˜„μž¬ ν™œμ„± ν΄λΌμ΄μ–ΈνŠΈ μ—°κ²° 수.

idle(integer)

ν˜„μž¬ 유휴 ν΄λΌμ΄μ–ΈνŠΈ μ—°κ²° 수.

예:

{
  "accepted" : 4968119,
  "dropped" : 0,
  "active" : 5,
  "idle" : 117
}
  • SSL:

handshakes(integer)

전체 μ„±κ³΅ν•œ SSL ν•Έλ“œμ…°μ΄ν¬μ˜ 수.

handshakes_failed(integer)

전체 μ‹€νŒ¨ν•œ SSL ν•Έλ“œμ…°μ΄ν¬μ˜ 수.

session_reuses(integer)

SSL ν•Έλ“œμ…°μ΄ν¬ λ™μ•ˆ 전체 μ„Έμ…˜ μž¬μ‚¬μš© 수.

예:

{
  "handshakes" : 79572,
  "handshakes_failed" : 21025,
  "session_reuses" : 15762
}
  • 슬래브 ν• λ‹Ήμžλ₯Ό ν¬ν•¨ν•˜λŠ” 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­:

pages

μ‚¬μš© κ°€λŠ₯ν•œ λ©”λͺ¨λ¦¬ νŽ˜μ΄μ§€μ™€ μ‚¬μš©λœ λ©”λͺ¨λ¦¬ νŽ˜μ΄μ§€μ˜ 수

used(integer)

ν˜„μž¬ μ‚¬μš©λœ λ©”λͺ¨λ¦¬ νŽ˜μ΄μ§€ 수

free(integer)

ν˜„μž¬ μ‚¬μš© κ°€λŠ₯ν•œ λ©”λͺ¨λ¦¬ νŽ˜μ΄μ§€ 수

slots

λ©”λͺ¨λ¦¬ 슬둯의 μƒνƒœ 데이터(8, 16, 32, 64, 128 λ“±)

Memory Slot” 개체의 μ»¬λ ‰μ…˜

예:

{
  "pages" : {
    "used" : 1143,
    "free" : 2928
  },
  "slots" : {
    "8" : {
      "used" : 0,
      "free" : 0,
      "reqs" : 0,
      "fails" : 0
    },
    "16" : {
      "used" : 0,
      "free" : 0,
      "reqs" : 0,
      "fails" : 0
    },
    "32" : {
      "used" : 0,
      "free" : 0,
      "reqs" : 0,
      "fails" : 0
    },
    "64" : {
      "used" : 1,
      "free" : 63,
      "reqs" : 1,
      "fails" : 0
    },
    "128" : {
      "used" : 0,
      "free" : 0,
      "reqs" : 0,
      "fails" : 0
    },
    "256" : {
      "used" : 18078,
      "free" : 178,
      "reqs" : 1635736,
      "fails" : 0
    }
  }
}
  • λ©”λͺ¨λ¦¬ 슬둯:

used(integer)

ν˜„μž¬ μ‚¬μš©λœ λ©”λͺ¨λ¦¬ 슬둯 수

free(integer)

ν˜„μž¬ μ‚¬μš© κ°€λŠ₯ν•œ λ©”λͺ¨λ¦¬ 슬둯 수

reqs(integer)

μ§€μ •λœ 크기의 λ©”λͺ¨λ¦¬λ₯Ό ν• λ‹Ήν•˜λ €λŠ” 전체 μ‹œλ„ 수.

fails(integer)

μ§€μ •λœ 크기의 λ©”λͺ¨λ¦¬λ₯Ό ν• λ‹Ήν•˜λ €λŠ” 전체 μ‹€νŒ¨ν•œ μ‹œλ„ 수.

  • HTTP μš”μ²­:

total (integer)

전체 ν΄λΌμ΄μ–ΈνŠΈ μš”μ²­ 수.

current (integer)

ν˜„μž¬ ν΄λΌμ΄μ–ΈνŠΈ μš”μ²­ 수.

예:

{
  "total" : 10624511,
  "current" : 4
}

HTTP μ„œλ²„ μ˜μ—­:

processing (integer)

ν˜„μž¬ 처리되고 μžˆλŠ” ν΄λΌμ΄μ–ΈνŠΈ μš”μ²­ 수.

requests (integer)

ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μˆ˜μ‹ λœ 전체 ν΄λΌμ΄μ–ΈνŠΈ μš”μ²­ 수.

responses

ν΄λΌμ΄μ–ΈνŠΈμ— μ „μ†‘ν•œ 전체 응닡 수, μƒνƒœ μ½”λ“œ “1xx”, “2xx”, “3xx”, “4xx”, “5xx”λ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수 및 각 μƒνƒœ μ½”λ“œλ‹Ή 응닡 수.

1xx (integer)

“1xx” μƒνƒœ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수.

2xx (integer)

“2xx” μƒνƒœ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수.

3xx (integer)

“3xx” μƒνƒœ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수.

4xx (integer)

“4xx” μƒνƒœ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수.

5xx (integer)

“5xx” μƒνƒœ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수.

codes

각 μƒνƒœ μ½”λ“œλ‹Ή 응닡 수.

codeNumber (integer)

이 νŠΉμ • μƒνƒœ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수.

total (integer)

ν΄λΌμ΄μ–ΈνŠΈμ— μ „μ†‘λœ 전체 응닡 수.

discarded (integer)

응닡을 μ „μ†‘ν•˜μ§€ μ•Šκ³  μ™„λ£Œλœ 전체 μš”μ²­ 수.

received (integer)

ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μˆ˜μ‹ λœ 전체 λ°”μ΄νŠΈ 수.

sent (integer)

ν΄λΌμ΄μ–ΈνŠΈμ— μ „μ†‘λœ 전체 λ°”μ΄νŠΈ 수.

예:

{
  "processing" : 1,
  "requests" : 706690,
  "responses" : {
    "1xx" : 0,
    "2xx" : 699482,
    "3xx" : 4522,
    "4xx" : 907,
    "5xx" : 266,
    "codes" : {
      "200" : 699482,
      "301" : 4522,
      "404" : 907,
      "503" : 266
    },
    "total" : 705177
  },
  "discarded" : 1513,
  "received" : 172711587,
  "sent" : 19415530115
}
  • HTTP μœ„μΉ˜ μ˜μ—­:

requests (integer)

ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μˆ˜μ‹ λœ 전체 ν΄λΌμ΄μ–ΈνŠΈ μš”μ²­ 수.

responses

ν΄λΌμ΄μ–ΈνŠΈμ— μ „μ†‘ν•œ 전체 응닡 수, μƒνƒœ μ½”λ“œ “1xx”, “2xx”, “3xx”, “4xx”, “5xx”λ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수 및 각 μƒνƒœ μ½”λ“œλ‹Ή 응닡 수.

1xx (integer)

“1xx” μƒνƒœ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수.

2xx (integer)

“2xx” μƒνƒœ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수.

3xx (integer)

“3xx” μƒνƒœ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수.

4xx (integer)

“4xx” μƒνƒœ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수.

5xx (integer)

“5xx” μƒνƒœ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수.

codes

각 μƒνƒœ μ½”λ“œλ‹Ή 응닡 수.

codeNumber (integer)

이 νŠΉμ • μƒνƒœ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수.

total (integer)

ν΄λΌμ΄μ–ΈνŠΈμ— μ „μ†‘λœ 전체 응닡 수.

discarded (integer)

응닡을 μ „μ†‘ν•˜μ§€ μ•Šκ³  μ™„λ£Œλœ 전체 μš”μ²­ 수.

received (integer)

ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μˆ˜μ‹ λœ 전체 λ°”μ΄νŠΈ 수.

sent (integer)

ν΄λΌμ΄μ–ΈνŠΈμ— μ „μ†‘λœ 전체 λ°”μ΄νŠΈ 수.

예:

{
  "requests" : 706690,
  "responses" : {
    "1xx" : 0,
    "2xx" : 699482,
    "3xx" : 4522,
    "4xx" : 907,
    "5xx" : 266,
    "codes" : {
      "200" : 112674,
      "301" : 4522,
      "404" : 2504,
      "503" : 266
    },
    "total" : 705177
  },
  "discarded" : 1513,
  "received" : 172711587,
  "sent" : 19415530115
}
  • HTTP μΊμ‹œ:

size (integer)

μΊμ‹œμ˜ ν˜„μž¬ 크기.

max_size (integer)

ꡬ성에 μ§€μ •λœ μΊμ‹œμ˜ μ΅œλŒ€ 크기에 λŒ€ν•œ μ œν•œ.

cold (boolean)

“μΊμ‹œ λ‘œλ”” ν”„λ‘œμ„ΈμŠ€κ°€ 아직 λ””μŠ€ν¬μ—μ„œ μΊμ‹œλ‘œ 데이터λ₯Ό λ‘œλ“œ 쀑인지λ₯Ό λ‚˜νƒ€λ‚΄λŠ” λΆ€μšΈ κ°’.

hit

responses (integer)

μΊμ‹œμ—μ„œ 읽은 전체 μ˜¬λ°”λ₯Έ 응닡 수.

bytes (integer)

μΊμ‹œμ—μ„œ 읽은 전체 λ°”μ΄νŠΈ 수.

stale

responses (integer)

μΊμ‹œμ—μ„œ 읽은 전체 만료된 응닡 수(proxy_cache_use_stale 및 기타 “*_cache_use_stale” λͺ…λ Ή μ°Έμ‘°).

bytes (integer)

μΊμ‹œμ—μ„œ 읽은 전체 λ°”μ΄νŠΈ 수.

updating

responses (integer)

응닡이 μ—…λ°μ΄νŠΈλ˜κ³  μžˆλŠ” λ™μ•ˆ μΊμ‹œμ—μ„œ 읽은 전체 만료된 응닡 수(proxy_cache_use_stale 및 기타 “*_cache_use_stale” λͺ…λ Ή μ°Έμ‘°).

bytes (integer)

μΊμ‹œμ—μ„œ 읽은 전체 λ°”μ΄νŠΈ 수.

revalidated

responses (integer)

μΊμ‹œμ—μ„œ 읽은 만료된 응닡 및 μœ νš¨μ„±μ΄ λ‹€μ‹œ ν™•μΈλœ μ‘λ‹΅μ˜ 전체 수(proxy_cache_revalidate 및 기타 “*_cache_use_stale” λͺ…λ Ή μ°Έμ‘°).

bytes (integer)

μΊμ‹œμ—μ„œ 읽은 전체 λ°”μ΄νŠΈ 수.

miss

responses (integer)

μΊμ‹œμ—μ„œ 찾을 수 μ—†λŠ” 전체 응닡 수.

bytes (integer)

ν”„λ‘μ‹œ μ„€μ •λœ μ„œλ²„μ—μ„œ 읽은 전체 λ°”μ΄νŠΈ 수.

responses_written (integer)

μΊμ‹œμ— 기둝된 전체 응닡 수.

bytes_written (integer)

μΊμ‹œμ— 기둝된 전체 λ°”μ΄νŠΈ 수.

expired

responses (integer)

μΊμ‹œμ—μ„œ κ°€μ Έμ˜€μ§€ μ•Šμ€ 전체 만료된 응닡 수.

bytes (integer)

ν”„λ‘μ‹œ μ„€μ •λœ μ„œλ²„μ—μ„œ 읽은 전체 λ°”μ΄νŠΈ 수.

responses_written (integer)

μΊμ‹œμ— 기둝된 전체 응닡 수.

bytes_written (integer)

μΊμ‹œμ— 기둝된 전체 λ°”μ΄νŠΈ 수.

bypass

responses (integer)

proxy_cache_bypass 및 기타 “*_cache_bypass” λͺ…λ ΉμœΌλ‘œ 인해 μΊμ‹œμ—μ„œ μ‘°νšŒλ˜μ§€ μ•Šμ€ 전체 응닡 수.

bytes (integer)

ν”„λ‘μ‹œ μ„€μ •λœ μ„œλ²„μ—μ„œ 읽은 전체 λ°”μ΄νŠΈ 수.

responses_written (integer)

μΊμ‹œμ— 기둝된 전체 응닡 수.

bytes_written (integer)

μΊμ‹œμ— 기둝된 전체 λ°”μ΄νŠΈ 수.

예:

{
  "size" : 530915328,
  "max_size" : 536870912,
  "cold" : false,
  "hit" : {
    "responses" : 254032,
    "bytes" : 6685627875
  },
  "stale" : {
    "responses" : 0,
    "bytes" : 0
  },
  "updating" : {
    "responses" : 0,
    "bytes" : 0
  },
  "revalidated" : {
    "responses" : 0,
    "bytes" : 0
  },
  "miss" : {
    "responses" : 1619201,
    "bytes" : 53841943822
  },
  "expired" : {
    "responses" : 45859,
    "bytes" : 1656847080,
    "responses_written" : 44992,
    "bytes_written" : 1641825173
  },
  "bypass" : {
    "responses" : 200187,
    "bytes" : 5510647548,
    "responses_written" : 200173,
    "bytes_written" : 44992
  }
}
  • HTTP μ—°κ²° μ œν•œ:

passed (integer)

μ œν•œλ˜μ§€λ„ μ•Šκ³  μ œν•œλœ κ²ƒμœΌλ‘œ κ°„μ£Όλ˜μ§€λ„ μ•Šμ€ 전체 μ—°κ²° 수.

rejected (integer)

κ±°λΆ€λœ 전체 μ—°κ²° 수.

rejected_dry_run (integer)

dry run λͺ¨λ“œμ—μ„œ κ±°λΆ€λœ κ²ƒμœΌλ‘œ κ°„μ£Όλœ 전체 μ—°κ²° 수.

예:

{
  "passed" : 15,
  "rejected" : 0,
  "rejected_dry_run" : 2
}
  • HTTP μš”μ²­ 속도 μ œν•œ:

passed (integer)

μ œν•œλ˜μ§€λ„ μ•Šκ³  μ œν•œλœ κ²ƒμœΌλ‘œ κ°„μ£Όλ˜μ§€λ„ μ•Šμ€ 전체 μš”μ²­ 수.

delayed (integer)

μ§€μ—°λœ 전체 μš”μ²­ 수.

rejected (integer)

κ±°λΆ€λœ 전체 μš”μ²­ 수.

delayed_dry_run (integer)

dry run λͺ¨λ“œμ—μ„œ μ§€μ—°λœ κ²ƒμœΌλ‘œ κ°„μ£Όλœ 전체 μš”μ²­ 수.

rejected_dry_run (integer)

dry run λͺ¨λ“œμ—μ„œ κ±°λΆ€λœ κ²ƒμœΌλ‘œ κ°„μ£Όλœ 전체 μš”μ²­ 수.

예:

{
  "passed" : 15,
  "delayed" : 4,
  "rejected" : 0,
  "delayed_dry_run" : 1,
  "rejected_dry_run" : 2
}
  • HTTP μ—…μŠ€νŠΈλ¦Ό:

peers

λ‹€μŒμ˜ μ–΄λ ˆμ΄:

id (integer)

μ„œλ²„μ˜ ID.

server (string)

μ„œλ²„μ˜ μ£Όμ†Œ.

service (string)

μ„œλ²„ λͺ…λ Ήμ˜ service λ§€κ°œλ³€μˆ˜ κ°’.

name (string)

μ„œλ²„ λͺ…령에 μ§€μ •λœ μ„œλ²„μ˜ 이름.

backup (boolean)

μ„œλ²„κ°€ λ°±μ—… μ„œλ²„μΈμ§€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” λΆ€μšΈ κ°’.

weight (integer)

μ„œλ²„μ˜ κ°€μ€‘μΉ˜.

state (string)

“up”, “draining”, “down”, “unavail”, “checking” 및 “unhealthy” 쀑 ν•˜λ‚˜μΌ 수 μžˆλŠ” ν˜„μž¬ μƒνƒœ.

active(integer)

ν˜„μž¬ ν™œμ„± μ—°κ²° 수.

max_conns (integer)

μ„œλ²„μ— λŒ€ν•œ max_conns μ œν•œ.

requests (integer)

이 μ„œλ²„μ— μ „λ‹¬λœ 전체 ν΄λΌμ΄μ–ΈνŠΈ μš”μ²­ 수.

responses

1xx (integer)

“1xx” μƒνƒœ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수.

2xx (integer)

“2xx” μƒνƒœ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수.

3xx (integer)

“3xx” μƒνƒœ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수.

4xx (integer)

“4xx” μƒνƒœ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수.

5xx (integer)

“5xx” μƒνƒœ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수.

codes

각 μƒνƒœ μ½”λ“œλ‹Ή 응닡 수.

codeNumber (integer)

이 νŠΉμ • μƒνƒœ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 응닡 수.

total (integer)

이 μ„œλ²„μ— 얻은 전체 응닡 μš”μ²­ 수.

sent (integer)

이 μ„œλ²„μ— μ „μ†‘λœ 전체 λ°”μ΄νŠΈ 수.

received (integer)

이 μ„œλ²„μ—μ„œ μˆ˜μ‹ λœ 전체 λ°”μ΄νŠΈ 수.

fails(integer)

μ„œλ²„μ™€ ν†΅μ‹ ν•˜λŠ” 데 μ‹€νŒ¨ν•œ 전체 μ‹œλ„ 수.

unavail (integer)

max_fails μž„κ³„κ°’μ— λ„λ‹¬ν•œ μ‹€νŒ¨ν•œ μ‹œλ„ 수둜 인해 μ„œλ²„κ°€ ν΄λΌμ΄μ–ΈνŠΈ μš”μ²­μ— λŒ€ν•΄ μ‚¬μš© λΆˆκ°€λŠ₯ν•˜κ²Œ 된 횟수(“unavail” μƒνƒœ).

health_checks

checks (integer)

μˆ˜ν–‰λœ 전체 μƒνƒœ 검사 수.

fails(integer)

μ‹€νŒ¨ν•œ μƒνƒœ 검사 수.

unhealthy (integer)

μ„œλ²„κ°€ 비정상이 된 횟수(μƒνƒœ “unhealthy”).

last_passed (boolean)

μƒνƒœ 검사 μš”μ²­μ΄ μ„±κ³΅ν–ˆκ³  ν…ŒμŠ€νŠΈλ₯Ό ν†΅κ³Όν–ˆλŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” λΆ€μšΈ.

downtime (integer)

μ„œλ²„κ°€ “unavail”, “checking” 및 “unhealthy” μƒνƒœμ˜€λ˜ 전체 μ‹œκ°„.

downstart (string)

μ„œλ²„κ°€ λ°€λ¦¬μ΄ˆ ν•΄μƒλ„μ˜ ISO 8601 ν˜•μ‹μœΌλ‘œ “unavail”, “checking” λ˜λŠ” “unhealthy”κ°€ 된 μ‹œκ°„.

selected (string)

μ„œλ²„κ°€ λ°€λ¦¬μ΄ˆ ν•΄μƒλ„μ˜ ISO 8601 ν˜•μ‹μœΌλ‘œ μš”μ²­μ„ μ²˜λ¦¬ν•˜λ„λ‘ λ§ˆμ§€λ§‰μœΌλ‘œ μ„ νƒλœ μ‹œκ°„.

header_time (integer)

μ„œλ²„μ—μ„œ 응닡 헀더λ₯Ό κ°€μ Έμ˜€λŠ” 평균 μ‹œκ°„.

response_time (integer)

μ„œλ²„μ—μ„œ 전체 응닡을 κ°€μ Έμ˜€λŠ” 평균 μ‹œκ°„.

keepalive (integer)

ν˜„μž¬ 유휴 keepalive μ—°κ²° 수.

zombies (integer)

κ·Έλ£Ήμ—μ„œ μ œκ±°λ˜μ—ˆμ§€λ§Œ 계속 ν™œμ„± ν΄λΌμ΄μ–ΈνŠΈ μš”μ²­μ„ 처리 쀑인 ν˜„μž¬ μ„œλ²„ 수.

zone (string)

그룹의 ꡬ성과 λŸ°νƒ€μž„ μƒνƒœλ₯Ό μœ μ§€ν•˜λŠ” 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ˜ 이름.

λŒ€κΈ°μ—΄

μš”μ²­ λŒ€κΈ°μ—΄μ˜ 경우 λ‹€μŒ 데이터가 μ œκ³΅λ©λ‹ˆλ‹€.

size (integer)

λŒ€κΈ°μ—΄μ˜ ν˜„μž¬ μš”μ²­ 수.

max_size (integer)

λ™μ‹œμ— λŒ€κΈ°μ—΄μ— μžˆμ„ 수 μžˆλŠ” μ΅œλŒ€ μš”μ²­ 수.

overflows (integer)

λŒ€κΈ°μ—΄ μ˜€λ²„ν”Œλ‘œλ‘œ 인해 κ±°λΆ€λœ 전체 μš”μ²­ 수.

예:

{
  "upstream_backend" : {
    "peers" : [
      {
        "id" : 0,
        "server" : "10.0.0.1:8088",
        "name" : "10.0.0.1:8088",
        "backup" : false,
        "weight" : 5,
        "state" : "up",
        "active" : 0,
        "max_conns" : 20,
        "requests" : 667231,
        "header_time" : 20,
        "response_time" : 36,
        "responses" : {
          "1xx" : 0,
          "2xx" : 666310,
          "3xx" : 0,
          "4xx" : 915,
          "5xx" : 6,
          "codes" : {
            "200" : 666310,
            "404" : 915,
            "503" : 6
          },
          "total" : 667231
        },
        "sent" : 251946292,
        "received" : 19222475454,
        "fails" : 0,
        "unavail" : 0,
        "health_checks" : {
          "checks" : 26214,
          "fails" : 0,
          "unhealthy" : 0,
          "last_passed" : true
        },
        "downtime" : 0,
        "downstart" : "2019-10-01T11:09:21.602Z",
        "selected" : "2019-10-01T15:01:25.000Z"
      },
      {
        "id" : 1,
        "server" : "10.0.0.1:8089",
        "name" : "10.0.0.1:8089",
        "backup" : true,
        "weight" : 1,
        "state" : "unhealthy",
        "active" : 0,
        "max_conns" : 20,
        "requests" : 0,
        "responses" : {
          "1xx" : 0,
          "2xx" : 0,
          "3xx" : 0,
          "4xx" : 0,
          "5xx" : 0,
          "codes" : {
          },
          "total" : 0
        },
        "sent" : 0,
        "received" : 0,
        "fails" : 0,
        "unavail" : 0,
        "health_checks" : {
          "checks" : 26284,
          "fails" : 26284,
          "unhealthy" : 1,
          "last_passed" : false
        },
        "downtime" : 262925617,
        "downstart" : "2019-10-01T11:09:21.602Z",
        "selected" : "2019-10-01T15:01:25.000Z"
      }
    ],
    "keepalive" : 0,
    "zombies" : 0,
    "zone" : "upstream_backend"
  }
}
  •  HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„:

HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ λ™μ μœΌλ‘œ ꡬ성 κ°€λŠ₯ν•œ λ§€κ°œλ³€μˆ˜:

id (integer)

HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ ID. IDλŠ” μžλ™μœΌλ‘œ ν• λ‹Ήλ˜κ³  λ³€κ²½ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

server (string)

HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ address λ§€κ°œλ³€μˆ˜μ™€ λ™μΌν•©λ‹ˆλ‹€. μ„œλ²„λ₯Ό μΆ”κ°€ν•˜λŠ” 경우 μ„œλ²„λ₯Ό 도메인 μ΄λ¦„μœΌλ‘œ μ§€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이 경우 도메인 이름에 ν•΄λ‹Ήν•˜λŠ” IP μ£Όμ†Œμ˜ λ³€κ²½ 사항이 λͺ¨λ‹ˆν„°λ§λ˜κ³  nginxλ₯Ό μž¬μ‹œμž‘ν•  ν•„μš” 없이 μ—…μŠ€νŠΈλ¦Ό ꡬ성에 μžλ™μœΌλ‘œ μ μš©λ©λ‹ˆλ‹€. 이λ₯Ό μœ„ν•΄μ„œλŠ” “http” λΈ”λ‘μ˜ ν™•μΈμž λͺ…령이 ν•„μš”ν•©λ‹ˆλ‹€. HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ resolve λ§€κ°œλ³€μˆ˜λ„ μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

service (string)

HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ service λ§€κ°œλ³€μˆ˜μ™€ λ™μΌν•©λ‹ˆλ‹€. 이 λ§€κ°œλ³€μˆ˜λŠ” λ³€κ²½ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

weight (integer)

HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ weight λ§€κ°œλ³€μˆ˜μ™€ λ™μΌν•©λ‹ˆλ‹€.

max_conns (integer)

HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ max_conns λ§€κ°œλ³€μˆ˜μ™€ λ™μΌν•©λ‹ˆλ‹€.

max_fails (integer)

HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ max_fails λ§€κ°œλ³€μˆ˜μ™€ λ™μΌν•©λ‹ˆλ‹€.

fail_timeout (string)

HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ fail_timeout λ§€κ°œλ³€μˆ˜μ™€ λ™μΌν•©λ‹ˆλ‹€.

slow_start (string)

HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ slow_start λ§€κ°œλ³€μˆ˜μ™€ λ™μΌν•©λ‹ˆλ‹€.

route (string)

HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ route λ§€κ°œλ³€μˆ˜μ™€ λ™μΌν•©λ‹ˆλ‹€.

backup (boolean)

true인 경우 λ°±μ—… μ„œλ²„λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€. 이 λ§€κ°œλ³€μˆ˜λŠ” λ³€κ²½ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

down (boolean)

HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ down λ§€κ°œλ³€μˆ˜μ™€ λ™μΌν•©λ‹ˆλ‹€.

drain (boolean)

HTTP μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ drain λ§€κ°œλ³€μˆ˜μ™€ λ™μΌν•©λ‹ˆλ‹€.

parent (string)

ν™•μΈλœ μ„œλ²„μ˜ μƒμœ„ μ„œλ²„ ID. IDλŠ” μžλ™μœΌλ‘œ ν• λ‹Ήλ˜κ³  λ³€κ²½ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

host (string)

ν™•μΈλœ μ„œλ²„μ˜ 호슀트 이름. 호슀트 이름은 μžλ™μœΌλ‘œ ν• λ‹Ήλ˜κ³  λ³€κ²½ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

예:

{
  "id" : 1,
  "server" : "10.0.0.1:8089",
  "weight" : 4,
  "max_conns" : 0,
  "max_fails" : 0,
  "fail_timeout" : "10s",
  "slow_start" : "10s",
  "route" : "",
  "backup" : true,
  "down" : true
}
  • HTTP Keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­:

GET λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” 경우 HTTP keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ˜ μ½˜ν…μΈ .

예:

{
  "key1" : "value1",
  "key2" : "value2",
  "key3" : "value3"
}
  • HTTP Keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­:

POST λ˜λŠ” PATCH λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” 경우 HTTP keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ˜ μ½˜ν…μΈ .

예:

{
  "key1" : "value1",
  "key2" : "value2",
  "key3" : {
    "value" : "value3",
    "expire" : 30000
  }
}
  • 슀트림 μ„œλ²„ μ˜μ—­:

processing (integer)

ν˜„μž¬ 처리되고 μžˆλŠ” ν΄λΌμ΄μ–ΈνŠΈ μ—°κ²° 수.

connections (integer)

ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ 수락된 전체 μ—°κ²° 수.

sessions

전체 μ™„λ£Œλœ μ„Έμ…˜ μˆ˜μ™€ μƒνƒœ μ½”λ“œ “2xx”, “4xx” λ˜λŠ” “5xx”둜 μ™„λ£Œλœ μ„Έμ…˜ 수.

2xx (integer)

μƒνƒœ μ½”λ“œ “2xx”둜 μ™„λ£Œλœ 전체 μ„Έμ…˜ 수.

4xx (integer)

μƒνƒœ μ½”λ“œ “4xx”둜 μ™„λ£Œλœ 전체 μ„Έμ…˜ 수.

5xx (integer)

μƒνƒœ μ½”λ“œ “5xx”둜 μ™„λ£Œλœ 전체 μ„Έμ…˜ 수.

total (integer)

전체 μ™„λ£Œλœ ν΄λΌμ΄μ–ΈνŠΈ μ„Έμ…˜ 수.

discarded (integer)

μ„Έμ…˜μ„ μƒμ„±ν•˜μ§€ μ•Šκ³  μ™„λ£Œλœ 전체 μ—°κ²° 수.

received (integer)

ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μˆ˜μ‹ λœ 전체 λ°”μ΄νŠΈ 수.

sent (integer)

ν΄λΌμ΄μ–ΈνŠΈμ— μ „μ†‘λœ 전체 λ°”μ΄νŠΈ 수.

예:

{
  "dns" : {
    "processing" : 1,
    "connections" : 155569,
    "sessions" : {
      "2xx" : 155564,
      "4xx" : 0,
      "5xx" : 0,
      "total" : 155569
    },
    "discarded" : 0,
    "received" : 4200363,
    "sent" : 20489184
  }
}
  • 슀트림 μ—°κ²° μ œν•œ:

passed (integer)

μ œν•œλ˜μ§€λ„ μ•Šκ³  μ œν•œλœ κ²ƒμœΌλ‘œ κ°„μ£Όλ˜μ§€λ„ μ•Šμ€ 전체 μ—°κ²° 수.

rejected (integer)

κ±°λΆ€λœ 전체 μ—°κ²° 수.

rejected_dry_run (integer)

dry run λͺ¨λ“œμ—μ„œ κ±°λΆ€λœ κ²ƒμœΌλ‘œ κ°„μ£Όλœ 전체 μ—°κ²° 수.

예:

{
  "passed" : 15,
  "rejected" : 0,
  "rejected_dry_run" : 2
}
  • 슀트림 μ—…μŠ€νŠΈλ¦Ό:

peers

λ‹€μŒμ˜ μ–΄λ ˆμ΄:

id (integer)

μ„œλ²„μ˜ ID.

server (string)

μ„œλ²„μ˜ μ£Όμ†Œ.

service (string)

μ„œλ²„ λͺ…λ Ήμ˜ service λ§€κ°œλ³€μˆ˜ κ°’.

name (string)

μ„œλ²„ λͺ…령에 μ§€μ •λœ μ„œλ²„μ˜ 이름.

backup (boolean)

μ„œλ²„κ°€ λ°±μ—… μ„œλ²„μΈμ§€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” λΆ€μšΈ κ°’.

weight (integer)

μ„œλ²„μ˜ κ°€μ€‘μΉ˜.

state (string)

“up”, “down”, “unavail”, “checking” λ˜λŠ” “unhealthy” 쀑 ν•˜λ‚˜μΌ 수 μžˆλŠ” ν˜„μž¬ μƒνƒœ.

active(integer)

ν˜„μž¬ μ—°κ²° 수.

max_conns (integer)

μ„œλ²„μ— λŒ€ν•œ max_conns μ œν•œ.

connections (integer)

이 μ„œλ²„μ— μ „λ‹¬λœ 전체 ν΄λΌμ΄μ–ΈνŠΈ μ—°κ²° 수.

connect_time (integer)

μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ— μ—°κ²°ν•˜λŠ” 평균 μ‹œκ°„.

first_byte_time (integer)

첫 번째 데이터 λ°”μ΄νŠΈλ₯Ό μˆ˜μ‹ ν•˜λŠ” 평균 μ‹œκ°„.

response_time (integer)

λ§ˆμ§€λ§‰ 데이터 λ°”μ΄νŠΈλ₯Ό μˆ˜μ‹ ν•˜λŠ” 평균 μ‹œκ°„.

sent (integer)

이 μ„œλ²„μ— μ „μ†‘λœ 전체 λ°”μ΄νŠΈ 수.

received (integer)

이 μ„œλ²„μ—μ„œ μˆ˜μ‹ λœ 전체 λ°”μ΄νŠΈ 수.

fails(integer)

μ„œλ²„μ™€ ν†΅μ‹ ν•˜λŠ” 데 μ‹€νŒ¨ν•œ 전체 μ‹œλ„ 수.

unavail (integer)

max_fails μž„κ³„κ°’μ— λ„λ‹¬ν•œ μ‹€νŒ¨ν•œ μ‹œλ„ 수둜 인해 μ„œλ²„κ°€ ν΄λΌμ΄μ–ΈνŠΈ 연결에 λŒ€ν•΄ μ‚¬μš© λΆˆκ°€λŠ₯ν•˜κ²Œ 된 횟수(“unavail” μƒνƒœ).

health_checks

checks (integer)

μˆ˜ν–‰λœ 전체 μƒνƒœ 검사 수.

fails(integer)

μ‹€νŒ¨ν•œ μƒνƒœ 검사 수.

unhealthy (integer)

μ„œλ²„κ°€ 비정상이 된 횟수(μƒνƒœ “unhealthy”).

last_passed (boolean)

μƒνƒœ 검사 μš”μ²­μ΄ μ„±κ³΅ν–ˆκ³  ν…ŒμŠ€νŠΈλ₯Ό ν†΅κ³Όν–ˆλŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” λΆ€μšΈ.

downtime (integer)

μ„œλ²„κ°€ “unavail”, “checking” 및 “unhealthy” μƒνƒœμ˜€λ˜ 전체 μ‹œκ°„.

downstart (string)

μ„œλ²„κ°€ λ°€λ¦¬μ΄ˆ ν•΄μƒλ„μ˜ ISO 8601 ν˜•μ‹μœΌλ‘œ “unavail”, “checking” λ˜λŠ” “unhealthy”κ°€ 된 μ‹œκ°„.

selected (string)

μ„œλ²„κ°€ λ°€λ¦¬μ΄ˆ ν•΄μƒλ„μ˜ ISO 8601 ν˜•μ‹μœΌλ‘œ 연결을 μ²˜λ¦¬ν•˜λ„λ‘ λ§ˆμ§€λ§‰μœΌλ‘œ μ„ νƒλœ μ‹œκ°„.

zombies (integer)

κ·Έλ£Ήμ—μ„œ μ œκ±°λ˜μ—ˆμ§€λ§Œ 계속 ν™œμ„± ν΄λΌμ΄μ–ΈνŠΈ 연결을 처리 쀑인 ν˜„μž¬ μ„œλ²„ 수.

zone (string)

그룹의 ꡬ성과 λŸ°νƒ€μž„ μƒνƒœλ₯Ό μœ μ§€ν•˜λŠ” 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ˜ 이름.

예:

{
  "dns" : {
    "peers" : [
      {
        "id" : 0,
        "server" : "10.0.0.1:12347",
        "name" : "10.0.0.1:12347",
        "backup" : false,
        "weight" : 5,
        "state" : "up",
        "active" : 0,
        "max_conns" : 50,
        "connections" : 667231,
        "sent" : 251946292,
        "received" : 19222475454,
        "fails" : 0,
        "unavail" : 0,
        "health_checks" : {
          "checks" : 26214,
          "fails" : 0,
          "unhealthy" : 0,
          "last_passed" : true
        },
        "downtime" : 0,
        "downstart" : "2019-10-01T11:09:21.602Z",
        "selected" : "2019-10-01T15:01:25.000Z"
      },
      {
        "id" : 1,
        "server" : "10.0.0.1:12348",
        "name" : "10.0.0.1:12348",
        "backup" : true,
        "weight" : 1,
        "state" : "unhealthy",
        "active" : 0,
        "max_conns" : 50,
        "connections" : 0,
        "sent" : 0,
        "received" : 0,
        "fails" : 0,
        "unavail" : 0,
        "health_checks" : {
          "checks" : 26284,
          "fails" : 26284,
          "unhealthy" : 1,
          "last_passed" : false
        },
        "downtime" : 262925617,
        "downstart" : "2019-10-01T11:09:21.602Z",
        "selected" : "2019-10-01T15:01:25.000Z"
      }
    ],
    "zombies" : 0,
    "zone" : "dns"
  }
}

슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„:

슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ λ™μ μœΌλ‘œ ꡬ성 κ°€λŠ₯ν•œ λ§€κ°œλ³€μˆ˜:

id (integer)

슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ ID. IDλŠ” μžλ™μœΌλ‘œ ν• λ‹Ήλ˜κ³  λ³€κ²½ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

server (string)

슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ address λ§€κ°œλ³€μˆ˜μ™€ λ™μΌν•©λ‹ˆλ‹€. μ„œλ²„λ₯Ό μΆ”κ°€ν•˜λŠ” 경우 μ„œλ²„λ₯Ό 도메인 μ΄λ¦„μœΌλ‘œ μ§€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이 경우 도메인 이름에 ν•΄λ‹Ήν•˜λŠ” IP μ£Όμ†Œμ˜ λ³€κ²½ 사항이 λͺ¨λ‹ˆν„°λ§λ˜κ³  nginxλ₯Ό μž¬μ‹œμž‘ν•  ν•„μš” 없이 μ—…μŠ€νŠΈλ¦Ό ꡬ성에 μžλ™μœΌλ‘œ μ μš©λ©λ‹ˆλ‹€. 이λ₯Ό μœ„ν•΄μ„œλŠ” “stream” λΈ”λ‘μ˜ ν™•μΈμž λͺ…령이 ν•„μš”ν•©λ‹ˆλ‹€. 슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ resolve λ§€κ°œλ³€μˆ˜λ„ μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

service (string)

슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ service λ§€κ°œλ³€μˆ˜μ™€ λ™μΌν•©λ‹ˆλ‹€. 이 λ§€κ°œλ³€μˆ˜λŠ” λ³€κ²½ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

weight (integer)

슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ weight λ§€κ°œλ³€μˆ˜μ™€ λ™μΌν•©λ‹ˆλ‹€.

max_conns (integer)

슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ max_conns λ§€κ°œλ³€μˆ˜μ™€ λ™μΌν•©λ‹ˆλ‹€.

max_fails (integer)

슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ max_fails λ§€κ°œλ³€μˆ˜μ™€ λ™μΌν•©λ‹ˆλ‹€.

fail_timeout (string)

슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ fail_timeout λ§€κ°œλ³€μˆ˜μ™€ λ™μΌν•©λ‹ˆλ‹€.

slow_start (string)

슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ slow_start λ§€κ°œλ³€μˆ˜μ™€ λ™μΌν•©λ‹ˆλ‹€.

backup (boolean)

true인 경우 λ°±μ—… μ„œλ²„λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€. 이 λ§€κ°œλ³€μˆ˜λŠ” λ³€κ²½ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

down (boolean)

슀트림 μ—…μŠ€νŠΈλ¦Ό μ„œλ²„μ˜ down λ§€κ°œλ³€μˆ˜μ™€ λ™μΌν•©λ‹ˆλ‹€.

parent (string)

ν™•μΈλœ μ„œλ²„μ˜ μƒμœ„ μ„œλ²„ ID. IDλŠ” μžλ™μœΌλ‘œ ν• λ‹Ήλ˜κ³  λ³€κ²½ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

host (string)

ν™•μΈλœ μ„œλ²„μ˜ 호슀트 이름. 호슀트 이름은 μžλ™μœΌλ‘œ ν• λ‹Ήλ˜κ³  λ³€κ²½ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

예:

{
  "id" : 0,
  "server" : "10.0.0.1:12348",
  "weight" : 1,
  "max_conns" : 0,
  "max_fails" : 1,
  "fail_timeout" : "10s",
  "slow_start" : 0,
  "backup" : false,
  "down" : false
}
  • 슀트림 Keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­:

GET λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” 경우 슀트림 keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ˜ μ½˜ν…μΈ .

예:

{
  "key1" : "value1",
  "key2" : "value2",
  "key3" : "value3"
}
  • 슀트림 Keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­:

POST λ˜λŠ” PATCH λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” 경우 슀트림 keyval 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ˜ μ½˜ν…μΈ .

예:

{
  "key1" : "value1",
  "key2" : "value2",
  "key3" : {
    "value" : "value3",
    "expire" : 30000
  }
}
  • 슀트림 μ˜μ—­ 동기화 λ…Έλ“œ:

zones

각 곡유 λ©”λͺ¨λ¦¬ μ˜μ—­λ‹Ή 동기화 정보.

Sync Zone” 개체의 μ»¬λ ‰μ…˜

status

ν΄λŸ¬μŠ€ν„°μ˜ λ…Έλ“œλ‹Ή 동기화 정보.

bytes_in (integer)

이 λ…Έλ“œμ— μˆ˜μ‹ λœ λ°”μ΄νŠΈ 수.

msgs_in (integer)

이 λ…Έλ“œμ— μˆ˜μ‹ λœ λ©”μ‹œμ§€ 수.

msgs_out (integer)

이 λ…Έλ“œμ—μ„œ μ „μ†‘λœ λ©”μ‹œμ§€ 수.

bytes_out (integer)

이 λ…Έλ“œμ—μ„œ μ „μ†‘λœ λ°”μ΄νŠΈ 수.

nodes_online (integer)

이 λ…Έλ“œκ°€ μ—°κ²°λœ ν”Όμ–΄ 수.

예:

{
  "zones" : {
    "zone1" : {
      "records_pending" : 2061,
      "records_total" : 260575
    },
    "zone2" : {
      "records_pending" : 0,
      "records_total" : 14749
    }
  },
  "status" : {
    "bytes_in" : 1364923761,
    "msgs_in" : 337236,
    "msgs_out" : 346717,
    "bytes_out" : 1402765472,
    "nodes_online" : 15
  }
}
  • 동기화 μ˜μ—­:

곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ˜ 동기화 μƒνƒœ.

records_pending (integer)

ν΄λŸ¬μŠ€ν„°μ— μ „μ†‘λ˜μ–΄μ•Ό ν•˜λŠ” λ ˆμ½”λ“œ 수.

records_total (integer)

곡유 λ©”λͺ¨λ¦¬ μ˜μ—­μ— μ €μž₯된 전체 λ ˆμ½”λ“œ 수.

  • ν™•μΈμž μ˜μ—­:

νŠΉμ • ν™•μΈμž μ˜μ—­λ‹Ή DNS μš”μ²­ 및 μ‘λ‹΅μ˜ 톡계.

requests

name (integer)

이름을 μ£Όμ†Œλ‘œ 확인할 전체 μš”μ²­ 수.

srv (integer)

SRV λ ˆμ½”λ“œλ₯Ό 확인할 전체 μš”μ²­ 수.

addr (integer)

μ£Όμ†Œλ₯Ό μ΄λ¦„μœΌλ‘œ 확인할 전체 μš”μ²­ 수.

responses

noerror (integer)

전체 μ„±κ³΅ν•œ 응닡 수.

formerr (integer)

전체 FORMERR(Format error) 응닡 수.

servfail (integer)

전체 SERVFAIL(Server failure) 응닡 수.

nxdomain (integer)

전체 NXDOMAIN(Host not found) 응닡 수.

notimp (integer)

전체 NOTIMP(Unimplemented) 응닡 수.

refused (integer)

전체 REFUSED(Operation refused) 응닡 수.

timedout (integer)

전체 μ‹œκ°„μ œν•œλœ μš”μ²­ 수.

unknown (integer)

μ•Œ 수 μ—†λŠ” 였λ₯˜μ™€ ν•¨κ»˜ μ™„λ£Œλœ 전체 μš”μ²­ 수.

예:

{
  "resolver_zone1" : {
    "requests" : {
      "name" : 25460,
      "srv" : 130,
      "addr" : 2580
    },
    "responses" : {
      "noerror" : 26499,
      "formerr" : 0,
      "servfail" : 3,
      "nxdomain" : 0,
      "notimp" : 0,
      "refused" : 0,
      "timedout" : 243,
      "unknown" : 478
    }
  }
}
  • 였λ₯˜:

nginx 였λ₯˜ 개체.

error

status (integer)

HTTP 였λ₯˜ μ½”λ“œ.

text (string)

였λ₯˜ μ„€λͺ….

code (string)

λ‚΄λΆ€ nginx 였λ₯˜ μ½”λ“œ.

request_id (string)

μš”μ²­μ˜ IDλŠ” $request_id λ³€μˆ˜μ˜ κ°’κ³Ό κ°™μŠ΅λ‹ˆλ‹€.

href (string)

μ°Έμ‘° μ„€λͺ…μ„œμ— λŒ€ν•œ 링크.