Bindplane

The Bindplane Developer Hub

Welcome to the Bindplane developer hub. You'll find comprehensive guides and documentation to help you start working with Bindplane as quickly as possible, as well as support if you get stuck. Let's jump right in!

Windows Support

Varnish claims that support for Windows is Not Ready For Production. Therefore, this source has only been tested to work with *nix systems.

Data Collection Setup

The collector interacts with several executables that are packaged with Varnish. The most important executables are:
varnishadm
varnishstat

These executables have the following requirements:

  • Know the locations of each executable
    AND/OR
  • Include these executables within the User's $PATH variable

Network Requirements

Remote Connections to Collector

When using a collector where a remote connection over SSH is required, the system where the collector is installed must be able to connect to the Varnish host system over the network. There are two ways to accomplish this:

  1. Add the collector system's information to the known_hosts file on the Varnish system
    OR
  2. Set the Strict Key Checking parameter to false when configuring the connection parameters in BindPlane.

Connection Parameters

Name
Required?
Description

Working Directory

The varnishd working directory (also known as instance name).

Executable Directory

The directory where the varnishadm and varnishstat executables are located. If not provided, will default to relying on the executables being in the user's PATH.

Connection Type

Local collection or collect from a remote host over SSH.

Username

Required

Password

Host

Required

Strict Key Checking

Require host key to be present in known_hosts file to make remote connection.

Connection Timeout

SSH connection timeout in seconds.

Metrics

Backend

Name
Description

Admin Health

Health of the backend.

Backend Request Body Data (Bytes)

Amount of backend request body data sent.

Backend Request Header Data (Bytes)

Amount of backend request header data sent.

Backend Requests (Requests)

Backend requests sent.

Backend Response Body Data (Bytes)

Amount of backend response body data received.

Backend Response Header Data (Bytes)

Amount of backend response header data received.

Concurrent Connections (Connections)

Concurrent connections to the backend.

Connections Failed (Connections)

All failed connections. All connectionsfailed* counters may be slightly inaccurate for efficiency.

Connections Failed with EACCES or EPERM (Connections)

Connections failed with EACCES or EPERM. All connectionsfailed* counters may be slightly inaccurate for efficiency.

Connections Failed with EADDRNOTAVAIL (Connections)

Connections failed with EADDRNOTAVAIL. All connectionsfailed* counters may be slightly inaccurate for efficiency.

Connections Failed with ECONNREFUSED (Connections)

Connections failed with ECONNREFUSED. All connectionsfailed* counters may be slightly inaccurate for efficiency.

Connections Failed with ENETUNREACH (Connections)

Connections failed with ENETUNREACH. All connectionsfailed* counters may be slightly inaccurate for efficiency.

Connections Failed ETIMEDOUT (Connections)

Connections failed with ETIMEDOUT. All connectionsfailed* counters may be slightly inaccurate for efficiency.

Connections Failed for Other Reason (Connections)

Connections failed for other reasons. All connectionsfailed* counters may be slightly inaccurate for efficiency.

Connection Opens Not Attempted (Connections)

Connections not attempted during the backend_local_error_holddown or backend_remote_error_holddown interval after a fundamental connection issue.

Fetches not Attempted due to Backend Being Busy

Number of times the max_connections limit was reached.

Fetches not Attempted due to Backend Being Unhealthy.

Fetches not attempted due to backend being unhealthy.

Last Change

Timestamp of the last status change of the backend.

Name

The name of the backend.

Piped Data from Backend (Bytes)

Amount of data forwarded from backend in pipe sessions.

Piped Data to Backend (Bytes)

Amount of data forwarded to backend in pipe sessions.

Piped Request Header Data (Bytes)

Amount of request data sent for piped sessions.

Probe Health

Health of the probe.

Cache

Name
Description

Active Pipe Sessions (Sessions)

Number of ongoing pipe sessions.

Backend Connection Success (Connections)

Number of backend connections have successfully been established.

Backend Connections Failed (Connections)

Number of backend connections were attempted but not successfully established.

Backend Connections Not Attempted Busy (Connections)

Number of backend connections were not attempted because the maximum backend connections count was exceeded.

Backend Connections Not Attempted Unhealthy (Connections)

Number of backend connections were not attempted because the backend was not healthy.

