docker相关资源监控采集方法整理

===cpu_util

读取"/cgroup/cpuacct/docker/"+contain_id+"/cpuacct.usage_percpu"中绑定核的cpu使用时间片(累计值,cpu_use_time),

cat /cgroup/cpuset/docker/b57b1f091f0b517499a74d5b36f23e7f001cac2ebc0639e85c291b41da04edcb/cpuset.cpus 

6-9

cat /cgroup/cpuacct/docker/b57b1f091f0b517499a74d5b36f23e7f001cac2ebc0639e85c291b41da04edcb/cpuacct.usage_percpu

0 0 0 0 0 0 66238344197440 70824963617248 74983569233356 78846644169639 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

读取"/proc/stat"中对应核的cpu总时间片(累计值,cpu_total_time)

cat /proc/stat

cpu  748602637 100253 642640755 59115027509 617404 62194 46746998 0 0

......

cpu6 5917531 581 3271039 937040243 7577 0 60604 0 0

cpu7 5117588 239 2687069 938306300 5839 0 60538 0 0

cpu8 5565280 2357 3584801 936739202 5650 0 60437 0 0

cpu9 5295556 3968 3496022 936905600 7601 0 59572 0 0

......

间隔采样,使用率=cpu_use_time差值/cpu_total_time差值

===memory.usage

读取"/cgroup/memory/docker/"+contain_id+"/memory.stat"中 active_anon和 inactive_anon

cat /cgroup/memory/docker/b57b1f091f0b517499a74d5b36f23e7f001cac2ebc0639e85c291b41da04edcb/memory.stat 

cache 2484948992
rss 3240157184
mapped_file 14901248
pgpgin 2825935330
pgpgout 2832891427
swap 18874368
inactive_anon 550154240
active_anon 2690007040

......

cat /cgroup/memory/docker/b57b1f091f0b517499a74d5b36f23e7f001cac2ebc0639e85c291b41da04edcb/memory.limit_in_bytes 

8589934592

使用率= (active_anon+ inactive_anon)/分配的memory

===netio

读取"/proc/"+pid+"/net/dev"中对应网卡的In/Out的bytes/packets 累计值

cat /proc/11973/net/dev

Inter-|   Receive                                                |  Transmit

face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed

lo: 369299212872 329498342    0    0    0     0          0         0 369299212872 329498342    0    0    0     0       0          0

ns9a07c03c-2f: 262981028026 567054466    0    0    0     0          0         0 600088509350 658578900    0    0    0     0       0          0

间隔采样,速率=差值/采样间隔

===diskio

ls -l  /dev/mapper/docker-contain_id查看对应挂载磁盘

ls -l /dev/mapper/docker-b57b1f091f0b517499a74d5b36f23e7f001cac2ebc0639e85c291b41da04edcb 

lrwxrwxrwx 1 root root 7 2月  22 16:57 /dev/mapper/docker-b57b1f091f0b517499a74d5b36f23e7f001cac2ebc0639e85c291b41da04edcb -> ../dm-1

读取‘/sys/block/‘+device+‘/stat‘中disk读写bytes/次数 累计值,io时间

cat /sys/block/dm-1/stat

2409        0    36434     5984 38847495        0 310779960 83760448        0  6256117 83778634

间隔采样,速率=差值/采样间隔,disk.util=io时间/采样间隔

===tcp.connections

统计"/proc/"+pid+"/net/tcp" 和 "/proc/"+pid+"/net/tcp6"中 连接建立状态的 连接个数,间隔抽样采集

===load

间隔(5s)统计"/cgroup/cpuacct/docker/" + contain_id + "/tasks" 中状态为running/disk-sleep/waiting的线程个数,

计算公式:load = pre_load * math.exp(-间隔时间/300) + cur_load * (1 - math.exp(-间隔时间/300))

时间: 2024-10-10 22:21:04

docker相关资源监控采集方法整理的相关文章

AngularJS的学习网站及相关资源整理

学习angularjs的网站及相关资源的整理,会不断更新. angularJs的官网:https://angularjs.org/       API文档:https://docs.angularjs.org/api 官方文档很详细,感觉是学习angularjs最好的方法 angularjs入门教程:http://www.runoob.com/angularjs/angularjs-tutorial.html 英语不太好可以先看这个,可以很快看完,看完就对angularjs有一个大概的了解, 有

