MRTG(MultiRouter Traffic Grapher, MRTG)是基于SNMP的典型网络流量统计分析工具。它耗用的系统资源很小,因此有很多外挂的程序也依附在MRTG下。它通过SNMP协议从设备得到其流量信息,并将流量负载以包含PNG格式图形的HTML文档的方式显示给用户,以非常直观的形式显示流量负载。
一、安装网络流量监视
首先确认系统中已经安装以下套件:
gd、gd-devel、libpng、libpng-devel、libpng10、libpng10-devel、zlib、zlib-devel、perl、gcc、apache、net-snmp
编辑snmpd.conf
vi /etc/snmp/snmpd.conf
#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc //去掉注释
access notConfigGroup "" any noauth exact systemview none none //systemview改为mib2
启动apache、snmp服务
/usr/local/apache2/bin/apachectl start
/etc/init.d/snmpd start
安装mrtg
#tar zvxf mrtg-2.14.5.tar.gz
#cd mrtg-2.14.5
#./configure --prefix=/usr/local/mrtg
#make
#make install
配置mrtg
#mkdir /usr/local/apache2/htdocs/mrtg
#cd mrtg-2.14.5
#cp ./p_w_picpaths/* /usr/local/apache2/htdocs/mrtg/p_w_picpaths/
#/usr/local/mrtg/bin/cfgmaker public@127.0.0.1 --global "workdir: /usr/local/apache2/htdocs/mrtg" --output=/usr/local/apache2/htdocs/mrtg/mrtg.cfg
#/usr/local/mrtg/bin/indexmaker --output=/usr/local/apache2/htdocs/mrtg/index.html --title="MRTG on Linux" /usr/local/apache2/htdocs/mrtg/mrtg.cfg
运行mrtg
#env LANG=C /usr/local/mrtg/bin/mrtg /usr/local/apache2/htdocs/mrtg/mrtg.cfg
设置crontab(每五分钟运行一次)
#crontab -e
*/5 * * * * env LANG=C /usr/local/mrtg/bin/mrtg /usr/local/apache2/htdocs/mrtg/mrtg.cfg