Backend Connections Recycled (Connections)

Number of times a keep-alive connection has been put back into the pool of connections. It has not yet been used, but it might be, unless the backend closes it.

Backend Connections Retried (Connections)

Number of times a connection to a backend was retried because a recycled connection was closed before we could reuse it.

Backend Connections Reused (Connections)

Number of times a recycled connection has been reused.

Backend Connections Closed (Connections)

Number of times a connection to a backend was closed before we could reuse it. This metric only exists in version 3.X.

Request Body Data (Bytes)

Amount of request body data received.

Request Header Data (Bytes)

Amount of request header data received.

Backend Requests (Requests)

Number of Backend requests made.

Response Body Data (Bytes)

Amount of response body data transmitted.

Response Header Data (Bytes)

Amount of response header data transmitted.

Number of backends

Number of backends known to Varnish.

Bans

Number of all bans in system, including bans superseded by newer bans and bans already checked by the ban-lurker.

Bans Added

Number of bans added to ban list.

Bans Marked Completed

Number of bans which are no longer active, either because they got checked by the ban-lurker or superseded by newer identical bans.

Bans Deleted

Number of bans deleted from ban list.

Bans Superseded by Other Bans

Number of bans replaced by later identical bans.

Ban-Lurker Waits for Lookup

Number of times the ban-lurker had to wait for lookups.

Objects Killed by Ban-Lurker

Number of objects killed by the ban-lurker.

Objects Killed for Cutoff by Ban-Lurker

Number of objects killed by the ban-lurker to keep the number of bans below ban_cutoff.

Bans Tested by Ban-Lurker

Number of bans and objects tested against each other by the ban-lurker.

Ban Tests Tested by Ban-Lurker

Number of tests and objects tested against each other by the ban-lurker. 'ban req.url == foo && req.http.host == bar' counts as one in 'bans_tested' and as two in 'bans_tests_tested'.

Objects Killed by Bans

Number of objects killed by bans during object lookup.

Persisted Ban Lists Size (Bytes)

Amount of data used by the persisted ban lists.

Fragmentation in Persistent Ban Lists (Bytes)

Amount of extra data accumulated through dropped and completed bans in the persistent ban lists.

Bans Tested

Number of bans and objects tested against each other during hash lookup.

Ban Tests Tested

Number of tests and objects tested against each other during lookup. 'ban req.url == foo && req.http.host == bar' counts as one in 'bans_tested' and as two in 'bans_tests_tested'.

Bans Using obj.*

Number of bans which use obj.* variables. These bans can possibly be washed by the ban-lurker.

Bans Using req.*

Number of bans which use req.* variables. These bans can not be washed by the ban-lurker.

Requests Killed after Sleep

Number of requests killed from the busy object sleep list due to lack of resources.

Requests Sent to Sleep

Number of requests sent to sleep without a worker thread because they found a busy object.

Requests Woken after Sleep

Number of requests taken off the busy object sleep list and rescheduled.

Cache Hits for Miss

A cache hit for miss indicates that Varnish is going to proceed as for a cache miss without request coalescing, and this decision has been cached. This counts how many times the cached decision is being used.

Cache Hits for Pass

A cache hit for pass indicates that Varnish is going to pass the request to the backend and this decision has been cached in itself. This counts how many times the cached decision is being used.

Cache Hits

A cache hit indicates that an object has been delivered to a client without fetching it from a backend server.

Cache Grace Hits

A cache hit with grace is a cache hit where the object is expired. Note that such hits are also included in the cache_hit Counter.

Cache Misses

A cache miss indicates the object was fetched from the backend before delivering it to the client.

Child Process Died due to Signal

Number of times the child process has died due to signals.

Child Process Core Dumps

Number of times the child process has produced core dumps.

Child Process Normal Exits

Number of times the child process has been cleanly stopped.

Child Process Panics

Number of times the management process has caught a child panic.

Child Process Starts

Number of times the child process has been started.

Child Process Unexpected Exits

Number of times the child process has exited with an unexpected return code.

Child Process Uptime (Seconds)

How long the child process has been running.

Client Connections Dropped Late (Connections)

Number of times a client connection was closed before we could respond. This metric only exists in version 3.X.

Client Requests Received Subject to HTTP 400 Errors (Requests)

