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 μμ μ΄λ¦λ§ μΆλ ₯λ©λλ€.
κ°λ₯ν μλ΅:
- 200 – μ±κ³΅, λͺ¨λ μ€νΈλ¦Ό keyvalsμ λν “μ€νΈλ¦Ό Keyval 곡μ λ©λͺ¨λ¦¬ μμ” κ°μ²΄μ 컬λ μ λ°ν
- 404 – μ μ μλ λ²μ (UnknownVersion), Error λ°ν
/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)
μ°Έμ‘° μ€λͺ μμ λν λ§ν¬.