Saf*_*ado 2 linux monitoring memory centos snmp
我们使用 WhatsUp Gold 来监控我们所有的网络服务器。在我们的 Linux 服务器(以及在很大程度上,我们的 FreeBSD 服务器)上,我的内存监视器有点问题。我们使用带有 WUG 的 SNMP 从服务器获取数据。SNMP 守护程序在服务器上返回的内存计数器是组合值(已使用、缓存、缓冲区)。现在我的一台服务器看起来像这样:
[admin@stgwww snmp]$ free -m
total used free shared buffers cached
Mem: 7872 1656 6216 0 143 1107
-/+ buffers/cache: 404 7467
Swap: 4867 0 4867
Run Code Online (Sandbox Code Playgroud)
通过 SNMP 返回给 WUG 的值是 1656。据我所知,缓存的 RAM 本质上是免费 RAM,具有附加的好处,即保留先前占用的数据,以防再次需要它。因此,出于想要了解实际使用了多少 RAM 的目的,我们得到的值具有误导性。如果我们脱离 WUG 绘制的图表,我们就会相信正在使用的 RAM 多于实际可用的 RAM,而可用的 RAM 却少了。
那么,最好的监控方式是什么?WUG 允许我编写 SSH 脚本,它可以每 5 分钟左右通过 SSH 进入服务器,执行脚本并返回值(只要它是单个数值)。有了这个,我写了一个脚本,从上面的例子中提取“404”数字并将其除以总量给我一个百分比使用值,我返回到 WUG 并在从 0 到 100 缩放的图表上绘制图表。但是这似乎是一种黑客攻击方式。
我最好监视空闲+缓冲区+缓存值吗?在 WUG 中是否有更好的方法来做到这一点?想法?
去看看linuxatemyram.com。WUG 告诉您 Linux 认为使用了什么(使用+缓冲区+缓存)。您决定监控的(已使用/总计)对我来说似乎是合理的,尤其是对于图表,因为它不需要了解系统细节。