与屏幕亮度调节相关的各种方法整理

public class SystemManager { private Context mContext; private static SystemManager sInstance; private SystemManager(final Context context) { mContext = context; } public static SystemManager init(final Context context) { if (null == sInstance) { sIn

.NET中使用Memcached的相关资源整理(转)

Memcached官方站点:http://www.danga.com/memcached/ Memcached Win32 1.2.6下载:http://code.jellycan.com/memcached/ 安装帮助:Windows下的.NET+ Memcached安装 Memcached .NET客户端: 1).NET memcached client library 下载地址:https://sourceforge.net/projects/memcacheddotnet 相关文章:分布

.NET中使用Memcached的相关资源整理

NET中使用Memcached的相关资源整理 Memcached官方站点:http://www.danga.com/memcached/ Memcached Win32 1.2.6下载:http://code.jellycan.com/memcached/ 安装帮助:Windows下的.NET+ Memcached安装 Memcached .NET客户端: 1).NET memcached client library 下载地址:https://sourceforge.net/projects/

深度解析Tengine的调试与资源监控方法论

摘要: Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,提供更强大的流量负载均衡能力.全站HTTPS服务.安全防×××.链路追踪等众多高级特性.团队的核心成员来自于淘宝.搜狗等互联网企业,从2011年12月开始,Tengine成为一个开源项目,团队在积极地开发和维护着它,最终目标是打造一个高效.稳定.安全.易用的Web平台. 阿里云CDN现在服务超过24万家客户,Tengine作为接入层提供高性能Web Server服务,是CDN系统最核心的组件之

容器和实时资源监控的必知要素

您是否实时监控您的容器资源?如果没有,那意味着您可能没有对之进行有效监控.在快速变化的.动态的微服务环境中,即使是几秒钟以前的监视数据也可能不再可行.为了防止中断,您需要实时监控. 在这篇文章中,我解释了为什么对容器资源进行实时监控是很重要的,以及实时监控中您应该关注的容器指标. 首先要明确的是,这篇文章并非在为哪个特定的容器监控产品站台.虽然现在有很多可供容器使用的实时监控平台,但我认为最好的做法,还是充分了解容器监控的基本要素,而不是只关注特定产品的某些特性.如果您知道为保证容器基础设施正常

服务器资源监控指标

内存:1 UNIX资源监控中指标内存页交换速率(Paging rate,使用称为“页面”的单位,将固定大小的代码和数据块从 RAM 移动到磁盘的过程,其目的是为了释放内存空间),如果该值偶尔走高,表明当时有线程竞争内存.如果持续很高,则内存可能是瓶颈.也可能是内存访问命中率低.2 Windows资源监控中,如果Process/Private Bytes计数器和Process/Working Set计数器的值在长时间内持续升高,同时Memory/Available bytes计数器的值持续降低,则

【Docker】性能测试监控平台搭建:InfluxDB+Grafana+Jmeter+cAdvisor

https://www.cnblogs.com/Detector/p/10104254.html 前言 在做性能测试时,如果有一个性能测试结果实时展示的页面,可以极大的提高我们对系统性能表现的掌握程度,进而提高我们的测试效率.但是我们每次打开Jmeter都会有几个硕大的字提示别用GUI模式进行负载测试,而且它自带的监视器效果实在一般:在Windows下渲染效果不好,在linux环境(非GUI环境)下更是无法使用,这一点我在如何选择性能测试工具中有过简单的描述. 所以,在做性能测试时,为Jmete

如何灵活运用Linux 进程资源监控和进程限制

导读 每个 Linux 系统管理员都应该知道如何验证硬件.资源和主要进程的完整性和可用性.另外,基于每个用户设置资源限制也是其中一项必备技能. 在这篇文章中,我们会介绍一些能够确保系统硬件和软件正常工作的方法,这些方法能够避免潜在的会导致生产环境下线或钱财损失的问题发生. 报告 Linux 进程统计信息 你可以使用 mpstat 单独查看每个处理器或者系统整体的活动,可以是每次一个快照或者动态更新. 为了使用这个工具,你首先需要安装 sysstat: # yum update && yum