如何解决以纳秒为单位的 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,000ns
- 在时间
00:00:10
,cpu 使用计数器处于3,000ns
根据这些信息,我们可以得出结论,在 00:00:00
和 00:00:10
之间的 10 秒内,进程使用了 3,00 - 1,000 = 2,000
纳秒的 cpu。
换句话说,它使用了 10 秒中的 2 秒,使我们的 CPU 使用率为 20%。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。