Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // SyncProxyRulesLatency is the latency of one round of kube-proxy syncing proxy // rules. (With the iptables proxy, this includes both full and partial syncs.) SyncProxyRulesLatency = metrics.NewHistogram( &metrics.HistogramOpts{ Subsystem: kubeProxySubsystem, Name: "sync_proxy_rules_duration_seconds", Help: "SyncProxyRules latency in seconds", Buckets: metrics.ExponentialBuckets(0.001, 2, 15), StabilityLevel: metrics.ALPHA, }, ) // SyncFullProxyRulesLatency is the latency of one round of full rule syncing. SyncFullProxyRulesLatency = metrics.NewHistogram( &metrics.HistogramOpts{ Subsystem: kubeProxySubsystem, Name: "sync_full_proxy_rules_duration_seconds", Help: "SyncProxyRules latency in seconds for full resyncs", Buckets: metrics.ExponentialBuckets(0.001, 2, 15), StabilityLevel: metrics.ALPHA, }, ) // SyncPartialProxyRulesLatency is the latency of one round of partial rule syncing. SyncPartialProxyRulesLatency = metrics.NewHistogram( &metrics.HistogramOpts{ Subsystem: kubeProxySubsystem, Name: "sync_partial_proxy_rules_duration_seconds", Help: "SyncProxyRules latency in seconds for partial resyncs", Buckets: metrics.ExponentialBuckets(0.001, 2, 15), StabilityLevel: metrics.ALPHA, }, ) // SyncProxyRulesLastTimestamp is the timestamp proxy rules were last // successfully synced. SyncProxyRulesLastTimestamp = metrics.NewGauge( &metrics.GaugeOpts{ Subsystem: kubeProxySubsystem, Name: "sync_proxy_rules_last_timestamp_seconds", Help: "The last time proxy rules were successfully synced", StabilityLevel: metrics.ALPHA, }, ) // NetworkProgrammingLatency is defined as the time it took to program the network - from the time // the service or pod has changed to the time the change was propagated and the proper kube-proxy // rules were synced. Exported for each endpoints object that were part of the rules sync. // See https://github.com/kubernetes/community/blob/master/sig-scalability/slos/network_programming_latency.md // Note that the metrics is partially based on the time exported by the endpoints controller on // the master machine. The measurement may be inaccurate if there is a clock drift between the // node and master machine. NetworkProgrammingLatency = metrics.NewHistogram( &metrics.HistogramOpts{ Subsystem: kubeProxySubsystem, Name: "network_programming_duration_seconds", Help: "In Cluster Network Programming Latency in seconds", Buckets: metrics.MergeBuckets( metrics.LinearBuckets(0.25, 0.25, 2), metrics.LinearBuckets(1, 1, 59), metrics.LinearBuckets(60, 5, 12), metrics.LinearBuckets(120, 30, 7), ), StabilityLevel: metrics.ALPHA, }, ) // EndpointChangesPending is the number of pending endpoint changes that // have not yet been synced to the proxy. EndpointChangesPending = metrics.NewGauge( &metrics.GaugeOpts{ Subsystem: kubeProxySubsystem, Name: "sync_proxy_rules_endpoint_changes_pending", Help: "Pending proxy rules Endpoint changes", StabilityLevel: metrics.ALPHA, }, ) // EndpointChangesTotal is the number of endpoint changes that the proxy // has seen. EndpointChangesTotal = metrics.NewCounter( &metrics.CounterOpts{ Subsystem: kubeProxySubsystem, Name: "sync_proxy_rules_endpoint_changes_total", Help: "Cumulative proxy rules Endpoint changes", StabilityLevel: metrics.ALPHA, }, ) // ServiceChangesPending is the number of pending service changes that // have not yet been synced to the proxy. ServiceChangesPending = metrics.NewGauge( &metrics.GaugeOpts{ Subsystem: kubeProxySubsystem, Name: "sync_proxy_rules_service_changes_pending", Help: "Pending proxy rules Service changes", StabilityLevel: metrics.ALPHA, }, ) // ServiceChangesTotal is the number of service changes that the proxy has // seen. ServiceChangesTotal = metrics.NewCounter( &metrics.CounterOpts{ Subsystem: kubeProxySubsystem, Name: "sync_proxy_rules_service_changes_total", Help: "Cumulative proxy rules Service changes", StabilityLevel: metrics.ALPHA, }, ) IPTablesCTStateInvalidDroppedNFAcctCounter = "ct_state_invalid_dropped_pkts" // IPTablesRestoreFailuresTotal is the number of iptables restore failures that the proxy has // seen. IPTablesRestoreFailuresTotal = metrics.NewCounter( &metrics.CounterOpts{ Subsystem: kubeProxySubsystem, Name: "sync_proxy_rules_iptables_restore_failures_total", Help: "Cumulative proxy iptables restore failures", StabilityLevel: metrics.ALPHA, }, ) // IPTablesPartialRestoreFailuresTotal is the number of iptables *partial* restore // failures (resulting in a fall back to a full restore) that the proxy has seen. IPTablesPartialRestoreFailuresTotal = metrics.NewCounter( &metrics.CounterOpts{ Subsystem: kubeProxySubsystem, Name: "sync_proxy_rules_iptables_partial_restore_failures_total", Help: "Cumulative proxy iptables partial restore failures", StabilityLevel: metrics.ALPHA, }, ) // IPTablesRulesTotal is the total number of iptables rules that the iptables // proxy has installed. IPTablesRulesTotal = metrics.NewGaugeVec( &metrics.GaugeOpts{ Subsystem: kubeProxySubsystem, Name: "sync_proxy_rules_iptables_total", Help: "Total number of iptables rules owned by kube-proxy", StabilityLevel: metrics.ALPHA, }, []string{"table"}, ) // IPTablesRulesLastSync is the number of iptables rules that the iptables proxy // updated in the last sync. IPTablesRulesLastSync = metrics.NewGaugeVec( &metrics.GaugeOpts{ Subsystem: kubeProxySubsystem, Name: "sync_proxy_rules_iptables_last", Help: "Number of iptables rules written by kube-proxy in last sync", StabilityLevel: metrics.ALPHA, }, []string{"table"}, ) // NFTablesSyncFailuresTotal is the number of nftables sync failures that the // proxy has seen. NFTablesSyncFailuresTotal = metrics.NewCounter( &metrics.CounterOpts{ Subsystem: kubeProxySubsystem, Name: "sync_proxy_rules_nftables_sync_failures_total", Help: "Cumulative proxy nftables sync failures", StabilityLevel: metrics.ALPHA, }, ) // NFTablesCleanupFailuresTotal is the number of nftables stale chain cleanup // failures that the proxy has seen. NFTablesCleanupFailuresTotal = metrics.NewCounter( &metrics.CounterOpts{ Subsystem: kubeProxySubsystem, Name: "sync_proxy_rules_nftables_cleanup_failures_total", Help: "Cumulative proxy nftables cleanup failures", StabilityLevel: metrics.ALPHA, }, ) // ProxyHealthzTotal is the number of returned HTTP Status for each // healthz probe. ProxyHealthzTotal = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: kubeProxySubsystem, Name: "proxy_healthz_total", Help: "Cumulative proxy healthz HTTP status", StabilityLevel: metrics.ALPHA, }, []string{"code"}, ) // ProxyLivezTotal is the number of returned HTTP Status for each // livez probe. ProxyLivezTotal = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: kubeProxySubsystem, Name: "proxy_livez_total", Help: "Cumulative proxy livez HTTP status", StabilityLevel: metrics.ALPHA, }, []string{"code"}, ) // SyncProxyRulesLastQueuedTimestamp is the last time a proxy sync was // requested. If this is much larger than // kubeproxy_sync_proxy_rules_last_timestamp_seconds, then something is hung. SyncProxyRulesLastQueuedTimestamp = metrics.NewGauge( &metrics.GaugeOpts{ Subsystem: kubeProxySubsystem, Name: "sync_proxy_rules_last_queued_timestamp_seconds", Help: "The last time a sync of proxy rules was queued", StabilityLevel: metrics.ALPHA, }, ) // SyncProxyRulesNoLocalEndpointsTotal is the total number of rules that do // not have an available endpoint. This can be caused by an internal // traffic policy with no available local workload. SyncProxyRulesNoLocalEndpointsTotal = metrics.NewGaugeVec( &metrics.GaugeOpts{ Subsystem: kubeProxySubsystem, Name: "sync_proxy_rules_no_local_endpoints_total", Help: "Number of services with a Local traffic policy and no endpoints", StabilityLevel: metrics.ALPHA, }, []string{"traffic_policy"}, ) LocalhostNodePortAcceptedNFAcctCounter = "localhost_nps_accepted_pkts" )
Functions ¶
func RegisterMetrics ¶
func RegisterMetrics(mode kubeproxyconfig.ProxyMode)
RegisterMetrics registers kube-proxy metrics.
func SinceInSeconds ¶ added in v1.14.0
SinceInSeconds gets the time since the specified start in seconds.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.