Varnish计数器¶
Varnish计数器字段定义¶
- 手册部分:
7
锁定-锁定计数器¶
跟踪不同类型的互斥锁中的活动的计数器。
如果每个类中实例化了一个以上的锁(即.creat>1),则计数可能会略有错误
creat
- counter -调试
已创建的锁
destroy
- counter -调试
被破坏的锁
locks
- counter -调试
锁定操作
dbg_busy
- counter -调试
争用锁操作
如果
lck
设置调试位:锁定在第一次锁定尝试时返回EBUSY的操作。如果
lck
未设置调试位,则即使争用锁定操作,此计数器也永远不会递增。
dbg_try_fail
- counter -调试
争用的尝试锁定操作
如果
lck
调试位已设置:返回EBUSY的Trylock操作。如果
lck
未设置调试位,则即使争用锁定操作,此计数器也永远不会递增。
主-主计数器¶
summs
- counter -调试
统计求和运算
将每个线程的统计信息汇总到全局计数器中的次数。
uptime
- counter -信息
子进程正常运行时间
子进程运行了多长时间。
sess_conn
- counter -信息
已接受的会话
成功接受的会话计数
sess_fail
- counter -信息
会话接受失败
接受TCP连接失败的计数。
此计数器是SESS_FAIL_*计数器的总和,它提供更详细的信息。
sess_fail_econnaborted
- counter -信息
会话接受失败:连接已中止
SESS_FAIL的详细原因:连接被客户端中止,通常是无害的。
sess_fail_eintr
- counter -信息
会话接受失败:中断的系统调用
SESS_FAIL的详细原因:Accept()调用被中断,通常无害
sess_fail_emfile
- counter -信息
会话接受失败:打开的文件太多
SESS_FAIL的详细原因:没有可用的文件描述符。考虑提高RLIMIT_NOFILE(参见ulimit-n)。
sess_fail_ebadf
- counter -信息
会话接受失败:文件描述符错误
SESS_FAIL的详细原因:侦听套接字文件描述符无效。这永远不会发生。
sess_fail_enomem
- counter -信息
会话接受失败:内存不足
SESS_FAIL的详细原因:很可能是套接字缓冲区内存不足。永远不应该发生
sess_fail_other
- counter -信息
会话接受失败:其他
SESS_FAIL的详细原因:以上都不是,参见SessError日志(varnishlog-g raw-i SessError)。
client_req_400
- counter -信息
已收到客户端请求,可能会出现400个错误
400意味着我们无法理解这个请求,它在某种程度上是错误的。
client_req_417
- counter -信息
收到的客户端请求,可能会出现417个错误
417表示Expect:头出了问题。
client_req
- counter -信息
收到良好的客户端请求
看到的可解析客户端请求的计数。
esi_req
- counter -信息
ESI子请求
发出的ESI子请求数。
cache_hit
- counter -信息
缓存命中
缓存命中计数。缓存命中表示对象已被交付到客户端,而没有从后端服务器获取该对象。
cache_hit_grace
- counter -信息
缓存宽限命中
宽限缓存命中计数。宽限缓存命中是对象到期的缓存命中。请注意,这些命中也包括在CACHE_HIT计数器中。
cache_hitpass
- counter -信息
传球的缓存命中率。
传球命中次数。PASS的缓存命中表明Varnish将把请求传递到后端,而这个决定本身已经缓存了。这计算了缓存的决策被使用了多少次。
cache_hitmiss
- counter -信息
未命中的缓存命中。
未命中的点击数。未命中的缓存命中表示Varnish将在没有合并请求的情况下继续进行缓存未命中,并且此决定已被缓存。这计算了缓存的决策被使用了多少次。
cache_miss
- counter -信息
缓存未命中
未命中次数。缓存未命中表示对象在传递到客户端之前是从后端获取的。
beresp_uncacheable
- counter -信息
不可缓存的后端响应
被认为不可缓存的后端响应计数。
beresp_shortlived
- counter -信息
短命的对象
使用TTL+GREASS+Keep创建的对象的计数比‘Short Living’运行时参数短。
backend_conn
- counter -信息
后端连接。成功
已成功建立多少个后端连接。
backend_unhealthy
- counter -信息
后端连接。未尝试
backend_busy
- counter -信息
后端连接。太多
backend_fail
- counter -信息
后端连接。故障
backend_reuse
- counter -信息
后端连接。重复使用
后端连接重复使用计数。每当我们重新使用回收的连接时,此计数器都会增加。
backend_recycle
- counter -信息
后端连接。回收利用
后端连接回收计数。每当我们将保持活动的连接放回到连接池中时,此计数器就会增加。它还没有被使用,但它可能会被使用,除非后端关闭它。
backend_retry
- counter -信息
后端连接。重试
fetch_head
- counter -信息
取不到正文(头)
不带正文的beresp,因为请求是Head。
fetch_length
- counter -信息
按长度取数
带有内容长度的beres.Body。
fetch_chunked
- counter -信息
获取区块
浆果。有块的身体。
fetch_eof
- counter -信息
获取EOF
贝尔斯。身体上有EOF。
fetch_bad
- counter -信息
获取错误的T-E
无法确定beresp.Body长度/FETCH。
fetch_none
- counter -信息
找不到身体
贝尔斯.身体空虚
fetch_1xx
- counter -信息
未取出正文(1XX)
由于1XX响应而没有正文的beresp。
fetch_204
- counter -信息
未获取正文(204)
由于204响应,所以没有身体。
fetch_304
- counter -信息
未取出正文(304)
因为304反应,所以没有身体。
fetch_failed
- counter -信息
获取失败(所有原因)
Beresp获取失败。
bgfetch_no_thread
- counter -信息
后台回迁失败(无线程)
由宽限命中触发的bgfetch失败,没有可用的线程。
pools
- gauge -信息
线程池数
线程池的数量。另请参阅参数THREAD_POLS。注意:目前,池一旦创建就无法删除。
threads
- gauge -信息
线程总数
所有池中的线程数。另请参阅参数线程池、线程池最小和线程池最大。
threads_limited
- counter -信息
线程命中最大值
需要更多线程,但已达到线程池限制的次数。另请参见参数线程池最大值。
threads_created
- counter -信息
创建的线程
在所有池中创建的线程总数。
threads_destroyed
- counter -信息
线程已销毁
所有池中销毁的线程总数。
threads_failed
- counter -信息
线程创建失败
创建线程失败的次数。有关诊断信息,请参阅VSL::DEBUG。另请参阅参数THREAD_FAIL_Delay。
thread_queue_len
- gauge -信息
会话队列的长度
等待线程的会话队列长度。注:每秒仅更新一次。另请参阅参数ThREAD_QUEUE_LIMIT。
busy_sleep
- counter -信息
在繁忙的objhdr上发送休眠的请求数
由于发现忙碌对象而发送到休眠状态而没有工作线程的请求数。
busy_wakeup
- counter -信息
在繁忙对象上休眠后唤醒的请求数
从忙对象休眠列表中删除并重新调度的请求数。
busy_killed
- counter -信息
在繁忙的objhdr上休眠后终止的请求数
由于资源不足而从繁忙对象休眠列表中终止的请求数。
sess_queued
- counter -信息
排队等待线程的会话
会话排队等待线程的次数。另请参阅参数ThREAD_QUEUE_LIMIT。
sess_dropped
- counter -信息
已为线程删除会话
由于队列已经太长而丢弃HTTP/1会话的次数。另请参阅参数ThREAD_QUEUE_LIMIT。
req_dropped
- counter -信息
请求已丢弃
由于队列已经太长而拒绝HTTP/2流的次数。另请参阅参数ThREAD_QUEUE_LIMIT。
req_reset
- counter -信息
请求重置
客户端在VCL处理其请求完成之前离开的次数。对于HTTP/2会话,流被来自客户端的RST_STREAM帧重置,或者出现流或连接错误。
n_object
- gauge -信息
生成的对象结构
缓存中的HTTP对象(标头+正文,如果存在)的近似数量。
n_vampireobject
- gauge -诊断
未复活的物体
未复活的对象数量
n_objectcore
- gauge -信息
生成的对象核心结构
缓存中对象元数据元素的近似数量。每个对象都需要一个对象核心,额外的对象核心用于命中未命中、命中传球和繁忙对象。
n_objecthead
- gauge -信息
生成的对象头结构
缓存中不同哈希条目的近似数量。
n_backend
- gauge -信息
后端数量
我们已知的后端数量。
n_expired
- counter -信息
过期对象的数量
缓存中因过期而过期的对象数。
n_lru_nuked
- counter -信息
LRU核对象的数量
为了给新对象腾出空间,已从存储中强制移出了多少个对象。
n_lru_moved
- counter -诊断
LRU移动的对象数
在LRU列表上完成的移动操作数。
n_lru_limited
- counter -信息
已达到核限制
需要更多存储空间,但在NUKE_LIMIT中达到限制的次数。另请参见参数nuke_Limit。
losthdr
- counter -信息
HTTP报头溢出
s_sess
- counter -信息
查看的会话总数
n_pipe
- gauge -信息
正在进行的管道会话数
pipe_limited
- counter -信息
管道命中PIPE_SESS_MAX
需要更多管道,但已达到限制的次数。另请参见参数管道_会话_最大值。
s_pipe
- counter -信息
看到的总管道会话数
s_pass
- counter -信息
已查看的已传递请求总数
s_fetch
- counter -信息
启动的后端获取总数
启动的后端获取总数,包括后台获取。
s_bgfetch
- counter -信息
启动的后端后台获取总数
s_synth
- counter -信息
做出的总合成反应
s_req_hdrbytes
- counter -信息
请求头字节数
接收的总请求标头字节数
s_req_bodybytes
- counter -信息
请求正文字节
接收的总请求正文字节数
s_resp_hdrbytes
- counter -信息
响应头字节数
传输的总响应头字节数
s_resp_bodybytes
- counter -信息
响应正文字节
传输的总响应正文字节数
s_pipe_hdrbytes
- counter -信息
管道请求头字节数
为管道会话接收的总请求字节数
s_pipe_in
- counter -信息
来自客户端的管道字节数
在管道会话中从客户端转发的总字节数
s_pipe_out
- counter -信息
通过管道传输到客户端的字节数
在管道会话中转发到客户端的总字节数
sess_closed
- counter -信息
会话已关闭
sess_closed_err
- counter -信息
会话已关闭,出现错误
因错误而关闭的会话总数。有关详细细目,请参阅sc_*diag计数器
sess_readahead
- counter -信息
会话预读
sess_herd
- counter -诊断
会话群组
TIMEOUT_LINGER触发次数
sc_rem_close
- counter -诊断
会话正常REM_CLOSE
使用REM_CLOSE关闭的会话数(客户端已关闭)
sc_req_close
- counter -诊断
会话正常REQ_CLOSE
使用REQ_CLOSE关闭的会话数(客户端请求关闭)
sc_req_http10
- counter -诊断
会话错误REQ_HTTP10
出现错误REQ_HTTP10的会话关闭数(PROTO<HTTP/1.1)
sc_rx_bad
- counter -诊断
会话错误RX_BAD
由于错误RX_BAD而关闭的会话数(收到错误请求/响应)
sc_rx_body
- counter -诊断
会话错误RX_Body
会话关闭数,错误为RX_BODY(接收请求正文失败)
sc_rx_junk
- counter -诊断
会话错误RX_Junk
由于错误RX_Junk(收到垃圾数据)而关闭的会话数
sc_rx_overflow
- counter -诊断
会话错误rx_overflow
由于错误RX_OVERFLOW(收到缓冲区溢出)而关闭的会话数量
sc_rx_timeout
- counter -诊断
会话错误RX_超时
由于错误RX_TIMEOUT(接收超时)而关闭的会话数量
sc_rx_close_idle
- counter -诊断
会话错误RX_CLOSE_IDLE
会话关闭数,错误为RX_CLOSE_IDLE:等待客户端请求时已超过TIMEOUT_IDLE。
sc_tx_pipe
- counter -诊断
会话正常发送管道
使用TX_PIPE(管道事务)关闭的会话数量
sc_tx_error
- counter -诊断
会话错误Tx_Error
由于错误TX_ERROR(错误事务)而关闭的会话数量
sc_tx_eof
- counter -诊断
会话正常TX_EOF
使用TX_EOF(EOF传输)关闭的会话数量
sc_resp_close
- counter -诊断
会话正常响应关闭(_C)
使用RESP_CLOSE关闭的会话数量(后端/VCL请求关闭)
sc_overload
- counter -诊断
会话错误过载
因错误过载而关闭的会话数量(某些资源不足)
sc_pipe_overflow
- counter -诊断
会话错误管道溢出(_O)
出现错误PIPE_OVERFLOW(会话管道溢出)的会话关闭数
sc_range_short
- counter -诊断
会话错误范围较短(_S)
出现错误RANGE_SHORT的会话关闭数(范围数据不足)
sc_req_http20
- counter -诊断
会话错误REQ_HTTP20
出现错误REQ_HTTP20(不接受HTTP2)的会话关闭数
sc_vcl_failure
- counter -诊断
会话错误VCL_FAILURE
出现错误VCL_FAILURE(VCL失败)的会话关闭数
sc_rapid_reset
- counter -诊断
会话错误RAPID_RESET
我们失败http/2会话的次数,因为它达到了允许的快速流重置次数的配置限制。
client_resp_500
- counter -诊断
由于工作空间不足,传递失败。
由于传递过程中工作空间内存不足而导致响应失败的次数。
ws_backend_overflow
- counter -诊断
工作区_后端溢出
在WORKSPACE_BACKEND中耗尽空间的次数。
ws_client_overflow
- counter -诊断
工作区_客户端溢出
我们在WORKSPACE_CLIENT中空间不足的次数。
ws_thread_overflow
- counter -诊断
工作区线程溢出
WORKSPACE_THREAD中空间不足的次数。
ws_session_overflow
- counter -诊断
工作区_会话溢出
在WORKSPACE_SESSION中耗尽空间的次数。
shm_records
- counter -诊断
卫生署纪录
写入共享内存日志的日志记录数。
shm_writes
- counter -诊断
SHM写入
对共享内存日志的单个写入次数。一次写入可以批处理缓冲任务的多个记录。
shm_flushes
- counter -诊断
SHM因溢出而刷新
在缓冲任务结束之前执行的写入数,因为向批处理添加记录将超过vsl_Buffer。
shm_cont
- counter -诊断
SHM锁争用
写入必须等待锁定的次数。
shm_cycles
- counter -诊断
SHM在VSL空间中循环
日志记录的写入超过共享内存日志结尾并循环回到开头的次数。
shm_bytes
- counter -诊断
SHM字节
写入共享内存日志的字节数。
backend_req
- counter -信息
发出的后端请求
n_vcl
- gauge -信息
已加载的VCL总数
n_vcl_avail
- gauge -诊断
可用的VCL数量
n_vcl_discard
- gauge -诊断
丢弃的VCL数量
vcl_fail
- counter -信息
VCL故障
阻止VCL完成的失败计数。
bans
- gauge -信息
禁赛次数
系统中所有禁令的数量,包括被新禁令取代的禁令和已由禁令潜伏者检查的禁令。
bans_completed
- gauge -诊断
标记为“已完成”的禁令数量
不再有效的禁令数量,要么是因为它们被禁令潜伏者检查了,要么是被新的相同禁令所取代。
bans_obj
- gauge -诊断
使用对象的禁止次数。*
使用obj.*变量的禁止数。这些禁令可能会被潜伏在禁令中的人清洗。
bans_req
- gauge -诊断
使用请求的禁止次数。*
使用请求*变量的禁止数。这些禁令不能被潜伏在禁令中的人洗刷。
bans_added
- counter -诊断
添加了禁令
禁令计数器已添加到禁令列表中。
bans_deleted
- counter -诊断
已删除禁令
从禁令列表中删除的禁令计数器。
bans_tested
- counter -诊断
针对对象测试的禁令(查找)
在哈希查找期间相互测试了多少个禁令和对象的计数。
bans_obj_killed
- counter -诊断
被禁止删除的对象(查找)
在对象查找期间被禁止终止的对象数。
bans_lurker_tested
- counter -诊断
针对对象测试的禁令(潜伏者)
统计有多少禁令和对象已经被禁令潜伏者相互测试。
bans_tests_tested
- counter -诊断
禁止针对对象进行测试(查找)
在查找过程中相互测试的测试和对象数量的计数。‘ban req.url==foo&&req.HTTP.host==bar’在‘bans_test’中计为1,在‘bans_test_test’中计为2。
bans_lurker_tests_tested
- counter -诊断
禁止针对对象进行测试(潜伏者)
统计有多少测试和对象已经被禁令潜伏者相互测试。‘ban req.url==foo&&req.HTTP.host==bar’在‘bans_test’中计为1,在‘bans_test_test’中计为2。
bans_lurker_obj_killed
- counter -诊断
被禁令杀死的对象(潜伏者)
被禁令潜伏者杀死的对象的数量。
bans_lurker_obj_killed_cutoff
- counter -诊断
被禁止切断的对象(潜伏者)
禁令潜伏者为将禁令数保持在BAN_CUTOFFFFFER以下而杀死的对象数。
bans_dups
- counter -诊断
禁令被其他禁令取代
由后来的完全相同的禁令取代的禁令计数。
bans_lurker_contention
- counter -诊断
潜伏者让位于查找
禁令潜伏者必须等待查找的次数。
bans_persisted_bytes
- gauge -诊断
持久化禁令列表使用的字节数
持久化禁令列表使用的字节数。
bans_persisted_fragmentation
- gauge -诊断
由于碎片,持久禁令列表中的额外字节
通过永久禁止列表中已删除和已完成的禁止累积的额外字节数。
n_purges
- counter -信息
执行的清除操作数
n_obj_purged
- counter -信息
清除的对象数量
exp_mailed
- counter -诊断
邮寄到过期线程的对象数
邮寄到过期线程以进行处理的对象数。
exp_received
- counter -诊断
过期线程接收的对象数
过期线程接收的要处理的对象数。
hcb_nolock
- counter -调试
不加锁的HCB查找
hcb_lock
- counter -调试
带锁的HCB查找
hcb_insert
- counter -调试
HCB刀片
esi_errors
- counter -诊断
ESI解析错误(解锁)
esi_warnings
- counter -诊断
ESI分析警告(解锁)
vmods
- gauge -信息
加载的VMOD
n_gzip
- counter -信息
GZIP操作
n_gunzip
- counter -信息
Gunzip操作
n_test_gunzip
- counter -信息
测试拉链操作
当Varnish从后端接收压缩对象时,这些操作就会发生。这样做是为了在将gzip流插入存储时对其进行验证。
http1_iovs_flush
- counter -信息
早产儿潮红
在HTTP1连接上执行的额外写入数,因为IO向量的数量太少,无法一次性提交所有可能的IO。此编号通过配置
http1_iovs
用于客户端连接的参数,并由后端连接的可用工作区数量隐式定义。
MEMPOOL-内存池计数器¶
live
- gauge -调试
正在使用中
pool
- gauge -调试
在池中
sz_wanted
- gauge -调试
请求的大小
sz_actual
- gauge -调试
分配的大小
allocs
- counter -调试
分配
frees
- counter -调试
自由
recycle
- counter -调试
从泳池中回收
timeout
- counter -调试
池超时
toosmall
- counter -调试
太小了,不能回收
surplus
- counter -调试
太多了,不能打游泳池
randry
- counter -调试
泳池干涸了
管理-管理进程计数器¶
uptime
- counter -信息
管理流程正常运行时间
管理过程的正常运行时间(以秒为单位
child_start
- counter -诊断
子进程已启动
子进程已启动的次数
child_exit
- counter -诊断
子进程正常退出
子进程已完全停止的次数
child_stop
- counter -诊断
子进程意外退出
子进程退出并返回意外代码的次数
child_died
- counter -诊断
子进程已死亡(信号)
子进程因信号而死亡的次数
child_dump
- counter -诊断
子进程核心已转储
子进程生成核心转储的次数
child_panic
- counter -诊断
子进程死机
管理流程捕获到儿童恐慌的次数
SMA-Malloc装卸工柜台¶
c_req
- counter -信息
分配器请求
要求存储提供存储段的次数。
c_fail
- counter -信息
分配器故障
存储无法提供存储段的次数。
c_bytes
- counter -信息
分配的字节数
此存储分配的总字节数。
c_freed
- counter -信息
已释放的字节数
返回到此存储的总字节数。
g_alloc
- gauge -信息
未清偿拨款
未完成的存储分配数。
g_bytes
- gauge -信息
未完成的字节数
从存储中分配的字节数。
g_space
- gauge -信息
可用的字节数
存储中剩余的字节数。
SMF-文件装卸计数器¶
c_req
- counter -信息
分配器请求
要求存储提供存储段的次数。
c_fail
- counter -信息
分配器故障
存储无法提供存储段的次数。
c_bytes
- counter -信息
分配的字节数
此存储分配的总字节数。
c_freed
- counter -信息
已释放的字节数
返回到此存储的总字节数。
g_alloc
- gauge -信息
未清偿拨款
未完成的存储分配数。
g_bytes
- gauge -信息
未完成的字节数
从存储中分配的字节数。
g_space
- gauge -信息
可用的字节数
存储中剩余的字节数。
g_smf
- gauge -信息
N结构SMF
g_smf_frag
- gauge -信息
N个小型空闲SMF
g_smf_large
- gauge -信息
N个大的自由SMF
SMU-UMEM装卸工柜台¶
c_req
- counter -信息
分配器请求
要求存储提供存储段的次数。
c_fail
- counter -信息
分配器故障
存储无法提供存储段的次数。
c_bytes
- counter -信息
分配的字节数
此存储分配的总字节数。
c_freed
- counter -信息
已释放的字节数
返回到此存储的总字节数。
g_alloc
- gauge -信息
未清偿拨款
未完成的存储分配数。
g_bytes
- gauge -信息
未完成的字节数
从存储中分配的字节数。
g_space
- gauge -信息
可用的字节数
存储中剩余的字节数。
VBE-后端计数器¶
happy
- bitmap -信息
快乐健康探测仪
以位图形式表示上次探测结果。Happy探测器的位设置为1,不愉快的探测器设置为0。最高位表示最旧的探测。
bereq_hdrbytes
- counter -信息
请求头字节数
发送的后端请求标头总字节数
bereq_bodybytes
- counter -信息
请求正文字节
发送的后端请求正文总字节数
beresp_hdrbytes
- counter -信息
响应头字节数
收到的后端响应标头总字节数
beresp_bodybytes
- counter -信息
响应正文字节
收到的后端响应正文总字节数
pipe_hdrbytes
- counter -信息
管道请求头字节数
为管道会话发送的请求字节总数
pipe_out
- counter -信息
通过管道传输到后端的字节数
在管道会话中转发到后端的总字节数
pipe_in
- counter -信息
来自后端的管道字节数
管道会话中从后端转发的总字节数
conn
- gauge -信息
使用的并发连接
当前使用的后端连接数。由于连接池的原因,此数量始终小于或等于到后端的连接数量(例如,显示为在netstat中为TCP连接建立的连接)。
req
- counter -信息
已发送后端请求
unhealthy
- counter -信息
由于后端运行不正常,未尝试提取
busy
- counter -信息
由于后端繁忙,未尝试提取
达到max_Connections限制的次数
fail
- counter -信息
连接失败
失败打开的计数器。在FAIL_*计数器(DIAG级别)和FetchError标签下的日志中给出了详细原因。
此计数器是所有详细的FAIL_*计数器的总和。
所有FAIL_*计数器在效率方面可能略有不准确。
fail_eacces
- counter -诊断
连接失败,返回EACCES或EPERM
fail_eaddrnotavail
- counter -诊断
连接失败,错误为EADDRNOTAVAIL
fail_econnrefused
- counter -诊断
连接失败,返回ECONNREFUSED
fail_enetunreach
- counter -诊断
连接失败,返回ENETUNREACH
fail_etimedout
- counter -诊断
连接失败ETIMEDOUT
fail_other
- counter -诊断
由于其他原因,连接失败
helddown
- counter -诊断
未尝试打开连接
发生基本连接问题后,在BACKEND_LOCAL_ERROR_HOLDDOWN或BACKEND_REMOTE_ERROR_HOLDDOWN时间间隔内未尝试连接。