kubernetes - 以纳秒为单位的 Kubernetes CPU
问题描述
我试图解释使用 Telegraf 和 k3s 集群上的 Kubernetes 插件获取的指标。我看到结果是以纳秒为单位报告 CPU,以字节为单位报告内存和磁盘。更重要的是,我想了解如何将 ns 中显示的 CPU 使用率转换为%
?
下面是一个这样的示例捕获:
kubernetes_pod_container,container_name=telegraf-ds,host=ah-ifc2,namespace=default,node_name=ah-ifc2,pod_name=telegraf-ds-dxdhz, rootfs_available_bytes=73470144512i,logsfs_available_bytes=0i,logsfs_capacity_bytes=0i,cpu_usage_nanocores=243143i,memory_usage_bytes=0i,memory_working_set_bytes=25997312i,memory_major_page_faults=0i,rootfs_used_bytes=95850790i,logsfs_used_bytes=4096i,cpu_usage_core_nanoseconds=4301919390i,memory_rss_bytes=0i,memory_page_faults=0i,rootfs_capacity_bytes=196569534464i 1616950920000000000
此外,诸如 Chronograf/Grafana 之类的任何可视化工具如何将这些原始数据转换为更可操作的格式,例如cpu%, memory/disk utilization%
?
谢谢,任何建议都会有所帮助。
解决方案
如果您有(纳)秒的总和,您可以查看导数来计算百分比。
例子:
- 当时
00:00:00
cpu使用计数器在1,000,000,000ns
- 当时
00:00:10
cpu使用计数器在3,000,000,000ns
从这些信息中,我们可以得出结论,在 10 秒和 10 秒之间00:00:00
,00:00:10
该进程使用 cpu 的时间为3,000,000,00 - 1,000,000,000 = 2,000,000,000
纳秒。
换句话说,它在 10 秒中使用了 2 秒的 cpu,给了我们 20% 的 cpu 使用率。
推荐阅读
- ios - 发送到特定主题但未发送到所有设备时收到 Firebase 推送通知
- javascript - 将 CKEDITOR 5 textarea 传递给 Ajax Post javascript
- tensorflow - ValueError: 操作数不能与形状一起广播 (256, 256, 64) (256, 256, 3)
- linux - 如何在权限受限的 Linux 服务器上使用 GIT
- javascript - 对包含日期数组的对象数组进行排序
- android - 如何在 Flutter 中的 TextFormField 中的图标和文本之间添加分隔线
- c++ - 在 C++ 编译错误中初始化 2d 向量:编译器的错误解释
- c - C - 如何散列(创建地图)用户定义类型
- oauth-2.0 - OAuth 2.0:是否有标准支持的方式来传递额外参数?
- reactjs - 离子电容器网络文档