跟着zabbix学监控--Linux(2)
二、Memory(含Swap)
Memory 资源监控的KEY包含:
KEY | 说明 |
---|---|
vm.memory.size[ |
内存大小 |
system.swap.size[ |
交换分区空间大小 |
system.swap.in[ |
交换分区(从设备到内存)统计数据,返回整数 |
system.swap.out[ |
交换分区(从内存到设备)的统计数据,返回整数 |
从源码分析,vm.memory.size[
Linux 内核源码: \include\linux\kernel.h
vm.memory.size[
参数可以选:不填写、total、free、buffers、cached、used、pused、available、pavailable、shared,不填写==total。
参数含义为:内存总空间大小、内存空闲空间(不含buffers 、cached)大小、内存buffers大小、内存cached大小、内存已使用空间大小、内存已使用空间百分比、内存可利用空间(含buffers 、cached)大小,内存可利用空间百分比、共享内存空间大小。其中shared 仅限于2.4版内核。
buffers、cached 内存空间是比较有特色的部分,linux 源码 \Documentation\filesystems\proc.txt 有相关解释:
Buffers: Relatively temporary storage for raw disk blocks shouldn’t get tremendously large (20MB or so)
Cached: in-memory cache for files read from the disk (the pagecache). Doesn’t include SwapCached
Linux将暂时不使用的内存作为文件和数据缓存,以提高系统性能,当需要这些内存时,系统会自动释放。
system.swap.size[
第一个参数没有多大实际作用,只能为不填写或填写all,两者含义一样。
第二个参数来自 sysinfo,分别为free、total、used、pfree、pused。分别为swap的空闲空间大小、总空间大小、已使用空间大小、空闲空间百分比、已使用空间百分比。
system.swap.in[
Zabbix 源码\libs\zbxsysinfo\linux\swap.c
当type 参数为空或pages 时(两个含义相同),device参数无效,返回的是 从/proc/vmstat (已内核版本2.6.32为例)获取到的 pswpin、pswpout 值。
pswpin #从启动到现在读入的交换分区页数
pswpout #从启动到现在换出的交换分区页数
当type 参数为 sectors、count时,device需要填写 swap 对应的分区,通过 cat /proc/swaps 可查到。
system.swap.in[/dev/sda2,sectors] 返回 /proc/diskstats对应分区第3列数据
system.swap.in[/dev/sda2,count] 返回 /proc/diskstats对应分区第1列数据
system.swap.out[/dev/sda2,sectors] 返回 /proc/diskstats对应分区第7列数据
system.swap.out[/dev/sda2,count] 返回 /proc/diskstats对应分区第5列数据