k8s是如何采集容器基础资源指标

  • kubelet进程内置了 cadvisor的代码

  • 底层采集来自cadvisor

底层采集来自 cadvisor

cadvisor介绍 

  • CAdvisor是Google开源的一款用于展示和分析容器运行状态的可视化工具

  • cAdvisor可以对节点机器上的资源及容器进行实时监控和性能数据采集

  • 包括CPU使用情况、内存使用情况、网络吞吐量及文件系统使用情况,效果图如下

 

cadvisor架构图 

  • 我们知道node_exporter是通过查看/proc/stat等一些列伪文件系统计算相关指标来完成单机级别的采集的。

  • 那么如何采集单个pod占用的cpu、内存等数据呢?想必你也能够想到了

  • 一个pod对应多个容器运行在宿主机上,其实对应就是一个个单独的进程

  • 那么采集到每个进程的cpu内存等信息就是对应容器的指标。

  • 具体就是拿到进程的pid,通过查看pid下面的伪文件系统/proc/<pid>/stat完成采集。

 

 

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
监控KubernetesK8s容器内部的JVM是一种重要的操作,它能够帮助我们了解JVM的性能和健康状况以及整个容器环境中JVM的运行情况。以下是一些方法和工具来监控K8s容器内部的JVM。 首先,我们可以使用Kubernetes Dashboard或类似的监控工具来查看容器资源使用情况,例如CPU、内存和存储。这可以帮助我们了解JVM是否正在消耗太多的资源或者是否需要进行资源调整。 其次,我们可以通过日志收集工具,如ELK(Elasticsearch、Logstash和Kibana)堆栈,监控JVM的日志输出。这些工具可以帮助我们实时查看JVM的日志,并进行搜索和过滤。 另外,可以使用性能监控工具,例如Prometheus和Grafana,来监控JVM的性能指标,如内存使用、GC(垃圾回收)时间、线程和类加载情况等。这些工具提供了仪表板和可视化图表,使我们能够直观地了解JVM的运行情况。 还可以使用工具如VisualVM和JMX(Java Management Extensions)来远程监控JVM。这些工具可以通过JMX协议访问JVM的MBean(管理Bean),并提供可视化界面来监控和分析JVM的运行时数据。 最后,我们还可以使用APM(Application Performance Monitoring)工具来监控K8s容器内部的JVM。APM工具可以提供更深入的性能监控和分析,例如方法级别的调用链跟踪、错误和异常的监测等。 综上所述,监控K8s容器内部的JVM可以通过使用Kubernetes Dashboard、ELK堆栈、Prometheus和Grafana、VisualVM、JMX和APM等工具来实现。这可以帮助我们全面了解JVM的性能和健康状况,并及时发现和解决潜在的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值