Varnish Administration Console

VAC related

Unrestricted API

GET

{
    "codename": "Jernbanetorget",
    "version": "3.5.0-aa5694c65653aa97a0b039d56bc23f9cb1c0ce4c-59"
}

3.5.0-aa5694c65653aa97a0b039d56bc23f9cb1c0ce4c-59%


POST

username=<username>&password=<password>
A Set-Cookie header is returned and this cookie can be used to access restricted parts of the API.


POST

Subsequent usage of cookie should not grant access to restricted parts of the API.


GET

If the Cookie header is provided, and the intended user is logged in, the response will be 200.

Cookie: JSESSIONID=<cookie_hash>


GET

Jernbanetorget


PUT

For more information on the Varnish-agent and its registration follow this link

Registering a Varnish instance in VAC

Upon using -z on Varnish-agent, Varnish-agent should successfully register with the VAC.

Note that the agent will send the following payload as an example::

{ "port" : "18080", "user" : "foo", "password" : "bar", "dash-n": ""}

Agent registration can be simulated via curl. However, VAC does attempt to callback to said agent to verify the correctness of the endpoint in order to complete the registration. Due to this process, the curl simulation of the process will fail.

Note that if the agent is not previously added, a 201 Created response is returned. If its already registered, a 200 OK is returned back to the agent.

Registering a Varnish instance to a VAC group

Agent registration will need to be authenticated on the Varnish agent side, to be able to register and be added subsequently to a group.

Example:

DAEMON_OPTS=“-z http://<vac_user>:<vac_password>@vac_server/api/v1/register?groupID=<group_ID>“

Where groupID is the group where you want the Varnish instance to belong.

check here for Varnish agent configuration

```json ```

PUT

