如何使用 MRTG 监控 Red Hat Enterprise Linux 上的 Mem 使用状态?
Issue
Multi Router Traffic Grapher (MRTG)是一个监控网络链接上流量负载的工具。mrtg 生成包含 PNG 图像的 HTML 页面,这些图像提供此流量的可视化表示。
free 工具提供内存使用率输出。
以下是安装和配置 mrtg 的流程。在本例中,假设 IP 地址为 192.168.0.20。
首先,确保使用 rpm -q mrtg 命令安装了 mrtg。
现在,创建 MRTG 图形目录:
# mkdir -p /var/www/html/mrtg
启动 Apache 服务:
# service httpd start
# chkconfig httpd on
配置 mrtg 以分析内存使用率。在本文中,mrtg 将从 free 输出中获取数据。这可以通过一个使用命令 free 的简单脚本完成。换到 /var/lib/mrtg/ 目录,创建并打开文件 mrtg_mem.sh。在这个文件中,放入这些行:
#!/bin/bash
#run this script to check the mem usage.
usedmem=`/usr/bin/free | grep + | awk '{print $3}'`
freemem=`/usr/bin/free | grep + | awk '{print $4}'`
UPtime=`/usr/bin/uptime | awk '{print $3"" $4"" $5}'`
echo $usedmem
echo $freemem
echo $UPtime
echo 192.168.0.20
此脚本将显示 free 命令输出,它每三分钟执行一次。保存文件并使其可执行。
# chmod 755 mrtg_mem.sh
使用以下方法测试:
# ./mrtg_mem
如果脚本执行正确,三分钟后,会显示类似如下的信息:
938952
1078100
4days,5:57,
192.168.0.20
在同一目录中创建另一个脚本。
# vi mrtg.conf
此文件的内容应如下:
WorkDir: /var/www/html/mrtg/mem
Target[localhost]: `/var/lib/mrtg_mem.sh`
MaxBytes[localhost]: 2048000
kmg[localhost]: KB,MB
kilo[localhost]: 1024
Options[localhost]: gauge,nopercent,growright
YLegend[localhost]: Memory Usage:
Legend1[localhost]: Used Memory:
Legend2[localhost]: Free Memory:
LegendI[localhost]: Used Memory:
LegendO[localhost]: Free Memory:
Title[localhost]: Memory usage
执行以下命令:
# env LANG=C /usr/bin/mrtg /var/lib/mrtg/mrtg.conf
最后,创建一个如下的 cron 作业,以便 free 的结果在上述网页上每五分钟显示一次。
*/5 * * * * /usr/bin/env LANG=C /usr/bin/mrtg /var/lib/mrtg/mrtg.conf /dev/null 2>&1
通过进入 http://thissystemsip/mrtg/localhost.html 来测试这一点,这应该是一个带有系统内存使用率信息的网页。请注意,数据只在第 2 次数据收集中显示(第一次收集后 10 分钟)。在此之前,您将看到一个零和空的图形。
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.