二、安装CPU负载监视
首先安装sysstat套件
建立CPU脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.cpu
#!/bin/bash
cpuusr=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $3}'`
cpusys=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $5}'`
UPtime=`/usr/bin/uptime | awk '{print $3""$4""$5}'`
echo $cpuusr
echo $cpusys
echo $UPtime
hostname
使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.cpu
修改/usr/local/apache2/htdocs/mrtg/mrtg.cfg在文件最后加入cpu项目
Target[cpu]: `/opt/mrtg/mrtg.cpu`
MaxBytes[cpu]: 100
Options[cpu]: gauge, nopercent, growright
YLegend[cpu]: CPU loading (%)
ShortLegend[cpu]: %
LegendO[cpu]:   CPU us;
LegendI[cpu]:   CPU sy;
Title[cpu]: CPU Loading
PageTop[cpu]: <H1>CPU Loading</H1>
重新生成索引页面:
indexmaker /usr/local/apache2/htdocs/mrtg/mrtg.cfg > /usr/local/apache2/htdocs/mrtg/index.html
三、安装WWW连接数监视
建立WWW脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.www
#!/bin/bash
all=`netstat -a | grep www|awk '{print $5}'|sort | wc -l|awk '{print$1 - 1}'`
user=`netstat -a | grep www|awk '{print $5}'|cut -d":" -f1|sort| uniq |wc -l | awk '{print $1 - 1}'`
if [ "$all" = "-1" ]; then
echo 0
else
echo $all
fi
if [ "$user" = "-1" ]; then
echo 0
else
echo $user
fi
UPtime=`/usr/bin/uptime | awk '{print $3 " " $4 " " $5}'`
echo $UPtime
hostname
使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.www
修改/usr/local/apache2/htdocs/mrtg/mrtg.cfg在文件最后加入www项目
Target[www]: `/opt/mrtg/mrtg.www`
MaxBytes[www]: 500
Options[www]: nopercent, growright
YLegend[www]: Online Users
ShortLegend[www]: %
LegendI[www]: &nbsp; Connect :
LegendO[www]: &nbsp; Online :
Title[www]: WWW Connect
PageTop[www]: <H1> WWW Connect </H1>
重新生成索引页面:
indexmaker /usr/local/apache2/htdocs/mrtg/mrtg.cfg > /usr/local/apache2/htdocs/mrtg/index.html
四、安装内存使用监视
建立RAM脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.ram
#!/bin/bash
# run this script to check the mem usage.
totalmem=`/usr/bin/free |grep Mem |awk '{print $2}'`
usedmem=`/usr/bin/free |grep Mem |awk '{print $3}'`
UPtime=`/usr/bin/uptime | awk '{print $3""$4""$5}'`
echo $totalmem
echo $usedmem
echo $UPtime
hostname
使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.ram
修改/usr/local/apache2/htdocs/mrtg/mrtg.cfg在文件最后加入ram项目
Target[ram]: `/opt/mrtg/mrtg.ram`
#Unscaled[ram]: dwym
MaxBytes[ram]: 2048000
Title[ram]:Memory
ShortLegend[ram]: &
kmg[ram]:kB,MB
kilo[ram]:1024
YLegend[ram]: &nbsp; Memory Usage :
Legend1[ram]: &nbsp; Total Memory :
Legend2[ram]: &nbsp; Used Memory :
LegendI[ram]: &nbsp; Total Memory :
LegendO[ram]: &nbsp; Used Memory :
Options[ram]: growright,gauge,nopercent
PageTop[ram]:<H1>Memory</H1>
重新生成索引页面:
indexmaker /usr/local/apache2/htdocs/mrtg/mrtg.cfg > /usr/local/apache2/htdocs/mrtg/index.html
五、安装FTP连接数监视
建立FTP脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.ftp
#!/bin/bash
all=`netstat -a | grep ftp|awk '{print $5}'|sort | wc -l|awk '{print$1 - 1}'`
user=`netstat -a | grep ftp|awk '{print $5}'|cut -d":" -f1|sort| uniq |wc -l | awk '{print $1 - 1}'`
if [ "$all" = "-1" ]; then
echo 0
else
echo $all
fi
if [ "$user" = "-1" ]; then
echo 0
else
echo $user
fi
UPtime=`/usr/bin/uptime | awk '{print $3 " " $4 " " $5}'`
echo $UPtime
hostname
使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.ftp
修改/usr/local/apache2/htdocs/mrtg/mrtg.cfg在文件最后加入ftp项目
Target[ftp]: `/opt/mrtg/mrtg.ftp`
MaxBytes[ftp]: 500
Options[ftp]: nopercent, growright
YLegend[ftp]: Online Users
ShortLegend[ftp]: %
LegendI[ftp]: &nbsp; Connect :
LegendO[ftp]: &nbsp; Online :
Title[ftp]: FTP Connect
PageTop[ftp]: <H1> FTP Connect </H1>
重新生成索引页面:
indexmaker /usr/local/apache2/htdocs/mrtg/mrtg.cfg > /usr/local/apache2/htdocs/mrtg/index.html
六、安装CPU温度监视
首先安装mbmon套件
建立CPU温度脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.temp
#!/bin/bash
/usr/bin/mbmon -c 1 -i -T 4 -u -n
exit 0
使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.temp
修改/usr/local/apache2/htdocs/mrtg/mrtg.cfg在文件最后加入cpu项目
Target[temp]: `/opt/mrtg/mrtg.temp`
MaxBytes[temp]: 100
Title[temp]: CPU Temperature
PageTop[temp]: <H1>CPU Temperature</H1>
Options[temp]: gauge,absolute,unknaszero,growright
YLegend[temp]: Temperature(C)
ShortLegend[temp]: (C)
Legend1[temp]: CPU Temperature
Legend2[temp]: M/B Temperature
LegendI[temp]: CPU Temp.
LegendO[temp]: M/B Temp.
重新生成索引页面:
indexmaker /usr/local/apache2/htdocs/mrtg/mrtg.cfg > /usr/local/apache2/htdocs/mrtg/index.html
七、硬盘读写监视
建立硬盘读写脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.disk
#!/bin/bash
hd=sda
disk=/dev/$hd
UPtime=`/usr/bin/uptime |awk '{print $3""$4""$5}'`
KBread_sec=`iostat -x $disk|grep $hd |awk '{print 8$}'`
KBwrite_sec=`iostat -x $disk|grep $hd |awk '{print 9$}'`
echo $KBread_sec
echo $KBwrite_sec
echo $UPtime
hostname
使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.disk
修改/usr/local/apache2/htdocs/mrtg/mrtg.cfg在文件最后加入硬盘读写
Target[disk]: `/opt/mrtg/mrtg.disk`
Title[disk]: Disk HDA I/O Utilization Report
#Unscaled[disk]: dwym
MaxBytes[disk]: 10240000
PageTop[disk]: <H1>Disk I/O Utilization Report</H1>
kmg[disk]: KB,MB,GB
LegendI[disk]: Disk I/O KBread/sec
LegendO[disk]: Disk I/O KBwrite/sec
Legend1[disk]: Disk I/O KBread/sec
Legend2[disk]: Disk I/O KBwrite/sec
YLegend[disk]: Megabytes
ShortLegend[disk]: &
Options[disk]: growright,gauge,nopercent
重新生成索引页面:
indexmaker /usr/local/apache2/htdocs/mrtg/mrtg.cfg > /usr/local/apache2/htdocs/mrtg/index.html
八、磁盘使用
建立磁盘使用脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.df
#!/usr/bin/perl
foreach $filesystem (`df -kl | grep -v "Filesystem"`)
{
@df = split(/\s+/,$filesystem);
$total += $df[1];
$usage += $df[2];
}
print "$total\n";
print "$usage\n";
hostname
使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.df
修改/usr/local/apache2/htdocs/mrtg/mrtg.cfg在文件最后加入
Target[disk]: `/opt/mrtg/mrtg.df`
Title[disk]: Disk Space
Unscaled[disk]: dwym
MaxBytes[disk]: 465247550
kmg[disk]: KB,MB,GB
LegendI[disk]: Total Disk Space
LegendO[disk]: Used Disk Space
Legend1[disk]: Total Disk Space
Legend2[disk]: Used Disk Space
YLegend[disk]: Megabytes
ShortLegend[disk]: &
Options[disk]: growright,nopercent
PageTop[disk]: <H1>Disk Space</H1>
重新生成索引页面:
indexmaker /usr/local/apache2/htdocs/mrtg/mrtg.cfg > /usr/local/apache2/htdocs/mrtg/index.html
九、交换分区
建立交换分区脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.swap
#!/bin/bash
# This script to monitor the swap usage.
totalswap=`/usr/bin/free |grep Swap |awk '{print $2}'`
usedswap=`/usr/bin/free |grep Swap |awk '{print $3}'`
echo "$totalswap"
echo "$usedswap"
使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.swap
修改/usr/local/apache2/htdocs/mrtg/mrtg.cfg在文件最后加入
Target[swap]: `/opt/mrtg/mrtg.swap`
MaxBytes[swap]: 2048000
Title[swap]:Memory State of Server
ShortLegend[swap]: &
kmg[swap]:kB,MB
kilo[swap]:1024
YLegend[swap]: Swap Usage
Legend1[swap]: Total Swap
Legend2[swap]: Used Swap
LegendI[swap]: Total Swap
LegendO[swap]: Used Swap
Options[swap]: growright,gauge,nopercent
PageTop[swap]:<H1>Swap</H1>
重新生成索引页面:
indexmaker /usr/local/apache2/htdocs/mrtg/mrtg.cfg > /usr/local/apache2/htdocs/mrtg/index.html

