跳到主要内容

探针,指标和事件

本篇文档将会介绍KubeSkoop所支持的探针,以及它们的指标和事件。

探针

以下是KubeSkoop所支持的探针。

探针名称说明探针类型数据源开销
virtcmdlatencyvirtio设备延迟追踪指标、事件eBPF
udpUDP统计指标profcs
tcpsummaryTCP队列和连接状态统计指标procfs
tcpresetTCP reset追踪事件eBPF
tcpextTCPExt统计指标procfs
tcpsnmp中的TCP统计指标profcs
softnet网络设备发包和丢包数统计指标procfs
socketlatencysocket延迟追踪指标、事件eBPF
socksocket统计指标procfs
qdisctc qdisc统计指标netlink
flow连接流量统计指标eBPF
packetloss丢包事件追踪指标、事件eBPF
netiftxlatency发包网络延迟跟踪指标、事件eBPF
netdev网络设备统计指标procfs
net_softirq软中断延迟追踪指标、事件eBPF
kernellatency内核延迟跟踪指标、事件eBPF
ipvsIPVS统计指标procfs
ipIP统计指标profcs
io进程IO统计指标procfs
fd文件与socket描述符统计指标procfs
conntrackconntrack统计指标netlink
biolatencyBlock IO延迟跟踪事件eBPF
tcpretransTCP包重传追踪指标、事件eBPF

指标

标签

在所有的指标上都存在以下标签。

标签名称说明
k8s_namespacePod命名空间,或hostNetwork
k8s_podPod名称,或hostNetwork
k8s_nodeNode名称

指标列表