In the event of duplicate JSON attributes are present in the JSON, the VAC keeps the last value of that attribute, accepting the JSON payload.
{
	"timestamp": "2017-10-18T16:35:02",
	"MAIN.uptime": {"type": "MAIN", "value": 119, "flag": "c", "description": "Child process uptime" },
	"MAIN.sess_conn": {"type": "MAIN", "value": 32, "flag": "c", "description": "Sessions accepted" },
	"MAIN.sess_drop": {"type": "MAIN", "value": 0, "flag": "c", "description": "Sessions dropped" },
	"MAIN.sess_fail": {"type": "MAIN", "value": 0, "flag": "c", "description": "Session accept failures" },
	"MAIN.client_req_400": {"type": "MAIN", "value": 0, "flag": "c", "description": "Client requests received, subject to 400 errors" },
	"MAIN.client_req_417": {"type": "MAIN", "value": 0, "flag": "c", "description": "Client requests received, subject to 417 errors" },
	"MAIN.client_req": {"type": "MAIN", "value": 32, "flag": "c", "description": "Good client requests received" },
	"MAIN.cache_hit": {"type": "MAIN", "value": 20, "flag": "c", "description": "Cache hits" },
	"MAIN.cache_hitpass": {"type": "MAIN", "value": 0, "flag": "c", "description": "Cache hits for pass" },
	"MAIN.cache_miss": {"type": "MAIN", "value": 12, "flag": "c", "description": "Cache misses" },
	"MAIN.backend_conn": {"type": "MAIN", "value": 9, "flag": "c", "description": "Backend conn. success" },
	"MAIN.backend_unhealthy": {"type": "MAIN", "value": 0, "flag": "c", "description": "Backend conn. not attempted" },
	"MAIN.backend_busy": {"type": "MAIN", "value": 0, "flag": "c", "description": "Backend conn. too many" },
	"MAIN.backend_fail": {"type": "MAIN", "value": 0, "flag": "c", "description": "Backend conn. failures" },
	"MAIN.backend_reuse": {"type": "MAIN", "value": 3, "flag": "c", "description": "Backend conn. reuses" },
	"MAIN.backend_recycle": {"type": "MAIN", "value": 12, "flag": "c", "description": "Backend conn. recycles" },
	"MAIN.backend_retry": {"type": "MAIN", "value": 0, "flag": "c", "description": "Backend conn. retry" },
	"MAIN.fetch_head": {"type": "MAIN", "value": 0, "flag": "c", "description": "Fetch no body (HEAD)" },
	"MAIN.fetch_length": {"type": "MAIN", "value": 12, "flag": "c", "description": "Fetch with Length" },
	"MAIN.fetch_chunked": {"type": "MAIN", "value": 0, "flag": "c", "description": "Fetch chunked" },
	"MAIN.fetch_eof": {"type": "MAIN", "value": 0, "flag": "c", "description": "Fetch EOF" },
	"MAIN.fetch_bad": {"type": "MAIN", "value": 0, "flag": "c", "description": "Fetch bad T-E" },
	"MAIN.fetch_none": {"type": "MAIN", "value": 0, "flag": "c", "description": "Fetch no body" },
	"MAIN.fetch_1xx": {"type": "MAIN", "value": 0, "flag": "c", "description": "Fetch no body (1xx)" },
	"MAIN.fetch_204": {"type": "MAIN", "value": 0, "flag": "c", "description": "Fetch no body (204)" },
	"MAIN.fetch_304": {"type": "MAIN", "value": 0, "flag": "c", "description": "Fetch no body (304)" },
	"MAIN.fetch_failed": {"type": "MAIN", "value": 0, "flag": "c", "description": "Fetch failed (all causes)" },
	"MAIN.fetch_no_thread": {"type": "MAIN", "value": 0, "flag": "c", "description": "Fetch failed (no thread)" },
	"MAIN.pools": {"type": "MAIN", "value": 3, "flag": "g", "description": "Number of thread pools" },
	"MAIN.threads": {"type": "MAIN", "value": 300, "flag": "g", "description": "Total number of threads" },
	"MAIN.threads_limited": {"type": "MAIN", "value": 0, "flag": "c", "description": "Threads hit max" },
	"MAIN.threads_created": {"type": "MAIN", "value": 300, "flag": "c", "description": "Threads created" },
	"MAIN.threads_destroyed": {"type": "MAIN", "value": 0, "flag": "c", "description": "Threads destroyed" },
	"MAIN.threads_failed": {"type": "MAIN", "value": 0, "flag": "c", "description": "Thread creation failed" },
	"MAIN.thread_queue_len": {"type": "MAIN", "value": 0, "flag": "g", "description": "Length of session queue" },
	"MAIN.busy_sleep": {"type": "MAIN", "value": 0, "flag": "c", "description": "Number of requests sent to sleep on busy objhdr" },
	"MAIN.busy_wakeup": {"type": "MAIN", "value": 0, "flag": "c", "description": "Number of requests woken after sleep on busy objhdr" },
	"MAIN.busy_killed": {"type": "MAIN", "value": 0, "flag": "c", "description": "Number of requests killed after sleep on busy objhdr" },
	"MAIN.sess_queued": {"type": "MAIN", "value": 0, "flag": "c", "description": "Sessions queued for thread" },
	"MAIN.sess_dropped": {"type": "MAIN", "value": 0, "flag": "c", "description": "Sessions dropped for thread" },
	"MAIN.n_object": {"type": "MAIN", "value": 12, "flag": "g", "description": "object structs made" },
	"MAIN.n_vampireobject": {"type": "MAIN", "value": 0, "flag": "g", "description": "unresurrected objects" },
	"MAIN.n_objectcore": {"type": "MAIN", "value": 14, "flag": "g", "description": "objectcore structs made" },
	"MAIN.n_objecthead": {"type": "MAIN", "value": 14, "flag": "g", "description": "objecthead structs made" },
	"MAIN.n_waitinglist": {"type": "MAIN", "value": 4, "flag": "g", "description": "waitinglist structs made" },
	"MAIN.n_backend": {"type": "MAIN", "value": 1, "flag": "g", "description": "Number of backends" },
	"MAIN.n_expired": {"type": "MAIN", "value": 0, "flag": "g", "description": "Number of expired objects" },
	"MAIN.n_lru_nuked": {"type": "MAIN", "value": 0, "flag": "g", "description": "Number of LRU nuked objects" },
	"MAIN.n_lru_moved": {"type": "MAIN", "value": 20, "flag": "g", "description": "Number of LRU moved objects" },
	"MAIN.losthdr": {"type": "MAIN", "value": 0, "flag": "c", "description": "HTTP header overflows" },
	"MAIN.s_sess": {"type": "MAIN", "value": 32, "flag": "c", "description": "Total sessions seen" },
	"MAIN.s_req": {"type": "MAIN", "value": 32, "flag": "c", "description": "Total requests seen" },
	"MAIN.s_pipe": {"type": "MAIN", "value": 0, "flag": "c", "description": "Total pipe sessions seen" },
	"MAIN.s_pass": {"type": "MAIN", "value": 0, "flag": "c", "description": "Total pass-ed requests seen" },
	"MAIN.s_fetch": {"type": "MAIN", "value": 12, "flag": "c", "description": "Total backend fetches initiated" },
	"MAIN.s_synth": {"type": "MAIN", "value": 0, "flag": "c", "description": "Total synthethic responses made" },
	"MAIN.s_req_hdrbytes": {"type": "MAIN", "value": 5510, "flag": "c", "description": "Request header bytes" },
	"MAIN.s_req_bodybytes": {"type": "MAIN", "value": 0, "flag": "c", "description": "Request body bytes" },
	"MAIN.s_resp_hdrbytes": {"type": "MAIN", "value": 9094, "flag": "c", "description": "Response header bytes" },
	"MAIN.s_resp_bodybytes": {"type": "MAIN", "value": 12896, "flag": "c", "description": "Response body bytes" },
	"MAIN.s_pipe_hdrbytes": {"type": "MAIN", "value": 0, "flag": "c", "description": "Pipe request header bytes" },
	"MAIN.s_pipe_in": {"type": "MAIN", "value": 0, "flag": "c", "description": "Piped bytes from client" },
	"MAIN.s_pipe_out": {"type": "MAIN", "value": 0, "flag": "c", "description": "Piped bytes to client" },
	"MAIN.sess_closed": {"type": "MAIN", "value": 32, "flag": "c", "description": "Session Closed" },
	"MAIN.sess_closed_err": {"type": "MAIN", "value": 0, "flag": "c", "description": "Session Closed with error" },
	"MAIN.sess_readahead": {"type": "MAIN", "value": 0, "flag": "c", "description": "Session Read Ahead" },
	"MAIN.sess_herd": {"type": "MAIN", "value": 0, "flag": "c", "description": "Session herd" },
	"MAIN.sc_rem_close": {"type": "MAIN", "value": 0, "flag": "c", "description": "Session OK  REM_CLOSE" },
	"MAIN.sc_req_close": {"type": "MAIN", "value": 0, "flag": "c", "description": "Session OK  REQ_CLOSE" },
	"MAIN.sc_req_http10": {"type": "MAIN", "value": 0, "flag": "c", "description": "Session Err REQ_HTTP10" },
	"MAIN.sc_rx_bad": {"type": "MAIN", "value": 0, "flag": "c", "description": "Session Err RX_BAD" },
	"MAIN.sc_rx_body": {"type": "MAIN", "value": 0, "flag": "c", "description": "Session Err RX_BODY" },
	"MAIN.sc_rx_junk": {"type": "MAIN", "value": 0, "flag": "c", "description": "Session Err RX_JUNK" },
	"MAIN.sc_rx_overflow": {"type": "MAIN", "value": 0, "flag": "c", "description": "Session Err RX_OVERFLOW" },
	"MAIN.sc_rx_timeout": {"type": "MAIN", "value": 0, "flag": "c", "description": "Session Err RX_TIMEOUT" },
	"MAIN.sc_tx_pipe": {"type": "MAIN", "value": 0, "flag": "c", "description": "Session OK  TX_PIPE" },
	"MAIN.sc_tx_error": {"type": "MAIN", "value": 0, "flag": "c", "description": "Session Err TX_ERROR" },
	"MAIN.sc_tx_eof": {"type": "MAIN", "value": 0, "flag": "c", "description": "Session OK  TX_EOF" },
	"MAIN.sc_resp_close": {"type": "MAIN", "value": 32, "flag": "c", "description": "Session OK  RESP_CLOSE" },
	"MAIN.sc_overload": {"type": "MAIN", "value": 0, "flag": "c", "description": "Session Err OVERLOAD" },
	"MAIN.sc_pipe_overflow": {"type": "MAIN", "value": 0, "flag": "c", "description": "Session Err PIPE_OVERFLOW" },
	"MAIN.sc_range_short": {"type": "MAIN", "value": 0, "flag": "c", "description": "Session Err RANGE_SHORT" },
	"MAIN.shm_records": {"type": "MAIN", "value": 2188, "flag": "c", "description": "SHM records" },
	"MAIN.shm_writes": {"type": "MAIN", "value": 300, "flag": "c", "description": "SHM writes" },
	"MAIN.shm_flushes": {"type": "MAIN", "value": 0, "flag": "c", "description": "SHM flushes due to overflow" },
	"MAIN.shm_cont": {"type": "MAIN", "value": 0, "flag": "c", "description": "SHM MTX contention" },
	"MAIN.shm_cycles": {"type": "MAIN", "value": 0, "flag": "c", "description": "SHM cycles through buffer" },
	"MAIN.backend_req": {"type": "MAIN", "value": 12, "flag": "c", "description": "Backend requests made" },
	"MAIN.n_vcl": {"type": "MAIN", "value": 1, "flag": "c", "description": "Number of loaded VCLs in total" },
	"MAIN.n_vcl_avail": {"type": "MAIN", "value": 1, "flag": "c", "description": "Number of VCLs available" },
	"MAIN.n_vcl_discard": {"type": "MAIN", "value": 0, "flag": "c", "description": "Number of discarded VCLs" },
	"MAIN.bans": {"type": "MAIN", "value": 1, "flag": "g", "description": "Count of bans" },
	"MAIN.bans_completed": {"type": "MAIN", "value": 1, "flag": "g", "description": "Number of bans marked 'completed'" },
	"MAIN.bans_obj": {"type": "MAIN", "value": 0, "flag": "g", "description": "Number of bans using obj.*" },
	"MAIN.bans_req": {"type": "MAIN", "value": 0, "flag": "g", "description": "Number of bans using req.*" },
	"MAIN.bans_added": {"type": "MAIN", "value": 1, "flag": "c", "description": "Bans added" },
	"MAIN.bans_deleted": {"type": "MAIN", "value": 0, "flag": "c", "description": "Bans deleted" },
	"MAIN.bans_tested": {"type": "MAIN", "value": 0, "flag": "c", "description": "Bans tested against objects (lookup)" },
	"MAIN.bans_obj_killed": {"type": "MAIN", "value": 0, "flag": "c", "description": "Objects killed by bans (lookup)" },
	"MAIN.bans_lurker_tested": {"type": "MAIN", "value": 0, "flag": "c", "description": "Bans tested against objects (lurker)" },
	"MAIN.bans_tests_tested": {"type": "MAIN", "value": 0, "flag": "c", "description": "Ban tests tested against objects (lookup)" },
	"MAIN.bans_lurker_tests_tested": {"type": "MAIN", "value": 0, "flag": "c", "description": "Ban tests tested against objects (lurker)" },
	"MAIN.bans_lurker_obj_killed": {"type": "MAIN", "value": 0, "flag": "c", "description": "Objects killed by bans (lurker)" },
	"MAIN.bans_dups": {"type": "MAIN", "value": 0, "flag": "c", "description": "Bans superseded by other bans" },
	"MAIN.bans_lurker_contention": {"type": "MAIN", "value": 0, "flag": "c", "description": "Lurker gave way for lookup" },
	"MAIN.bans_persisted_bytes": {"type": "MAIN", "value": 16, "flag": "g", "description": "Bytes used by the persisted ban lists" },
	"MAIN.bans_persisted_fragmentation": {"type": "MAIN", "value": 0, "flag": "g", "description": "Extra bytes in persisted ban lists due to fragmentation" },
	"MAIN.n_purges": {"type": "MAIN", "value": 0, "flag": "g", "description": "Number of purge operations executed" },
	"MAIN.n_obj_purged": {"type": "MAIN", "value": 0, "flag": "g", "description": "Number of purged objects" },
	"MAIN.exp_mailed": {"type": "MAIN", "value": 12, "flag": "c", "description": "Number of objects mailed to expiry thread" },
	"MAIN.exp_received": {"type": "MAIN", "value": 12, "flag": "c", "description": "Number of objects received by expiry thread" },
	"MAIN.hcb_nolock": {"type": "MAIN", "value": 32, "flag": "c", "description": "HCB Lookups without lock" },
	"MAIN.hcb_lock": {"type": "MAIN", "value": 12, "flag": "c", "description": "HCB Lookups with lock" },
	"MAIN.hcb_insert": {"type": "MAIN", "value": 12, "flag": "c", "description": "HCB Inserts" },
	"MAIN.esi_errors": {"type": "MAIN", "value": 0, "flag": "c", "description": "ESI parse errors (unlock)" },
	"MAIN.esi_warnings": {"type": "MAIN", "value": 0, "flag": "c", "description": "ESI parse warnings (unlock)" },
	"MAIN.vmods": {"type": "MAIN", "value": 0, "flag": "g", "description": "Loaded VMODs" },
	"MAIN.n_gzip": {"type": "MAIN", "value": 0, "flag": "c", "description": "Gzip operations" },
	"MAIN.n_gunzip": {"type": "MAIN", "value": 12, "flag": "c", "description": "Gunzip operations" },
	"MAIN.vsm_free": {"type": "MAIN", "value": 973200, "flag": "g", "description": "Free VSM space" },
	"MAIN.vsm_used": {"type": "MAIN", "value": 83961408, "flag": "g", "description": "Used VSM space" },
	"MAIN.vsm_cooling": {"type": "MAIN", "value": 0, "flag": "g", "description": "Cooling VSM space" },
	"MAIN.vsm_overflow": {"type": "MAIN", "value": 0, "flag": "g", "description": "Overflow VSM space" },
	"MAIN.vsm_overflowed": {"type": "MAIN", "value": 0, "flag": "c", "description": "Overflowed VSM space" },
	"MGT.uptime": {"type": "MGT", "value": 119, "flag": "c", "description": "Management process uptime" },
	"MGT.child_start": {"type": "MGT", "value": 1, "flag": "c", "description": "Child process started" },
	"MGT.child_exit": {"type": "MGT", "value": 0, "flag": "c", "description": "Child process normal exit" },
	"MGT.child_stop": {"type": "MGT", "value": 0, "flag": "c", "description": "Child process unexpected exit" },
	"MGT.child_died": {"type": "MGT", "value": 0, "flag": "c", "description": "Child process died (signal)" },
	"MGT.child_dump": {"type": "MGT", "value": 0, "flag": "c", "description": "Child process core dumped" },
	"MGT.child_panic": {"type": "MGT", "value": 0, "flag": "c", "description": "Child process panic" },
	"MEMPOOL.busyobj.live": {"type": "MEMPOOL", "ident": "busyobj", "value": 0, "flag": "g", "description": "In use" },
	"MEMPOOL.busyobj.pool": {"type": "MEMPOOL", "ident": "busyobj", "value": 10, "flag": "g", "description": "In Pool" },
	"MEMPOOL.busyobj.sz_wanted": {"type": "MEMPOOL", "ident": "busyobj", "value": 65536, "flag": "g", "description": "Size requested" },
	"MEMPOOL.busyobj.sz_actual": {"type": "MEMPOOL", "ident": "busyobj", "value": 65504, "flag": "g", "description": "Size allocated" },
	"MEMPOOL.busyobj.allocs": {"type": "MEMPOOL", "ident": "busyobj", "value": 12, "flag": "c", "description": "Allocations" },
	"MEMPOOL.busyobj.frees": {"type": "MEMPOOL", "ident": "busyobj", "value": 12, "flag": "c", "description": "Frees" },
	"MEMPOOL.busyobj.recycle": {"type": "MEMPOOL", "ident": "busyobj", "value": 12, "flag": "c", "description": "Recycled from pool" },
	"MEMPOOL.busyobj.timeout": {"type": "MEMPOOL", "ident": "busyobj", "value": 0, "flag": "c", "description": "Timed out from pool" },
	"MEMPOOL.busyobj.toosmall": {"type": "MEMPOOL", "ident": "busyobj", "value": 0, "flag": "c", "description": "Too small to recycle" },
	"MEMPOOL.busyobj.surplus": {"type": "MEMPOOL", "ident": "busyobj", "value": 0, "flag": "c", "description": "Too many for pool" },
	"MEMPOOL.busyobj.randry": {"type": "MEMPOOL", "ident": "busyobj", "value": 0, "flag": "c", "description": "Pool ran dry" },
	"MEMPOOL.req0.live": {"type": "MEMPOOL", "ident": "req0", "value": 0, "flag": "g", "description": "In use" },
	"MEMPOOL.req0.pool": {"type": "MEMPOOL", "ident": "req0", "value": 10, "flag": "g", "description": "In Pool" },
	"MEMPOOL.req0.sz_wanted": {"type": "MEMPOOL", "ident": "req0", "value": 65536, "flag": "g", "description": "Size requested" },
	"MEMPOOL.req0.sz_actual": {"type": "MEMPOOL", "ident": "req0", "value": 65504, "flag": "g", "description": "Size allocated" },
	"MEMPOOL.req0.allocs": {"type": "MEMPOOL", "ident": "req0", "value": 13, "flag": "c", "description": "Allocations" },
	"MEMPOOL.req0.frees": {"type": "MEMPOOL", "ident": "req0", "value": 13, "flag": "c", "description": "Frees" },
	"MEMPOOL.req0.recycle": {"type": "MEMPOOL", "ident": "req0", "value": 13, "flag": "c", "description": "Recycled from pool" },
	"MEMPOOL.req0.timeout": {"type": "MEMPOOL", "ident": "req0", "value": 0, "flag": "c", "description": "Timed out from pool" },
	"MEMPOOL.req0.toosmall": {"type": "MEMPOOL", "ident": "req0", "value": 0, "flag": "c", "description": "Too small to recycle" },
	"MEMPOOL.req0.surplus": {"type": "MEMPOOL", "ident": "req0", "value": 0, "flag": "c", "description": "Too many for pool" },
	"MEMPOOL.req0.randry": {"type": "MEMPOOL", "ident": "req0", "value": 0, "flag": "c", "description": "Pool ran dry" },
	"MEMPOOL.sess0.live": {"type": "MEMPOOL", "ident": "sess0", "value": 0, "flag": "g", "description": "In use" },
	"MEMPOOL.sess0.pool": {"type": "MEMPOOL", "ident": "sess0", "value": 10, "flag": "g", "description": "In Pool" },
	"MEMPOOL.sess0.sz_wanted": {"type": "MEMPOOL", "ident": "sess0", "value": 512, "flag": "g", "description": "Size requested" },
	"MEMPOOL.sess0.sz_actual": {"type": "MEMPOOL", "ident": "sess0", "value": 480, "flag": "g", "description": "Size allocated" },
	"MEMPOOL.sess0.allocs": {"type": "MEMPOOL", "ident": "sess0", "value": 13, "flag": "c", "description": "Allocations" },
	"MEMPOOL.sess0.frees": {"type": "MEMPOOL", "ident": "sess0", "value": 13, "flag": "c", "description": "Frees" },
	"MEMPOOL.sess0.recycle": {"type": "MEMPOOL", "ident": "sess0", "value": 13, "flag": "c", "description": "Recycled from pool" },
	"MEMPOOL.sess0.timeout": {"type": "MEMPOOL", "ident": "sess0", "value": 0, "flag": "c", "description": "Timed out from pool" },
	"MEMPOOL.sess0.toosmall": {"type": "MEMPOOL", "ident": "sess0", "value": 0, "flag": "c", "description": "Too small to recycle" },
	"MEMPOOL.sess0.surplus": {"type": "MEMPOOL", "ident": "sess0", "value": 0, "flag": "c", "description": "Too many for pool" },
	"MEMPOOL.sess0.randry": {"type": "MEMPOOL", "ident": "sess0", "value": 0, "flag": "c", "description": "Pool ran dry" },
	"MEMPOOL.req1.live": {"type": "MEMPOOL", "ident": "req1", "value": 0, "flag": "g", "description": "In use" },
	"MEMPOOL.req1.pool": {"type": "MEMPOOL", "ident": "req1", "value": 10, "flag": "g", "description": "In Pool" },
	"MEMPOOL.req1.sz_wanted": {"type": "MEMPOOL", "ident": "req1", "value": 65536, "flag": "g", "description": "Size requested" },
	"MEMPOOL.req1.sz_actual": {"type": "MEMPOOL", "ident": "req1", "value": 65504, "flag": "g", "description": "Size allocated" },
	"MEMPOOL.req1.allocs": {"type": "MEMPOOL", "ident": "req1", "value": 12, "flag": "c", "description": "Allocations" },
	"MEMPOOL.req1.frees": {"type": "MEMPOOL", "ident": "req1", "value": 12, "flag": "c", "description": "Frees" },
	"MEMPOOL.req1.recycle": {"type": "MEMPOOL", "ident": "req1", "value": 12, "flag": "c", "description": "Recycled from pool" },
	"MEMPOOL.req1.timeout": {"type": "MEMPOOL", "ident": "req1", "value": 0, "flag": "c", "description": "Timed out from pool" },
	"MEMPOOL.req1.toosmall": {"type": "MEMPOOL", "ident": "req1", "value": 0, "flag": "c", "description": "Too small to recycle" },
	"MEMPOOL.req1.surplus": {"type": "MEMPOOL", "ident": "req1", "value": 0, "flag": "c", "description": "Too many for pool" },
	"MEMPOOL.req1.randry": {"type": "MEMPOOL", "ident": "req1", "value": 0, "flag": "c", "description": "Pool ran dry" },
	"MEMPOOL.sess1.live": {"type": "MEMPOOL", "ident": "sess1", "value": 0, "flag": "g", "description": "In use" },
	"MEMPOOL.sess1.pool": {"type": "MEMPOOL", "ident": "sess1", "value": 10, "flag": "g", "description": "In Pool" },
	"MEMPOOL.sess1.sz_wanted": {"type": "MEMPOOL", "ident": "sess1", "value": 512, "flag": "g", "description": "Size requested" },
	"MEMPOOL.sess1.sz_actual": {"type": "MEMPOOL", "ident": "sess1", "value": 480, "flag": "g", "description": "Size allocated" },
	"MEMPOOL.sess1.allocs": {"type": "MEMPOOL", "ident": "sess1", "value": 12, "flag": "c", "description": "Allocations" },
	"MEMPOOL.sess1.frees": {"type": "MEMPOOL", "ident": "sess1", "value": 12, "flag": "c", "description": "Frees" },
	"MEMPOOL.sess1.recycle": {"type": "MEMPOOL", "ident": "sess1", "value": 12, "flag": "c", "description": "Recycled from pool" },
	"MEMPOOL.sess1.timeout": {"type": "MEMPOOL", "ident": "sess1", "value": 0, "flag": "c", "description": "Timed out from pool" },
	"MEMPOOL.sess1.toosmall": {"type": "MEMPOOL", "ident": "sess1", "value": 0, "flag": "c", "description": "Too small to recycle" },
	"MEMPOOL.sess1.surplus": {"type": "MEMPOOL", "ident": "sess1", "value": 0, "flag": "c", "description": "Too many for pool" },
	"MEMPOOL.sess1.randry": {"type": "MEMPOOL", "ident": "sess1", "value": 0, "flag": "c", "description": "Pool ran dry" },
	"MEMPOOL.req2.live": {"type": "MEMPOOL", "ident": "req2", "value": 0, "flag": "g", "description": "In use" },
	"MEMPOOL.req2.pool": {"type": "MEMPOOL", "ident": "req2", "value": 10, "flag": "g", "description": "In Pool" },
	"MEMPOOL.req2.sz_wanted": {"type": "MEMPOOL", "ident": "req2", "value": 65536, "flag": "g", "description": "Size requested" },
	"MEMPOOL.req2.sz_actual": {"type": "MEMPOOL", "ident": "req2", "value": 65504, "flag": "g", "description": "Size allocated" },
	"MEMPOOL.req2.allocs": {"type": "MEMPOOL", "ident": "req2", "value": 7, "flag": "c", "description": "Allocations" },
	"MEMPOOL.req2.frees": {"type": "MEMPOOL", "ident": "req2", "value": 7, "flag": "c", "description": "Frees" },
	"MEMPOOL.req2.recycle": {"type": "MEMPOOL", "ident": "req2", "value": 7, "flag": "c", "description": "Recycled from pool" },
	"MEMPOOL.req2.timeout": {"type": "MEMPOOL", "ident": "req2", "value": 0, "flag": "c", "description": "Timed out from pool" },
	"MEMPOOL.req2.toosmall": {"type": "MEMPOOL", "ident": "req2", "value": 0, "flag": "c", "description": "Too small to recycle" },
	"MEMPOOL.req2.surplus": {"type": "MEMPOOL", "ident": "req2", "value": 0, "flag": "c", "description": "Too many for pool" },
	"MEMPOOL.req2.randry": {"type": "MEMPOOL", "ident": "req2", "value": 0, "flag": "c", "description": "Pool ran dry" },
	"MEMPOOL.sess2.live": {"type": "MEMPOOL", "ident": "sess2", "value": 0, "flag": "g", "description": "In use" },
	"MEMPOOL.sess2.pool": {"type": "MEMPOOL", "ident": "sess2", "value": 10, "flag": "g", "description": "In Pool" },
	"MEMPOOL.sess2.sz_wanted": {"type": "MEMPOOL", "ident": "sess2", "value": 512, "flag": "g", "description": "Size requested" },
	"MEMPOOL.sess2.sz_actual": {"type": "MEMPOOL", "ident": "sess2", "value": 480, "flag": "g", "description": "Size allocated" },
	"MEMPOOL.sess2.allocs": {"type": "MEMPOOL", "ident": "sess2", "value": 7, "flag": "c", "description": "Allocations" },
	"MEMPOOL.sess2.frees": {"type": "MEMPOOL", "ident": "sess2", "value": 7, "flag": "c", "description": "Frees" },
	"MEMPOOL.sess2.recycle": {"type": "MEMPOOL", "ident": "sess2", "value": 7, "flag": "c", "description": "Recycled from pool" },
	"MEMPOOL.sess2.timeout": {"type": "MEMPOOL", "ident": "sess2", "value": 0, "flag": "c", "description": "Timed out from pool" },
	"MEMPOOL.sess2.toosmall": {"type": "MEMPOOL", "ident": "sess2", "value": 0, "flag": "c", "description": "Too small to recycle" },
	"MEMPOOL.sess2.surplus": {"type": "MEMPOOL", "ident": "sess2", "value": 0, "flag": "c", "description": "Too many for pool" },
	"MEMPOOL.sess2.randry": {"type": "MEMPOOL", "ident": "sess2", "value": 0, "flag": "c", "description": "Pool ran dry" },
	"SMA.s0.c_req": {"type": "SMA", "ident": "s0", "value": 24, "flag": "c", "description": "Allocator requests" },
	"SMA.s0.c_fail": {"type": "SMA", "ident": "s0", "value": 0, "flag": "c", "description": "Allocator failures" },
	"SMA.s0.c_bytes": {"type": "SMA", "ident": "s0", "value": 8964, "flag": "c", "description": "Bytes allocated" },
	"SMA.s0.c_freed": {"type": "SMA", "ident": "s0", "value": 0, "flag": "c", "description": "Bytes freed" },
	"SMA.s0.g_alloc": {"type": "SMA", "ident": "s0", "value": 24, "flag": "g", "description": "Allocations outstanding" },
	"SMA.s0.g_bytes": {"type": "SMA", "ident": "s0", "value": 8964, "flag": "g", "description": "Bytes outstanding" },
	"SMA.s0.g_space": {"type": "SMA", "ident": "s0", "value": 268426492, "flag": "g", "description": "Bytes available" },
	"SMA.Transient.c_req": {"type": "SMA", "ident": "Transient", "value": 0, "flag": "c", "description": "Allocator requests" },
	"SMA.Transient.c_fail": {"type": "SMA", "ident": "Transient", "value": 0, "flag": "c", "description": "Allocator failures" },
	"SMA.Transient.c_bytes": {"type": "SMA", "ident": "Transient", "value": 0, "flag": "c", "description": "Bytes allocated" },
	"SMA.Transient.c_freed": {"type": "SMA", "ident": "Transient", "value": 0, "flag": "c", "description": "Bytes freed" },
	"SMA.Transient.g_alloc": {"type": "SMA", "ident": "Transient", "value": 0, "flag": "g", "description": "Allocations outstanding" },
	"SMA.Transient.g_bytes": {"type": "SMA", "ident": "Transient", "value": 0, "flag": "g", "description": "Bytes outstanding" },
	"SMA.Transient.g_space": {"type": "SMA", "ident": "Transient", "value": 0, "flag": "g", "description": "Bytes available" },
	"VBE.boot.default.happy": {"type": "VBE", "ident": "boot.default", "value": 0, "flag": "b", "description": "Happy health probes" },
	"VBE.boot.default.bereq_hdrbytes": {"type": "VBE", "ident": "boot.default", "value": 2373, "flag": "c", "description": "Request header bytes" },
	"VBE.boot.default.bereq_bodybytes": {"type": "VBE", "ident": "boot.default", "value": 0, "flag": "c", "description": "Request body bytes" },
	"VBE.boot.default.beresp_hdrbytes": {"type": "VBE", "ident": "boot.default", "value": 2328, "flag": "c", "description": "Response header bytes" },
	"VBE.boot.default.beresp_bodybytes": {"type": "VBE", "ident": "boot.default", "value": 4836, "flag": "c", "description": "Response body bytes" },
	"VBE.boot.default.pipe_hdrbytes": {"type": "VBE", "ident": "boot.default", "value": 0, "flag": "c", "description": "Pipe request header bytes" },
	"VBE.boot.default.pipe_out": {"type": "VBE", "ident": "boot.default", "value": 0, "flag": "c", "description": "Piped bytes to backend" },
	"VBE.boot.default.pipe_in": {"type": "VBE", "ident": "boot.default", "value": 0, "flag": "c", "description": "Piped bytes from backend" },
	"VBE.boot.default.conn": {"type": "VBE", "ident": "boot.default", "value": 0, "flag": "g", "description": "Concurrent connections to backend" },
	"VBE.boot.default.req": {"type": "VBE", "ident": "boot.default", "value": 12, "flag": "c", "description": "Backend requests sent" },
	"LCK.backend.creat": {"type": "LCK", "ident": "backend", "value": 3, "flag": "c", "description": "Created locks" },
	"LCK.backend.destroy": {"type": "LCK", "ident": "backend", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.backend.locks": {"type": "LCK", "ident": "backend", "value": 27, "flag": "c", "description": "Lock Operations" },
	"LCK.backend_tcp.creat": {"type": "LCK", "ident": "backend_tcp", "value": 1, "flag": "c", "description": "Created locks" },
	"LCK.backend_tcp.destroy": {"type": "LCK", "ident": "backend_tcp", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.backend_tcp.locks": {"type": "LCK", "ident": "backend_tcp", "value": 39, "flag": "c", "description": "Lock Operations" },
	"LCK.ban.creat": {"type": "LCK", "ident": "ban", "value": 1, "flag": "c", "description": "Created locks" },
	"LCK.ban.destroy": {"type": "LCK", "ident": "ban", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.ban.locks": {"type": "LCK", "ident": "ban", "value": 32, "flag": "c", "description": "Lock Operations" },
	"LCK.busyobj.creat": {"type": "LCK", "ident": "busyobj", "value": 12, "flag": "c", "description": "Created locks" },
	"LCK.busyobj.destroy": {"type": "LCK", "ident": "busyobj", "value": 12, "flag": "c", "description": "Destroyed locks" },
	"LCK.busyobj.locks": {"type": "LCK", "ident": "busyobj", "value": 72, "flag": "c", "description": "Lock Operations" },
	"LCK.cli.creat": {"type": "LCK", "ident": "cli", "value": 1, "flag": "c", "description": "Created locks" },
	"LCK.cli.destroy": {"type": "LCK", "ident": "cli", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.cli.locks": {"type": "LCK", "ident": "cli", "value": 53, "flag": "c", "description": "Lock Operations" },
	"LCK.exp.creat": {"type": "LCK", "ident": "exp", "value": 1, "flag": "c", "description": "Created locks" },
	"LCK.exp.destroy": {"type": "LCK", "ident": "exp", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.exp.locks": {"type": "LCK", "ident": "exp", "value": 52, "flag": "c", "description": "Lock Operations" },
	"LCK.hcb.creat": {"type": "LCK", "ident": "hcb", "value": 1, "flag": "c", "description": "Created locks" },
	"LCK.hcb.destroy": {"type": "LCK", "ident": "hcb", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.hcb.locks": {"type": "LCK", "ident": "hcb", "value": 13, "flag": "c", "description": "Lock Operations" },
	"LCK.lru.creat": {"type": "LCK", "ident": "lru", "value": 2, "flag": "c", "description": "Created locks" },
	"LCK.lru.destroy": {"type": "LCK", "ident": "lru", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.lru.locks": {"type": "LCK", "ident": "lru", "value": 44, "flag": "c", "description": "Lock Operations" },
	"LCK.mempool.creat": {"type": "LCK", "ident": "mempool", "value": 7, "flag": "c", "description": "Created locks" },
	"LCK.mempool.destroy": {"type": "LCK", "ident": "mempool", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.mempool.locks": {"type": "LCK", "ident": "mempool", "value": 860, "flag": "c", "description": "Lock Operations" },
	"LCK.objhdr.creat": {"type": "LCK", "ident": "objhdr", "value": 15, "flag": "c", "description": "Created locks" },
	"LCK.objhdr.destroy": {"type": "LCK", "ident": "objhdr", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.objhdr.locks": {"type": "LCK", "ident": "objhdr", "value": 232, "flag": "c", "description": "Lock Operations" },
	"LCK.pipestat.creat": {"type": "LCK", "ident": "pipestat", "value": 1, "flag": "c", "description": "Created locks" },
	"LCK.pipestat.destroy": {"type": "LCK", "ident": "pipestat", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.pipestat.locks": {"type": "LCK", "ident": "pipestat", "value": 0, "flag": "c", "description": "Lock Operations" },
	"LCK.sess.creat": {"type": "LCK", "ident": "sess", "value": 32, "flag": "c", "description": "Created locks" },
	"LCK.sess.destroy": {"type": "LCK", "ident": "sess", "value": 32, "flag": "c", "description": "Destroyed locks" },
	"LCK.sess.locks": {"type": "LCK", "ident": "sess", "value": 0, "flag": "c", "description": "Lock Operations" },
	"LCK.smp.creat": {"type": "LCK", "ident": "smp", "value": 0, "flag": "c", "description": "Created locks" },
	"LCK.smp.destroy": {"type": "LCK", "ident": "smp", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.smp.locks": {"type": "LCK", "ident": "smp", "value": 0, "flag": "c", "description": "Lock Operations" },
	"LCK.vbe.creat": {"type": "LCK", "ident": "vbe", "value": 1, "flag": "c", "description": "Created locks" },
	"LCK.vbe.destroy": {"type": "LCK", "ident": "vbe", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.vbe.locks": {"type": "LCK", "ident": "vbe", "value": 43, "flag": "c", "description": "Lock Operations" },
	"LCK.vcapace.creat": {"type": "LCK", "ident": "vcapace", "value": 1, "flag": "c", "description": "Created locks" },
	"LCK.vcapace.destroy": {"type": "LCK", "ident": "vcapace", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.vcapace.locks": {"type": "LCK", "ident": "vcapace", "value": 0, "flag": "c", "description": "Lock Operations" },
	"LCK.vcl.creat": {"type": "LCK", "ident": "vcl", "value": 1, "flag": "c", "description": "Created locks" },
	"LCK.vcl.destroy": {"type": "LCK", "ident": "vcl", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.vcl.locks": {"type": "LCK", "ident": "vcl", "value": 31, "flag": "c", "description": "Lock Operations" },
	"LCK.vxid.creat": {"type": "LCK", "ident": "vxid", "value": 1, "flag": "c", "description": "Created locks" },
	"LCK.vxid.destroy": {"type": "LCK", "ident": "vxid", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.vxid.locks": {"type": "LCK", "ident": "vxid", "value": 4, "flag": "c", "description": "Lock Operations" },
	"LCK.waiter.creat": {"type": "LCK", "ident": "waiter", "value": 3, "flag": "c", "description": "Created locks" },
	"LCK.waiter.destroy": {"type": "LCK", "ident": "waiter", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.waiter.locks": {"type": "LCK", "ident": "waiter", "value": 49, "flag": "c", "description": "Lock Operations" },
	"LCK.wq.creat": {"type": "LCK", "ident": "wq", "value": 4, "flag": "c", "description": "Created locks" },
	"LCK.wq.destroy": {"type": "LCK", "ident": "wq", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.wq.locks": {"type": "LCK", "ident": "wq", "value": 863, "flag": "c", "description": "Lock Operations" },
	"LCK.wstat.creat": {"type": "LCK", "ident": "wstat", "value": 1, "flag": "c", "description": "Created locks" },
	"LCK.wstat.destroy": {"type": "LCK", "ident": "wstat", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.wstat.locks": {"type": "LCK", "ident": "wstat", "value": 60, "flag": "c", "description": "Lock Operations" },
	"LCK.sma.creat": {"type": "LCK", "ident": "sma", "value": 2, "flag": "c", "description": "Created locks" },
	"LCK.sma.destroy": {"type": "LCK", "ident": "sma", "value": 0, "flag": "c", "description": "Destroyed locks" },
	"LCK.sma.locks": {"type": "LCK", "ident": "sma", "value": 24, "flag": "c", "description": "Lock Operations" }
}

Rrd saved. OK


GET


{
    "caches": "Group: Group1\n - Cache: 127.0.0.1:6001_/var/lib/varnish/a - Status: Ok\n - Cache: 127.0.0.1:6002_/var/lib/varnish/b - Status: Ok\nGroup: another\n - Cache: 127.0.0.1:6003_/var/lib/varnish/c - Status: Ok\n - Cache: 127.0.0.1:6004_/var/lib/varnish/d - Status: Ok\n - Cache: 127.0.0.1:6005_/var/lib/varnish/e - Status: Ok\n",
    "database": "Mongo db 127.0.0.1:27017 - Status: Ok\n",
    "license": "OK"
}

License: OK

Database:
Mongo db 127.0.0.1:27017 - Status: Ok

Groups:
Group: Group1
 - Cache: 127.0.0.1:6001_/var/lib/varnish/a - Status: Ok
 - Cache: 127.0.0.1:6002_/var/lib/varnish/b - Status: Ok
Group: another
 - Cache: 127.0.0.1:6003_/var/lib/varnish/c - Status: Ok
 - Cache: 127.0.0.1:6004_/var/lib/varnish/d - Status: Ok
 - Cache: 127.0.0.1:6005_/var/lib/varnish/e - Status: Ok


GET


{
    "message": "Mongo db 127.0.0.1:27017 - Status: Ok\n"
}

Mongo db 127.0.0.1:27017 - Status: Ok


GET

{
    "message": "Group: Group1\n - Cache: 127.0.0.1:6001_/var/lib/varnish/a - Status: Ok\n - Cache: 127.0.0.1:6002_/var/lib/varnish/b - Status: Ok\nGroup: another\n - Cache: 127.0.0.1:6003_/var/lib/varnish/c - Status: Ok\n - Cache: 127.0.0.1:6004_/var/lib/varnish/d - Status: Ok\n - Cache: 127.0.0.1:6005_/var/lib/varnish/e - Status: Ok\n"
}

Group: Group1
 - Cache: 127.0.0.1:6001_/var/lib/varnish/a - Status: Ok
 - Cache: 127.0.0.1:6002_/var/lib/varnish/b - Status: Ok
Group: another
 - Cache: 127.0.0.1:6003_/var/lib/varnish/c - Status: Ok
 - Cache: 127.0.0.1:6004_/var/lib/varnish/d - Status: Ok
 - Cache: 127.0.0.1:6005_/var/lib/varnish/e - Status: Ok


Restricted API

POST


POST

Curl example:

    curl -u vac:vac -i -F file=@license http://<vac>/api/v1/license/upload

{"message":"Writing content to tmp location /var/folders/zb/nwy804td3hsc7930c0w116lc0000gn/T/license-vac.tmp. OK. Validating the content. OK. Switching over to the new license. OK, /tmp/john.doe.license: License loaded, licensed to Varnish Software AS expires on 23.07.2100."}


GET

{
"companyname": "Varnish Software AS",
"contact": "John Doe",
"email": "john.doe@varnish-software.com",
"expiration": "23.07.2020",
"file": "/tmp/john.doe.license"
}