An HTTP 400 response means varnish could not make sense of the request, it was malformed in some drastic way.

Client Requests Received Subject to HTTP 417 Errors (Requests)

An HTTP 417 response means that something went wrong with an Expect: header.

Good Client Requests Received (Requests)

The count of parseable client requests.

Deliveries Failed due to Insufficient Workspace

Number of times we failed a response due to running out of workspace memory during delivery.

DNS Director Lookup Cache Hits

Number of DNS Director cached lookups hit. This metric only exists in version 3.X.

DNS Director Failed Lookups

Number of failed DNS Director lookups. This metric only exists in version 3.X.

DNS Director Full DNSCache

Number of times the DNS Director lookup cache did not have space for new entries. This metric only exists in version 3.X.

DNS Director Lookups

Number of DNS Director lookups. This metric only exists in version 3.X.

ESI Parse Errors

Number of ESI parse errors (unlock).

ESI Parse Warnings

Number of ESI parse warnings (unlock).

Expired Objects

Number of objects that expired from cache because of old age.

Objects Mailed to Expiry Thread

Number of objects mailed to expiry thread for handling.

Objects Received by Expiry Thread

Number of objects received by expiry thread for handling.

Fetch HTTP 1XX

Number of backend responses with no body because of 1XX response.

Fetch HTTP 204

Number of backend responses with no body because of 204 response.

Fetch HTTP 304

Number of backend responses with no body because of 304 response.

Fetch Bad Headers

Number of backend response bodies where length/fetch could not be determined.

Fetch Chunked

Number of backend response bodies with transfer-encoding Chunked. This means that the message length could not be determined in advance.

Fetch EOF

Number of backend response bodies with EOF.

Fetch Failed

Number of failed backend response fetches.

Fetch Failed No Thread

Number of failed backend response fetches because no thread was available.

Fetch HEAD

Number of backend responses for a HEAD request (contains no body).

Fetch with Length

Number of backend response bodies with a Content-Length.

Fetch No Body

Number of backend response bodies that were empty.

Backend Fetches Initiated

Number of backend fetches initiated.

Gunzip Operations

Number of gunzip operations.

Gzip Operations

Number of gzip operations.

HCB Inserts

Number of HCB Inserts.

HCB Lookups with Lock

Number of HCB Lookups with lock.

HCB Lookups without Lock

Number of HCB Lookups without lock.

Host

The host of the Varnish Cache.

HTTP Sessions Dropped (Sessions)

Number of times an HTTP/1 session was dropped because the thread queue was too long already. See also parameter thread_queue_limit.

HTTP Header Overflows

HTTP header overflows.

Nuke Limit Reached

Number of times more storage space was needed, but limit was reached in a nuke_limit. See also parameter nuke_limit.

LRU Moved Objects

Number of move operations done on the LRU list.

LRU Nuked Objects

Number of objects that have been forcefully evicted from storage to make room for a new object.

Object Metadata Elements in Cache

Approximate number of object metadata elements in the cache. Each object needs an objectcore, extra objectcores are for hit-for-miss, hit-for-pass and busy objects.

Hash Entries in Cache

Approximate number of different hash entries in the cache.

Objects in Cache

Approximate number of HTTP objects (headers + body, if present) in the cache.

Objects Overflowing Workspace

Number of objects overflowing workspace. This metric only exists in version 3.X.

Objects Purged

Number of purged objects.

Objects Sent with Sendfile

Number of objects sent with sendfile. This metric only exists in version 3.X.

Objects Sent with Write

Number of objects sent with write. This metric only exists in version 3.X.

Passed Requests (Requests)

Number of pass-ed requests seen by Varnish.

Pipe Sessions (Sessions)

Number of pipe sessions seen by Varnish.

Pipes Limited (Sessions)

Number of times more pipes were needed, but the limit was reached. See also parameter pipe_sess_max.

Piped Data from Client (Bytes)

Amount of data forwarded from clients in pipe sessions.

Piped Data to Client (Bytes)

Amount of data forwarded to clients in pipe sessions.

Piped Request Header Data (Bytes)

Amount of request data received for piped sessions.

Purge Operations

Number of purge operations executed.

Requests Dropped (Requests)

Number of times an HTTP/2 stream was refused because the thread queue was too long already. See also parameter thread_queue_limit.