指标名称探针名称说明
kubeskoop_conntrack_foundconntrackconntrack统计计数"found"
kubeskoop_conntrack_invalidconntrackconntrack统计计数"invalid"
kubeskoop_conntrack_ignoreconntrackconntrack统计计数"ignore"
kubeskoop_conntrack_insertconntrackconntrack统计计数"insert"
kubeskoop_conntrack_insertfailedconntrackconntrack统计计数"insert_failed"
kubeskoop_conntrack_dropconntrackconntrack统计计数"drop"
kubeskoop_conntrack_earlydropconntrackconntrack统计计数"early_drop"
kubeskoop_conntrack_errorconntrackconntrack统计计数"error"
kubeskoop_conntrack_searchrestartconntrackconntrack统计计数"search_restart"
kubeskoop_conntrack_entriesconntrackconntrack全局计数"entries"
kubeskoop_conntrack_maxentriesconntrackconntrack全局计数"max_entries"
kubeskoop_qdisc_bytesqdisctc qdisc统计计数"bytes"
kubeskoop_qdisc_packetsqdisctc qdisc统计计数"packets"
kubeskoop_qdisc_dropsqdisctc qdisc统计计数"drops"
kubeskoop_qdisc_qlenqdisctc qdisc统计计数"qlen"
kubeskoop_qdisc_backlogqdisctc qdisc统计计数"backlog"
kubeskoop_qdisc_overlimitsqdisctc qdisc统计计数"overlimits"
kubeskoop_fdopenfdfdpod中打开fd数
kubeskoop_fd_opensocketfdpod中打开socket数
kubeskoop_io_ioreadsyscalliopod中读系统调用数
kubeskoop_io_iowritesyscalliopod中写系统调用数
kubeskoop_io_ioreadbytesiopod中读字节数
kubeskoop_io_iowritebytesiopod中写字节数
kubeskoop_ipvs_connectionsipvspod中IPVS连接数
kubeskoop_ipvs_incomingpacketsipvspod中IPVS入数据包数
kubeskoop_ipvs_outgoingbytesipvspod中IPVS出数据包数
kubeskoop_ipvs_incomingbytesipvspod中IPVS入字节数
kubeskoop_ipvs_outgoingpacketsipvspod中IPVS出字节数
kubeskoop_netdev_rxbytesnetdevpod中所有网络设备的接收字节数
kubeskoop_netdev_rxerrorsnetdevpod中所有网络设备的接收错误数
kubeskoop_netdev_txbytesnetdevpod中所有网络设备的发送字节数
kubeskoop_netdev_txerrorsnetdevpod中所有网络设备的发送错误数
kubeskoop_netdev_rxpacketsnetdevpod中所有网络设备的接收数据包数
kubeskoop_netdev_rxdroppednetdevpod中所有网络设备的接收丢弃数据包数
kubeskoop_netdev_txpacketsnetdevpod中所有网络设备的发送数据包数
kubeskoop_netdev_txdroppednetdevpod中所有网络设备的发送丢弃数据包数
kubeskoop_tcpext_listendropstcpextTCPExt中的ListenDrops
kubeskoop_tcpext_listenoverflowstcpextTCPExt中的ListenOverflow
kubeskoop_tcpext_tcpsynretranstcpextTCPExt中的TCPSynRetrans
kubeskoop_tcpext_tcpfastretranstcpextTCPExt中的TCPFastRetrans
kubeskoop_tcpext_tcpretransfailtcpextTCPExt中的TCPRetransFail
kubeskoop_tcpext_tcptimeoutstcpextTCPExt中的TCPTimeouts
kubeskoop_tcpext_tcpabortonclosetcpextTCPExt中的TCPAbortOnClose
kubeskoop_tcpext_tcpabortonmemorytcpextTCPExt中的TCPAbortOnMemory
kubeskoop_tcpext_tcpabortontimeouttcpextTCPExt中的TCPAbortOnTimeout
kubeskoop_tcpext_tcpabortonlingertcpextTCPExt中的TCPAbortOnLinger
kubeskoop_tcpext_tcpabortondatatcpextTCPExt中的TCPAbortOnData
kubeskoop_tcpext_tcpabortfailedtcpextTCPExt中的TCPAbortFailed
kubeskoop_tcpext_tcpackskippedsynrecvtcpextTCPExt中的TCPACKSkippedSynRecv
kubeskoop_tcpext_tcpackskippedpawstcpextTCPExt中的TCPACKSkippedPAWS
kubeskoop_tcpext_tcpackskippedseqtcpextTCPExt中的TCPACKSkippedSeq
kubeskoop_tcpext_tcpackskippedfinwait2tcpextTCPExt中的TCPACKSkippedFinWait2
kubeskoop_tcpext_tcpackskippedtimewaittcpextTCPExt中的TCPACKSkippedTimeWait
kubeskoop_tcpext_tcpackskippedchallengetcpextTCPExt中的TCPACKSkippedChallenge
kubeskoop_tcpext_tcprcvqdroptcpextTCPExt中的TCPRcvQDrop
kubeskoop_tcpext_tcpmemorypressurestcpextTCPExt中的TCPMemoryPressures
kubeskoop_tcpext_tcpmemorypressureschronotcpextTCPExt中的TCPMemoryPressuresChrono
kubeskoop_tcpext_pawsactivetcpextTCPExt中的PAWSActive
kubeskoop_tcpext_pawsestabtcpextTCPExt中的PAWSEstab
kubeskoop_tcpext_embryonicrststcpextTCPExt中的EmbryonicRsts
kubeskoop_tcpext_tcpwinprobetcpextTCPExt中的TCPWinProbe
kubeskoop_tcpext_tcpkeepalivetcpextTCPExt中的TCPKeepAlive
kubeskoop_tcpext_tcpmtupfailtcpextTCPExt中的TCPMTUPFail
kubeskoop_tcpext_tcpmtupsuccesstcpextTCPExt中的TCPMTUPSuccess
kubeskoop_tcpext_tcpzerowindowdroptcpextTCPExt中的TCPZeroWindowDrop
kubeskoop_tcpext_tcpbacklogdroptcpextTCPExt中的TCPBacklogDrop
kubeskoop_tcpext_pfmemallocdroptcpextTCPExt中的PFMemallocDrop
kubeskoop_tcpext_tcpwqueuetoobigtcpextTCPExt中的TCPWqueueTooBig
kubeskoop_tcp_activeopenstcpTCP中的ActiveOpens
kubeskoop_tcp_passiveopenstcpTCP中的PassiveOpens
kubeskoop_tcp_retranssegstcpTCP中的RetransSegs
kubeskoop_tcp_attemptfailstcpTCP中的AttemptFails
kubeskoop_tcp_estabresetstcpTCP中的EstabResets
kubeskoop_tcp_currestabtcpTCP中的CurrEstab
kubeskoop_tcp_insegstcpTCP中的InSegs
kubeskoop_tcp_outsegstcpTCP中的OutSegs
kubeskoop_tcp_inerrstcpTCP中的InErrs
kubeskoop_tcp_outrststcpTCP中的OutRsts
kubeskoop_udp_indatagramsudpUDP中的InDatagrams
kubeskoop_udp_noportsudpUDP中的NoPorts
kubeskoop_udp_inerrorsudpUDP中的InErrors
kubeskoop_udp_outdatagramsudpUDP中的OutDatagrams
kubeskoop_udp_rcvbuferrorsudpUDP中的RcvbufErrors
kubeskoop_udp_sndbuferrorsudpUDP中的SndbufErrors
kubeskoop_udp_incsumerrorsudpUDP中的InCsumErrors
kubeskoop_udp_ignoredmultiudpUDP中的IgnoredMulti
kubeskoop_ip_innoroutesipIP中的InNoRoutes
kubeskoop_ip_intruncatedpktsipIP中的InTruncatedPkts
kubeskoop_sock_inusesocksock中的Inuse
kubeskoop_sock_orphansocksock中的Orphan
kubeskoop_sock_twsocksock中的TW
kubeskoop_sock_allocsocksock中的Alloc
kubeskoop_sock_memsocksock中的Mem
kubeskoop_softnet_processedsoftnetsoftnet中的Processed
kubeskoop_softnet_droppedsoftnetsoftnet中的Dropped
kubeskoop_tcpsummary_tcpestablishedconntcpsummaryESTABLISHED状态连接数
kubeskoop_tcpsummary_tcptimewaitconntcpsummaryTIME_WAIT状态连接数
kubeskoop_tcpsummary_tcptxqueuetcpsummary所有TCP连接的tx队列长度
kubeskoop_tcpsummary_tcprxqueuetcpsummary所有TCP连接的rx队列长度
kubeskoop_netiftxlat_qdiscslow100msnetiftxlatencyqdisc传输延迟超过100ms
kubeskoop_netiftxlat_netdevslow100msnetiftxlatencynetdev传输延迟超过100ms
kubeskoop_kernellatency_rxslowkernellatency内核收包慢
kubeskoop_kernellatency_rxslow100mskernellatency内核收包延迟超过100ms
kubeskoop_kernellatency_txslowkernellatency内核发包慢
kubeskoop_kernellatency_txslow100mskernellatency内核发包延迟超过100ms
kubeskoop_packetloss_tcphandlepacketlosstcp_v4_do_rcv()中的丢包数
kubeskoop_packetloss_tcprcvpacketlosstcp_rcv()中的丢包数
kubeskoop_packetloss_abnormalpacketloss在其它函数中的丢包数
kubeskoop_packetloss_totalpacketloss丢包总数
kubeskoop_packetloss_netfilterpacketlossnf_hook_slow()中的丢包数
kubeskoop_packetloss_tcpstatmpacketlosstcp_rcv_state_process()中的丢包数
kubeskoop_socketlatency_read100mssocketlatencySocket读延迟超过100ms
kubeskoop_socketlatency_read1mssocketlatencySocket读延迟超过1ms
kubeskoop_socketlatency_write100mssocketlatencySocket写延迟超过100ms
kubeskoop_socketlatency_write1mssocketlatencySocket写延迟超过1ms
kubeskoop_virtcmdlatency_latency100msvirtcmdlatencyVirtio发送命令延迟超过100ms
kubeskoop_virtcmdlatency_latencyvirtcmdlatencyVirtio发送命令慢
kubeskoop_softirq_schedslownet_softirqSoftirq调度慢(从softirq_raise()softirq_entry())
kubeskoop_softirq_schedslow100msnet_softirqSoftirq调度延迟超过100ms
kubeskoop_softirq_excuteslownet_softirqSoftirq执行慢(从softirq_entry()softirq_exit())
kubeskoop_softirq_excuteslow100msnet_softirqSoftirq执行延迟超过100ms
kubeskoop_flow_bytesflow连接发送字节数
kubeskoop_flow_packetsflow连接发送包数

