环境介绍
MRTG是一个监控网络链路流量负载的工具软件,通过snmp协议得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载。
linux需要有lamp环境支持,snmp环境支持。linux安装snmp可以查看这里:linux安装snmp服务,以及常用的snmp指令
话不多说,直接开干!
安装步骤
-
mrtg的安装
先跟大家介绍一下
解压目录:/home/Lifangping/SoftPackage/mrtg-2.17.7
安装目录:/home/Lifangping/Soft/mrtg下载mrtg软件包:https://oss.oetiker.ch/mrtg/pub/?M=D ,(复制链接到浏览器中打开)我下载的版本是mrtg-2.17.7.tar.gz。
将安装包上传到linux服务器上,通过winscp。
解压安装
# tar -zxvf mrtg-2.17.7.tar.gz # cd mrtg-2.17.7 # ./configure --prefix=/home/Lifangping/Soft/mrtg
安装过程中出现错误,导致安装不能继续执行,故终止安装,解决错误。
错误内容:
提示我安装gd库。 -
安装中遇到的问题
mrtg安装需要依赖gd库,由于我的服务器未安装gd库,所以需要安装gd库
下载gd库安装包:https://github.com/libgd/libgd/releases ,我下载的是libgd-2.2.5.tar.gz。
将安装包上传到linux服务器上
先跟大家介绍一下
解压目录:/home/Lifangping/SoftPackage/libgd-2.2.5
安装目录:/home/Lifangping/Soft/gd解压并安装
# tar -zxvf libgd-2.2.5.tar.gz # cd mrtg-2.17.7 # ./configure --prefix=/home/Lifangping/Soft/gd # make # make install
成功安装没有报错。
-
重新安装mrtg。
细细查看错误提示得知我的错误类型为第一种。# tar -zxvf mrtg-2.17.7.tar.gz # cd mrtg-2.17.7 # ./configure --prefix=/home/Lifangping/Soft/mrtg --with-gd-lib=/home/Lifangping/Soft/gd/lib --with-gd-inc=/home/Lifangping/Soft/gd/include # make make install
成功安装,未出现任何错误,安装成功。
注释:–with-gd-lib:指定到gd库下的lib目录,–with-gd-inc:指定到gd库下的include目录(包含gd.h文件的目录)。 -
修改mrtg的配置文件(监控eth0网卡,cpu运行状态,磁盘空间以及内存的使用率)
在mrtg的安装目录下(/home/Lifangping/Soft/mrtg)
创建etc目录,并编辑mrtg.cfg文件# mkdir etc # cd etc # vi mrtg.cfg
mrtg.cfg的内容为:
###################################################################### # Multi Router Traffic Grapher -- Example Configuration File ###################################################################### # Minimal mrtg.cfg #--------------------- HtmlDir:/var/www/mrtg ImageDir:/var/www/mrtg logDir:/var/www/mrtg ThreshDir:/var/www/mrtg ###################################################################### # 监控eth0网卡(连接公网的) ###################################################################### Target[eth0_lan]:/127.0.0.1:public@localhost: Options[eth0_lan]:growright Directory[eth0_lan]:eth0 MaxBytes[eth0_lan]:100000000 Kmg[eth0_lan]:K,M,G YLegend[eth0_lan]:Bytes per Second ShortLegend[eth0_lan]:B/s Legend1[eth0_lan]:每秒流入量(单位 Bytes) Legend2[eth0_lan]:每秒流入量(单位 Bytes) Title[eth0_lan]:eth0网络流量[流入+流出] PageTop[eth0_lan]:<h1>eth0网络流量[流入+流出]</h1> ###################################################################### # 监控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 Directory[cpuload]:cpu MaxBytes[cpuload]:100 Unscaled[cpuload]:dwym YLegend[cpuload]:CPU Utilization ShortLegend[cpuload]:% Legend1[cpuload]:CPU用户负载(%) Legend2[cpuload]:CPU闲置 (%) Title[cpuload]:CPU负载[用户+闲置] PageTop[cpuload]:<h1>CPU负载[用户+闲置]</h1> ###################################################################### # 监控内存使用量[Mem+Swap] ###################################################################### Target[memory]:.1.3.6.1.4.1.2021.11.50.0&.1.3.6.1.4.1.2021.11.53.0:public@localhost: Options[memory]:gauge,growright Directory[memory]:mem MaxBytes1[memory]:1915248 MaxBytes2[memory]:2097148 Kmg[memory]:K,M,G Kilo[memory]:1024 Unscaled[memory]:dwym YLegend[memory]:Memory Bytes ShortLegend[memory]:B Legend1[memory]:已用Mem(Bytes) Legend2[memory]:已用Swap(Bytes) Title[memory]:内存使用量[Mem+Swap] PageTop[memory]:<h1>内存使用量[Mem+Swap]</h1> ###################################################################### # 监控磁盘空间[根分区+boot分区] ###################################################################### 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 Directory[disk]:disk MaxBytes1[disk]:17938864 MaxBytes2[disk]:487652 Kmg[disk]:K,M,G Kilo[disk]:1024 Unscaled[disk]:dwym YLegend[disk]:Disk Bytes ShortLegend[disk]:B Legend1[disk]:根分区已用空间 Legend2[disk]:boot分区已用空间 Title[disk]:磁盘空间[根分区+boot分区] PageTop[disk]:<h1>磁盘空间[根分区+boot分区]</h1>
-
添加定时任务
系统的信息需要实时监控,所以需要mrtg定时生成图片,所以需要添加定时任务。在/etc/cron.d下创建定时任务,系统会自动执行定时任务。
在/etc/cron.d目录下创建mrtg。# cd /etc/cron.d # vi mrtg #--文件内容如下 */2 * * * * root LANG=C /home/Lifangping/Soft/mrtg/bin/mrtg /home/Lifangping/Soft/mrtg/etc/mrtg.cfg #指定服务器两分钟执行一次,指定配置文件。(这个不需要写在定时任务中,仅供注释)
-
由于mrtg运行前两次为错误,所以需要手动运行,以保证定时任务在运行过程中的正确执行。
在命令行手动运行如下命令:# LANG=C /home/Lifangping/Soft/mrtg/bin/mrtg /home/Lifangping/Soft/mrtg/etc/mrtg.cfg
运行三次,前两次为会报错,第三那次正常运行。
一般在这里不会出现错误,但是我却出现了,
错误1:提示服务器为开启snmp服务,(这个小错误困扰了我好一会,看了半天才发现是snmp服务没有开启,所以大家一定要仔细查看错误提示)
解决方法:开启snmp服务,我的snmp服务安装在之前的博客中记录过,没有安装的可以查看一下,linux安装snmp可以查看这里:linux安装snmp服务,以及常用的snmp指令# 运行snmp服务 # /home/Lifangping/Soft/snmp/sbin/snmpd -c /home/Lifangping/Soft/snmp/etc/snmpd.conf
再次执行命令:
# LANG=C /home/Lifangping/Soft/mrtg/bin/mrtg /home/Lifangping/Soft/mrtg/etc/mrtg.cfg
错误成功解决,运行未报任何错误,由于mrtg.cfg的配置文件定义生成的图片路径为/var/www/mrtg下,此时该目录生成对应的状态图片。
-
通过indexmaker命令生成index首页。
# /home/Lifangping/Soft/mrtg/bin/indexmaker --output /var/www/mrtg/index.html --title="李芳平Web网站监控" /home/Lifangping/Soft/mrtg/etc/mrtg.cfg
注释:–output:指定index.html生成的路径;–title:指定index.html中title标题; 最后一个为指定的配置文件。
-
将项目部署在apache上,访问index.html,即可得到如下图:
每个点进去会有四张状态图,分别问每天、每周、每月、每年的运行状态
此时就可以实现对系统的运行状态进行实时监控啦!
相关博文:linux(CentOS)下Mrtg的安装詳解
还有好多博文帮助到我,在这里谢谢广大博主。
结论
对系统进行监控需要涉及好多,有系统安装snmp服务,并安装mrtg软件,通过定时任务,每个两分钟生成系统各个服务的运行状态,并通过Apache服务显示。这每一步的环节都会出现各式各样的问题,别气馁,多查资料,平静心态,总能够解决,我也是被坑了好多次,现在想想都想哭了(开玩笑了啦)。好了,就分享到这里了,拜拜。
如果您对这个文章有任何异议,那么请在文章评论处写上你的评论。
愿大家都能在编程这条路,越走越远。
如果你很忙,除了你这真的很重要之外,更可能的原因是:你很弱。 (这里我又想说的:我很弱,所以我忙的学知识,涨技能,然后成为一个真正的忙人)