Sessions (Sessions)

Number of sessions seen by Varnish.

Sessions Closed (Sessions)

Number of sessions closed.

Session Closed with Error (Sessions)

Number of sessions closed with errors. See sessionsclosed* diag Counters for detailed breakdown.

Sessions Closed Error OVERLOAD (Sessions)

Number of sessions closed with Error OVERLOAD (Out of some resource).

Sessions Closed Error PIPE_OVERFLOW (Sessions)

Number of sessions closed with Error PIPE_OVERFLOW (Session pipe overflow).

Sessions Closed Error RANGE_SHORT (Sessions)

Number of sessions closed with Error RANGE_SHORT (Insufficient data for range).

Sessions Closed Error REQ_HTTP10 (Sessions)

Number of sessions closed with Error REQ_HTTP10 (Proto < HTTP/1.1).

Sessions Closed Error REQ_HTTP20 (Sessions)

Number of sessions closed with Error REQ_HTTP20 (HTTP2 not accepted).

Sessions Closed Error RX_BAD (Sessions)

Number of sessions closed with Error RX_BAD (Received bad req/resp).

Sessions Closed Error RX_BODY (Sessions)

Number of sessions closed with Error RX_BODY (Failure receiving req.body).

Sessions Closed Error RX_JUNK (Sessions)

Number of sessions closed with Error RX_JUNK (Received junk data).

Sessions Closed Error RX_OVERFLOW (Sessions)

Number of sessions closed with Error RX_OVERFLOW (Received buffer overflow).

Sessions Closed Error RX_TIMEOUT (Sessions)

Number of sessions closed with Error RX_TIMEOUT (Receive timeout).

Sessions Closed Error TX_ERROR (Sessions)

Number of sessions closed with Error TX_ERROR (Error transaction).

Sessions Closed Error VCL_FAILURE (Sessions)

Number of sessions closed with Error VCL_FAILURE (VCL failure).

Sessions Closed OK REM_CLOSE (Sessions)

Number of sessions closed with REM_CLOSE (Client Closed).

Sessions Closed OK REQ_CLOSE (Sessions)

Number of sessions closed with REQ_CLOSE (Client requested close).

Session Closed OK RESP_CLOSE (Sessions)

Number of sessions closed with RESP_CLOSE (Backend/VCL requested close).

Session Closed OK TX_EOF (Sessions)

Number of sessions closed with TX_EOF (EOF transmission).

Session Closed OK TX_PIPE (Sessions)

Number of sessions closed with TX_PIPE (Piped transaction).

Sessions Accepted (Sessions)

Count of sessions successfully accepted.

Sessions Dropped (Sessions)

Count of sessions silently dropped due to lack of worker thread.

Session Accept Failures (Sessions)

Count of failures to accept TCP connection. This Counter is the sum of the sessionsfailed* Counters, which give more detailed information.

Session Accept Failures: Bad File Descriptor (Sessions)

Session accept failed because the listen socket file descriptor was invalid. Should never happen.

Session Accept Failures: Connection Aborted (Sessions)

Session accept failed because the connection was aborted by the client, usually harmless.

Session Accept Failures: Too Many Open Files (Sessions)

Session accept failed because no file descriptor was available. Consider raising RLIMIT_NOFILE (see ulimit -n).

Session Accept Failures: Not Enough Memory (Sessions)

Session accept failed because most likely insufficient socket buffer memory. Should never happen.

Session Accept Failures: Interrupted System Call (Sessions)

Session accept failed because the accept() call was interrupted, usually harmless.

Session Accept Failures: Other (Sessions)

Session accept failed for non-categorized reason, see SessError log for details (varnishlog -g raw -i SessError).

Sessions Herded (Sessions)

Number of times the timeout_linger triggered and a session released its thread. This allows a thread to be shared between multiple request sessions while the backend processes a request.

Sessions Lingering (Sessions)

Number of sessions reinitialized after use with the timeout_linger enabled. This metric only exists in version 3.X.

Sessions Queued (Sessions)

Number of times session was queued waiting for a thread. See also parameter thread_queue_limit.

Sessions Read Ahead (Sessions)

Session read ahead.

Sessions with Pipelined Input (Sessions)

Number of sessions reinitialized with pipelined input. This metric only exists in version 3.X.