事件

事件列表

以下是KubeSkoop所支持的事件。

事件名称探针名称描述事件内容
TXLAT_QDISC_100MSnetiftx延迟qdisc传输延迟超过100ms5元组(协议、源地址&端口、目的地址&端口), 延迟
TXLAT_NETDEV_100MSnetiftx延迟netdev传输延迟超过100ms5元组(协议、源地址&端口、目的地址&端口), 延迟
BIOLAT_10MSbio延迟Block IO延迟超过10ms进程名, pid, 延迟
BIOLAT_100MSbio延迟Block IO延迟超过100ms进程名, pid, 延迟
RXKERNEL_SLOWkernel延迟内核接受包延迟超过100ms5元组(协议、源地址&端口、目的地址&端口), 不同位置的延迟
TXKERNEL_SLOWkernel延迟内核发送包延迟超过100ms5元组(协议、源地址&端口、目的地址&端口), 不同位置的延迟
PacketLosspacketloss包被丢弃5元组(协议、源地址&端口、目的地址&端口), 栈追踪
SOCKETLAT_READSLOWsocket延迟Socket读取慢5元组(协议、源地址&端口、目的地址&端口), 延迟
SOCKETLAT_SENDSLOWsocket延迟Socket发送慢5元组(协议、源地址&端口、目的地址&端口), 延迟
TCPRESET_NOSOCKtcpreset因为没有socket导致TCP发送RST报文5元组(协议、源地址&端口、目的地址&端口), socket状态
TCPRESET_ACTIVEtcpreset因为close()系统调用或linger等原因,TCP发送active RST报文5元组(协议、源地址&端口、目的地址&端口), socket状态
TCPRESET_PROCESStcpreset因为握手时出现问题等原因,TCP发送RST报文5元组(协议、源地址&端口、目的地址&端口), socket状态
TCPRESET_RECEIVEtcpresetTCP连接收到RST报文5元组(协议、源地址&端口、目的地址&端口), socket状态
VIRTCMDEXCUTEvirtcmd延迟Virtio发送命令执行慢cpu, pid, 延迟
NETSOFTIRQ_SCHED_SLOWnet_softirqSoftirq调度慢 (从softirq_raise()softirq_entry())cpu, pid, 延迟
NETSOFTIRQ_SCHED_100MSnet_softirqSoftirq调度延迟超过100mscpu, pid, 延迟
NETSOFTIRQ_EXCUTE_SLOWnet_softirqSoftirq执行慢(从softirq_entry()softirq_exit())cpu, pid, 延迟
NETSOFTIRQ_EXCUTE_100MSnet_softirqSoftirq执行延迟超过100mscpu, pid, 延迟
TCPRetranstcpretransTCP 发生重传栈追踪