转载于:https://blog.51cto.com/marsren/90174

一步一步安装服务器监视软件MRTG相关推荐

  1. 如何在 Linux 上安装服务器管理软件 Cockpit

    如何在 Linux 上安装服务器管理软件 Cockpit Cockpit 是一个自由开源的服务器管理软件,它使得我们可以通过它好看的 web 前端界面轻松地管理我们的 GNU/Linux 服务器.Co ...

  2. Linux系统上怎么安装服务器管理软件Cockpit?

    Cockpit 是什么?Cockpit 是一个自由开源的服务器管理软件,使得我们可以通过它好看的 Web 前端界面轻松地管理我们的 GNU/Linux 服务器,非常轻量级,Web 界面也非常简单易用. ...

  3. viper4android 安装失败,一步一步教你如何使4.42版本ROOT并且安装Viper4Android音效软件...

    相信好多朋友已经更新到了安卓4.42版本,也即EMUI2.3了,这个时候大家都发现根本不能ROOT了,而且新安装的好多软件会自动启动,且去除不掉,内置的系统也删除不了,更可恶的是Viper4Andro ...

  4. 谷歌 android 4.42,一步一步教你如何使4.42版本ROOT并且安装Viper4Android音效软件

    相信好多朋友已经更新到了安卓4.42版本,也即EMUI2.3了,这个时候大家都发现根本不能ROOT了,而且新安装的好多软件会自动启动,且去除不掉,内置的系统也删除不了,更可恶的是Viper4Andro ...

  5. 天龙八步-》打造debian-desktop-》安装桌面和软件[二](转)

    天龙八步->打造debian-desktop->安装桌面和软件[二](转)[@more@] 第二章 安装桌面和软件 1.tasksel与dselect: tasksel: 安装三个东西:X ...

  6. 一步一步安装UEFI分区方式的windows 10 企业版

    发现很多坛友不会安装UEFI分区的windows 10 从启动设置,到分区,到最后的引导与激活都是很大的问题. 在我看来这是最不容易出错的安装方式适合于刚刚上手的菜鸟,自己按照图片一步一步的就可以安装 ...

  7. Ubuntu如何通过简单的几步操作来配置系统的软件源、找不到软件和更新怎么办?(带动态图文介绍)

       安装完Ubuntu后,我们会发现他的下载速度很慢,100MB的东西一下午没下完...这时候就需要更换软件源了,所以说软件源将直接影响我们的下载速度(差距挺大的),(当我们要下载的软件在当前软件源 ...

  8. 跟我一步一步使用VMware安装ubuntu20.04及优化

    1.下载Ubuntu镜像文件 首先需要下载VMware Workstation Pro 16虚拟机,虚拟机百度搜索下载,网上很多,我用的是VMware16版本的 ubuntu官网:http://www ...

  9. 一步一步教你如何自己架设高性能CS服务器(转)

    一步一步教你如何自己架设高性能CS服务器 没有人一生出来就什么都会的,同样我也是什么都不会,自己慢慢学的.我知道Dcoo上很多高手,如果本文有错误的地方,请不吝指正.以下基本都是偶在Dcoo等论坛上学 ...

  10. 一步一步在阿里云上架一个应用系统(云服务器ECS和轻量应用服务器选型)1

    一步一步在阿里云上架一个应用系统(云服务器ECS和轻量应用服务器选型) - 1 一步一步在阿里云上架一个应用系统(云服务器ECS选购配置) - 2 文章目录 前言 步骤 云服务器 所有组件 云服务器 ...

最新文章

  1. linux 存储映射lun 给_如何在 Linux 上扫描/检测新的 LUN 和 SCSI 磁盘 | Linux 中国
  2. java 修改wav文件头_使用Java聲音API從WAV文件中修剪開頭和結尾
  3. kafka的topic命名技巧
  4. Codeforces Round #182 (Div. 1)题解【ABCD】
  5. 请教如何保存matlab仿真出来的图,如何保存Matlab绘制出来的图像
  6. 安卓程序运行后控件不显示_智能镜子显示屏掀起了智能家居行业的新潮流
  7. 树莓派4B之Windows XP系统安装游戏(二)
  8. [笔记]MacOs BootCamp装Win10双系统 经历
  9. Python 学习:函数
  10. 【进阶技术】一篇文章搞掂:RibbitMQ
  11. java正则任意字符_正则表达式匹配任意字符(包括换行符)的写法
  12. 微信小程序 - 解决 rich-text 富文本解析图片无法自适应宽高问题(图片超出屏幕宽度且不受控)
  13. 【论文笔记】SeqSLAM、Fast-SeqSLAM 和 Bow、Incremental Bow、DBoW2、ORB-SLAM 论文阅读笔记
  14. 如何ssh连接本地的虚拟机
  15. dir-612b虚拟服务器,D-Link DIR 612B路由器设置上网教程
  16. 7 爬虫爬取网页文章(保留图片和文本顺序,原封不动)的数据库设计,且避免重复抓取...
  17. 松滋覃氏家族是明皇子朱棣的御林指挥使卢振的后裔
  18. 国外小项目,简单小项目赚美金,1个任务10秒,让你轻松赚美金,2022副业轻松赚钱
  19. 一个游戏程序员必须要读的书
  20. Deep Learning for Generic Object Detection: A Survey -- 目标检测综述总结

热门文章

  1. c语言命名规则 [转载]
  2. C#的yield return是怎么被调用到的?
  3. 各种免费在线工具收集
  4. IMU预积分推导——公式准备
  5. yolov5环境配置-Anaconda3 + Pytorch1.8 + Cuda10.2 + cuDnn8.2.0 + opencv3.2.0
  6. 【安装部署】Linus安装Mysql
  7. [Link-Cut-Tree][BZOJ2002]弹飞绵羊
  8. linux 7- - watch,free,mpstat,vmstat,iostat,pidstat,df,du
  9. web中有关文档元素距离的几个jquery 宽度 width高度height 尺寸 属性
  10. HTML中常用的列表标签