Collected information
In order to accurately determine the pricing and utilization for each node, pod, and volume, the agent (the term "agent" here refers to the entire collection of services mentioned above) watches the API server and collects various metrics about the workloads, storage, and nodes in the clusters.
From the API server, the agent captures all changes to the following objects:
Nodes
Services and endpoints
Pods
PersistentVolumes
PersistentVolumeClaims
To understand the node and workload utilization, the agent collects the following metrics exposed by Kubelet on each node:
container_cpu_usage_seconds_total
container_memory_rss
container_fs_reads_total
container_fs_writes_total
container_fs_usage_bytes
container_network_receive_bytes_total
container_network_transmit_bytes_total
kubelet_volume_stats_used_bytes
kubelet_volume_stats_capacity_bytes
node_cpu_seconds_total
node_memory_MemTotal_bytes
node_memory_MemFree_bytes
node_memory_Buffers_bytes
node_memory_Cached_bytes
node_network_receive_bytes_total
node_network_transmit_bytes_total
node_filesystem_free_bytes
node_filesystem_size_bytes
node_disk_reads_completed_total
node_disk_writes_completed_total
To accurately determine the pricing of nodes and volumes in cloud environments, the agent will (optionally) query the following APIs on AWS:
EC2 / DescribeInstances
EC2 / DescribeVolumes
Cost Explorer / GetCostAndUsage
On GCP, it will use the following APIs:
Last updated
Was this helpful?