SHM Mutex Contention

Number of EBUSY errors when attempting to write to SHM.

SHM Cycles

Number of SHM cycles wrapping through buffer.

SHM Flushes

Number of SHM flushes due to overflow.

SHM Records

Number of SHM records.

SHM Writes

Number of SHM writes.

Status

The status of the child process.

Stat Summ Operations

Number of times per-thread statistics were summed into the global Counters.

Synthetic Response

Number of synthetic responses made by Varnish.

Test Gunzip Operations

Those operations occur when Varnish receives a compressed object from a backend. They are done to verify the gzip stream while it's inserted in storage.

Thread Pools

Number of thread pools (see also parameter thread_pools). Pools cannot be removed once created.

Length of Session Queue

Length of session queue waiting for threads. See also parameter thread_queue_limit.

Number of Threads

Number of threads in all pools. See also parameters thread_pools, thread_pool_min and thread_pool_max.

Threads Created

Number of threads created in all pools.

Threads Destroyed

Number of threads destroyed in all pools.

Thread Creation Failed

Number of times creating a thread failed. See VSL::Debug for diagnostics. See also parameter thread_fail_delay.

Threads Requested but Limited

Number of times more threads were needed, but limit was reached in a thread pool. See also parameter thread_pool_max.

Management process uptime (Seconds)

Uptime of the management process.

Unresurrected Objects

Number of unresurrected objects.

VBCs

Number of VBC structs. This metric only exists in version 3.X.

Loaded VLCs

Number of loaded VCLs in total.

VCLs Available

Number of VCLs available.

Discarded VCLs

Number of discarded VCLs.

VCL Failures

Number of failures which prevented VCL from completing.

Version

The version of Varnish Cache installed.

Loaded VMODs

Number of loaded VMODs.

Hash Waiting List Size

Size of hash waiting list. This metric only exists in version 3.X.

Workspace Backend Overflows

Number of times we ran out of space in workspace_backend.

Workspace Client Overflows

Number of times we ran out of space in workspace_client.

Workspace Session Overflows

Number of times we ran out of space in workspace_session.

Workspace Thread Overflows

Number of times we ran out of space in workspace_thread.

Lock Class

Name
Description

Class

The class of mutex-lock.

Contended Lock Operations

Lock operations which returned EBUSY on the first locking attempt. If the lck debug bit is unset, this counter will never be incremented even if lock operations are contended.

Contended Trylock Operations

Trylock operations which returned EBUSY. If the lck debug bit is unset, this counter will never be incremented even if lock operations are contended.

Created Locks

Created locks.

Destroyed Locks

Destroyed locks.

Lock Operations

Lock Operations.

Memory Pool

Name
Description

Allocations

Allocations on items in the pool.

Frees

Free operations on items in use.

In Pool

Number of items available in memory pool.

In Use

Number of items currently in use.

Name

The name of the memory pool.

Pool Ran Dry

Number of times that no items were in pool when an allocation was attempted.

Recycled Items

Number of reused items from the pool.

Size Allocated (Bytes)

Allocated size of the pool.

Size Requested (Bytes)

Requested size of the pool.

Surplus Items Removed

Number of items removed from pool because the maximum size was exceeded.

Timed Out Items Removed

Number of items removed from pool because they had exceeded the maximum age since the last time used.

Too Small to Recycle

Number of items that were chosen for recycle but were too small.

Storage Device

Name
Description

Data Allocated (Bytes)

Amount of data allocated by this storage.

Current Allocations

Number of storage allocations outstanding.

Allocator Failures

Number of times the storage has failed to provide a storage segment.

Allocator Requests

Number of times the storage has been asked to provide a storage segment.

Space Available (Bytes)

Amount of data left in the storage.

Current Allocated Data (Bytes)

Amount of data currently allocated from the storage.

Allocations on File

Number of allocated ranges on file. This metric is only available for File storage devices.

Data Freed (Bytes)

Amount of data returned to this storage.

Large File Allocations Free

Number of large free allocated ranges on file. This metric is only available for File storage devices.

Name

The name of the storage device.

Small File Allocations Free

Number of small free allocated ranges on file. This metric is only available for File storage devices.

Type

Storage device type.

Updated about a month ago

Varnish


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.