Cacti监控CPU或内存出现图像数据为NAN

CPU(CPU Usage)

CPU 利用率就是定义CPU 使用的百分比.评估系统最重要的一个度量方式就是CPU 的利用率.linux

在监控服务器的CPU利用率时,咱们通常采集三个数据:System Time、Nice Time、User Time。服务器

  • System Time(译注:内核线程以及中断时间) - 关于在kernel space中线程和中断在CPU 开销时间百分比.
  • User Time(译注:用户进程时间) - 关于在user space中被执行进程在CPU 开销时间百分比.
  • Nice Time:每一个linux进程都有个优先级,优先级高的进程有优先执行的权利,这个叫作pri。进程除了优先级外,还有个优先级的修正值。即好比你原先的优先级是20,而后修正值为-2,那么你最后的进程优先级为18。这个修正值就叫作进程的nice值。nice加权的进程使用的用户态cpu时间比,个人理解就是一个进程的所谓修正值就意味着多分配一些cpu时间给这个进程的用户态,这个中间所多分配的cpu时间就是咱们这里的Nice。

这些获得的数据都是百分比数据,可是Cacti默认对CPU的监控是单核监控,默认值设置为100%,也是相对于单核CPU来讲的。若是,服务器不在跑什么东西,这些监控数据很小,能够看到图;可是若是机器繁忙的话,咱们就看不到图了,并且图下面的监控数据也会显示为NAN(表示获取的监控数据已经大于默认值了)。ide

有两种解决方法:spa

一、修改默认值线程

  • 默认值是100,表示单核CPU;修改成10000,表示我可让你监控100核的CPU。
  • 而后修改生成的RRA文件(也能够删除,使之从新生成)
    • 优势:修改起来比较简单。
    • 缺点:图像看起来不直观,原先的事100%,如今获得的数据可能就是10K%、9K%……

二、修改cpu监控的数据模板(暂时不会,待研究)code

内存(Memory Usage)

和CPU监控同理,默认值为10G,设置太小,致使数据为NAN进程

解决方法:内存

1.修改模版it

  • Console—〉Data Templates中有三个关于memory的模版文件,网上通常只改free,其实咱们改的是上限,不影响别的,因此把三个都改了也不要紧,由于若是内存足够大,你buffers一释放,free天然就大了,超过了限定值就不出 图,多闹心,因此我直接把三个都改了,这样无论哪一个增大,都不会超过上限,,依次点击每一个关于memory的模版,修改里面的Maximum Value 值,默认10G,加个0,变成100G了,依次保存,ok!

2.修改已生成的rra文件模板

#rrdtool info *_mem_cache_*.rrd  (*值不固定,根据本身的来),到里面看,ds[mem_cache].max = 1.0000000000e+07 一项都是10G,因此咱们要改这里(另外两个也同理)
# rrdtool tune *_mem_free_*.rrd -a mem_free:100000000
# rrdtool tune *_mem_buffers_*.rrd -a mem_buffers:100000000
# rrdtool tune *_mem_cache_*.rrd -a mem_cache:100000000

修改以后,稍等片刻,就出图了,以前为nan的数据是不会出现的,出现的是后面新生成的数据,无论是你的free不出图,仍是cache不出图,这回都该出来了,ok,搞定收工.

相关文章
相关标签/搜索