欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux系统上安装MRTG来监控网络流量

程序员文章站 2022-04-21 19:51:31
这篇文章主要介绍了Linux系统上安装MRTG来监控网络流量的方法,可视化的数据表达对于服务器的负载监测很方便,需要的朋友可以参考下... 15-10-27...

multi router traffic grapher------mrtg是一个监控网络链路流量负载的工具软件,通过snmp协议得到设备的流量信息,并将流量负载以包含png格式的图形的html 文档方式显示给用户,以非常直观的形式显示流量负载。
snmp(imple network management protocol,简单网络管理协议)的前身是简单网关监控协议(sgmp),用来对通信线路进行管理。随后,人们对sgmp进行了很大的修改,特别是加入了符合internet定义的smi和mib:体系结构,改进后的协议就是著名的snmp。snmp的目标是管理互联网internet上众多厂家生产的软硬件平台,因此snmp受internet标准网络管理框架的影响也很大。现在snmp已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。
Linux系统上安装MRTG来监控网络流量

下面来看一下其在linux系统上的安装方法:

(1)必须安装snmp

复制代码
代码如下:

rpm -qa|grep snmp* //查看是否安装了snmp
yum -y install snmp* //安装snmp
#vim /etc/snmp/snmpd.conf
rocommunity public //配置snmpv1模式
disk / 13102744 //配置系统的大小
disk /data 41279536 //配置数据盘的大小
service snmpd start //配置开启snmp
chkconfig snmpd on //设置开机启动

(2) 安装mrtg

复制代码
代码如下:

yum -y install mrtg*

(3)配置mrtg

复制代码
代码如下:

//配置就是一个模板,大家只要把ip修改成自己的 内存修改成自己的大小就可以了 我是在本地测试的
htmldir: /data/wwwroot/mrtg //这里是你网站的html地址 默认为 /var/www/mrtg
imagedir: /data/wwwroot/mrtg //这里是存放地址 默认为 /var/www/mrtg
logdir: /var/lib/mrtg
threshdir: /var/lib/mrtg
#
#[网络流入流出图]
#
target[eth0_lan]: /118.244.182.176:public@localhost
options[eth0_lan]:growright
language:utf8
directory[eth0_lan]:eth1
maxbytes[eth0_lan]: 5000000
title[eth0_lan]: eht0流入流出图
kmg[eth0_lan]:k,m,g
ylegend[eth0_lan]:bytes per second
shortlegend[eth0_lan]:b/s
legend1[eth0_lan]:每秒流入量
legend2[eth0_lan]:每秒流出量
legendi[eth0_lan]:流入
legendo[eth0_lan]:流出
pagetop[eth0_lan]: <h1>网卡流入流程图</h1>
pagefoot[eth0_lan]:<a href="www.jb51.net">jb51 inc</a>
#
#[cpu的负载]
#
target[cpuload]:.1.3.6.1.4.1.2021.11.50.0&.1.3.6.1.4.1.2021.11.53.0:public@localhost:
options[cpuload]:nopercent,growright
language:utf8
directory[cpuload]:cpu
maxbytes[cpuload]:100
unscaled[cpuload]:dwym
ylegend[cpuload]:cpu utilization
shortlegend[cpuload]:%
legend1[cpuload]:cpu用户负载(%)
legend2[cpuload]:cpu闲置(%)
legendi[cpuload]:用户
legendo[cpuload]:闲置
title[cpuload]:cpu负载
pagetop[cpuload]:<h1>cpu负载【用户+闲置】</h1>
pagefoot[cpuload]:<a href="www.jb51.net">jb51 inc</a>
#
#[内存使用]
#
target[memory]:.1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.4.0:public@localhost:
options[memory]:gauge,growright
directory[memory]:mem
language:utf8
maxbytes1[memory]:514908
maxbytes2[memory]:2096472
kmg[memory]:k,m,g
kilo[memory]:1024
unscaled[memory]:dwym
ylegend[memory]:memory btyes
shortlegend[memory]:b
legend1[memory]:已用mem(bytes)
legend2[memory]:已用swap(bytes)
legendi[memory]:已用mem:
legendo[memory]:已用swap
title[memory]:内存使用率
pagetop[memory]:<h1>内存使用量(mem+swap)</h1>
pagefoot[memory]:<a href="www.jb51.net">jb51 inc</a>
#
#[硬盘使用率]
#
target[disk]:.1.3.6.1.4.1.2021.9.1.8.1&.1.3.6.1.4.1.2021.9.1.8.2:public@localhost:
options[disk]:gauge,growright
language:utf8
directory[disk]:disk
maxbytes1[disk]:13102744
maxbytes2[disk]:41279536
kmg[disk]:k,m,g
kilo[disk]:1024
ylegend[disk]:disk bytes
shortlegend[disk]:b
legend1[disk]:系统磁盘已用空间
legend2[disk]:数据盘已用空间
legendi[disk]:系统已用
legendo[disk]:数据已用
title[disk]:硬盘空间使用率
pagetop[disk]:<h1>硬盘空间[系统盘+数据盘]</h1>
pagefoot[disk]:<a href="www.jb51.net">jb51 inc</a>
#================================================================================
#监控系统负载[1分钟+15分钟]
#================================================================================
target[systemload]: .1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.3:public@localhost:
options[systemload]: gauge,nopercent,growright
directory[systemload]: load
maxbytes[systemload]: 3000
ylegend[systemload]: system load
shortlegend[systemload]:
legend1[systemload]: 最近1分钟系统负载(x100)
legend2[systemload]: 最近15分钟系统负载(x100)
legendi[systemload]: 1分钟负载:
legendo[systemload]: 15分钟负载:
title[systemload]: 系统负载(x100)[1分钟+15分钟]
pagetop[systemload]:<h1>系统负载(x100)[1分钟+15分钟]</h1>
#================================================================================
#监控打开的tcp连接数[tcp连接数]
#================================================================================
target[tcpopen]: .1.3.6.1.2.1.6.9.0&.1.3.6.1.2.1.6.9.0:public@localhost:
options[tcpopen]: gauge,nopercent,growright
directory[tcpopen]: tcpopen
maxbytes[tcpopen]: 1000
ylegend[tcpopen]: tcp connections
shortlegend[tcpopen]: 个
legend1[tcpopen]: 打开的tcp连接数(个)
legend2[tcpopen]:
legendi[tcpopen]: tcp连接数:
legendo[tcpopen]:
title[tcpopen]: tcp连接数[tcp连接数]
pagetop[tcpopen]:<h1> tcp连接数[tcp连接数]</h1>

(4)设置启动和corntab
mrtg安装好后就已经在 /etc/cron.d/下有一个mrtg的文件了 我们只需要修改

复制代码
代码如下:

*/2 * * * * root lang=c lc_all=c /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok //每两分钟 执行一次

第一次执行会有错误 所以我们必须手动执行三次 没错误就可以了

复制代码
代码如下:

lang=c lc_all=c /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok

(5)我们到目录下生成index文件

复制代码
代码如下:

/usr/local/mrtg/bin/indexmaker /etc/mrtg/mrtg.cfg --output=/data/wwwroot/mrtg/index.html --title="自己起名"

效果如下
Linux系统上安装MRTG来监控网络流量