基于树莓派的网络监控系统的研究与实现
2014-08-22汪鑫彭雨薇
汪鑫 彭雨薇
摘 要 RaspberryPi(树莓派)凭借其卡片式的体积及良好性能迅速成为硬件DIY的明星产品。针对目前严峻的网络安全问题,提出以树莓派为硬件平台,使用Cacti监测预警的网络监控系统,分析了Cacti的整体架构和工作原理,对其如何移植到树莓派上进行了说明,最后对树莓派的更多应用做了简要描述。
关键词 树莓派;Cacti;网络监控;卡片机
中图分类号:TP393 文献标识码:A 文章编号:1671-7597(2014)14-0025-02
树莓派(Raspberry Pi)是一款基于ARM的微型电脑主板,以SD卡为内存硬盘,在卡片主板周围有两个USB接口和一个网口,可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上,具备所有PC的基本功能。
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。作为开源的网络监测分析工具,集成了Php、MySQL、Apache、NET-SNMP、RRDTool等工具和功能模块。Cacti不仅能够实时的以图像化的方式监测网络状态信息、能够对网络故障进行报警、能够创建不同的监测模板,而且还能够安装各种网络监测插件。
本文针对网络数据安全问题,将Cacti与树莓派软硬件相结合,实现了基于树莓派的网络监控系统,并对监控原理与安装配置做了详细说明。
1 网络监控
1.1 系统整体架构
基于树莓派的网络监控系统是一个典型的三层架构,由数据采集、数据存储、数据展现三个部分组成。如下图所示。
数据采集层:NET-SNMP是其主要的数掘采集手段,不支持SNMP协议的可通过Linux的shell、php、perl等脚本来进行采集。
数据存储层:分为两个部分,一个是RRDTool绘图引擎,它将采集到的网络状态信息进行加工处理生成RRD文件,并从文件中取出相应的数据绘制图像;另一个是MySQL数据库,它用来存储RRDTool绘图所需的信息,包括RRA文件、插件信息、绘图模板的存储位置等。
数据展现层:由web方式展示,主要通过apache服务器实现。给用户提供可操作的界面,包括创建监测内容和模板、管理设备和图形、管理模板和插件等。
1.2 系统工作原理
基于树莓派的网络监控系统由4个部分组成:Cacti、SNMP、RRDTool和Mysql。下面分别介绍这四个部分。
1)PHP程序编写Cacti网页页面,这是用户与Cacti交互的平台,用户在此网页页面可以进行所有的操作。
2)采集工具SNMP实现数据采集,在Linux环境下使用Net-SNMP软件包自带的“snmpget”和“snmpwalk”等程序,Windows下使用PHP的SNMP功能。
3)绘图引擎RRDTool存储与绘图相关的数据,生成Cacti需要的图片。
4)数据库MySQL储放与RRDTool画图有关的所有数据,例如图片模型、主机对应信息、rra数据文件等,MySQL数据库不负责性能数据的存储,这些数据存储在rrd类型的文件中。
2 系统实现
2.1 搭建系统环境
准备材料:一张SD卡,一个SD读卡器,一个5V的USB接口充电器,一个HDMI转VGA接头,一套USB接口的键盘和鼠标,一个Hub集线器,以太网线或无线网卡。
下载基于Debian的Raspian系统文件,用Win32DiskImager小工具将下载的IMG文件写入到SD卡中。为了避免出现错误,镜像文件应放入全英文路径下,选择好读卡器盘符,点击Write即可。
5)一些插件的使用:
①Monitor插件,可以查看所有被监控设备当前的状态,如果某台机器出现宕机,它会自动发出警报。
②Threshold插件,可以对任意被监控设备设置阈值报警,一旦设置的某项参数超过预定值,Cacti将以邮件等形式向管理员发出报警提示。
③Weathermap插件,用于绘制网络拓扑图,在绘制好的拓扑图上可以显示实时的流量,链路状态等信息。
3 树莓派其他应用
3.1 备份邮件
使用树莓派最重要的功能之一就是备份邮件。用一个叫做getmail的软件来检查每份使用POP或者IMAP协议的邮件,定时查看各个账号的邮件。然后把邮件保存到一个mbox文件,这个文件可以在任何时候被复制到另一台电脑上做长期的邮件
归档。
3.2 搭建个人RSS阅读器
一个自托管的基于网络的RSS客户端miniflux可以安装到树莓派上。在树莓派上安装miniflux十分简单,只需要提前安装PHP和一个web服务器软件就好,比如nginx或者Apache。
3.3 搭建网站
树莓派一个很明显的用处就是作为网站的后台服务器。树莓派有足够的能力来处理静态网站,一些web框架也不成问题。
3.4 站点监控
树莓派的另一个用处就是用来检测重要的网站。这里我们可以简单的用Python的Requests模块定时运行来检测站点,如果脚本判断出网站出了问题或者无法访问,可用smtplib模块发邮件把这个事件的总体情况告诉管理员。
3.5 安全摄像头
树莓派上有连接摄像头的接口,我们可以用一个叫做motion的软件来捕获各种视频图像,也可以自己开发一个移动客户端,把树莓派监控到的数据流实时动态的传输到远程终端。
4 结束语
随着网络技术快速发展和在各行业的广泛应用,网络监控已成为网络发展中的必然产物。基于树莓派的网络监控系统以树莓派为平台,对网络数据进行连续采集,并进行统计和分析,形成性能报表,将结果以图像化方式显示。在性能异常的情况下,系统向网络管理者进行邮件提醒并自动报警,使故障得到及时处理。该系统兼备成本低、适用范围广、使用方便等优点,应用于小型办公环境,给用户的网络使用带来尽可能的安全与便利。
参考文献
[1]Urban T. Cacti 0.8 Beginners Guide[M]. Packt Publishing Limited, 2011.
[2]金天昕.浅谈Cacti对网络状态的监测分析[J].中国新技术新产品,2012(4):69-70.
[3]董凯.基于Cacti的网络运行监测系统的设计与实现[D].山东大学,2013.
[4]Raspberry Pi. http://www.waveshare.net/txt/RPi-UM.htm.
[5]Cacti. http://forums.cacti.net/.
作者简介
汪鑫(1993-),男,北京人,本科,研究方向:信息
安全。
彭雨薇(1993-),女,北京人,本科,研究方向:网络
工程。endprint
摘 要 RaspberryPi(树莓派)凭借其卡片式的体积及良好性能迅速成为硬件DIY的明星产品。针对目前严峻的网络安全问题,提出以树莓派为硬件平台,使用Cacti监测预警的网络监控系统,分析了Cacti的整体架构和工作原理,对其如何移植到树莓派上进行了说明,最后对树莓派的更多应用做了简要描述。
关键词 树莓派;Cacti;网络监控;卡片机
中图分类号:TP393 文献标识码:A 文章编号:1671-7597(2014)14-0025-02
树莓派(Raspberry Pi)是一款基于ARM的微型电脑主板,以SD卡为内存硬盘,在卡片主板周围有两个USB接口和一个网口,可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上,具备所有PC的基本功能。
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。作为开源的网络监测分析工具,集成了Php、MySQL、Apache、NET-SNMP、RRDTool等工具和功能模块。Cacti不仅能够实时的以图像化的方式监测网络状态信息、能够对网络故障进行报警、能够创建不同的监测模板,而且还能够安装各种网络监测插件。
本文针对网络数据安全问题,将Cacti与树莓派软硬件相结合,实现了基于树莓派的网络监控系统,并对监控原理与安装配置做了详细说明。
1 网络监控
1.1 系统整体架构
基于树莓派的网络监控系统是一个典型的三层架构,由数据采集、数据存储、数据展现三个部分组成。如下图所示。
数据采集层:NET-SNMP是其主要的数掘采集手段,不支持SNMP协议的可通过Linux的shell、php、perl等脚本来进行采集。
数据存储层:分为两个部分,一个是RRDTool绘图引擎,它将采集到的网络状态信息进行加工处理生成RRD文件,并从文件中取出相应的数据绘制图像;另一个是MySQL数据库,它用来存储RRDTool绘图所需的信息,包括RRA文件、插件信息、绘图模板的存储位置等。
数据展现层:由web方式展示,主要通过apache服务器实现。给用户提供可操作的界面,包括创建监测内容和模板、管理设备和图形、管理模板和插件等。
1.2 系统工作原理
基于树莓派的网络监控系统由4个部分组成:Cacti、SNMP、RRDTool和Mysql。下面分别介绍这四个部分。
1)PHP程序编写Cacti网页页面,这是用户与Cacti交互的平台,用户在此网页页面可以进行所有的操作。
2)采集工具SNMP实现数据采集,在Linux环境下使用Net-SNMP软件包自带的“snmpget”和“snmpwalk”等程序,Windows下使用PHP的SNMP功能。
3)绘图引擎RRDTool存储与绘图相关的数据,生成Cacti需要的图片。
4)数据库MySQL储放与RRDTool画图有关的所有数据,例如图片模型、主机对应信息、rra数据文件等,MySQL数据库不负责性能数据的存储,这些数据存储在rrd类型的文件中。
2 系统实现
2.1 搭建系统环境
准备材料:一张SD卡,一个SD读卡器,一个5V的USB接口充电器,一个HDMI转VGA接头,一套USB接口的键盘和鼠标,一个Hub集线器,以太网线或无线网卡。
下载基于Debian的Raspian系统文件,用Win32DiskImager小工具将下载的IMG文件写入到SD卡中。为了避免出现错误,镜像文件应放入全英文路径下,选择好读卡器盘符,点击Write即可。
5)一些插件的使用:
①Monitor插件,可以查看所有被监控设备当前的状态,如果某台机器出现宕机,它会自动发出警报。
②Threshold插件,可以对任意被监控设备设置阈值报警,一旦设置的某项参数超过预定值,Cacti将以邮件等形式向管理员发出报警提示。
③Weathermap插件,用于绘制网络拓扑图,在绘制好的拓扑图上可以显示实时的流量,链路状态等信息。
3 树莓派其他应用
3.1 备份邮件
使用树莓派最重要的功能之一就是备份邮件。用一个叫做getmail的软件来检查每份使用POP或者IMAP协议的邮件,定时查看各个账号的邮件。然后把邮件保存到一个mbox文件,这个文件可以在任何时候被复制到另一台电脑上做长期的邮件
归档。
3.2 搭建个人RSS阅读器
一个自托管的基于网络的RSS客户端miniflux可以安装到树莓派上。在树莓派上安装miniflux十分简单,只需要提前安装PHP和一个web服务器软件就好,比如nginx或者Apache。
3.3 搭建网站
树莓派一个很明显的用处就是作为网站的后台服务器。树莓派有足够的能力来处理静态网站,一些web框架也不成问题。
3.4 站点监控
树莓派的另一个用处就是用来检测重要的网站。这里我们可以简单的用Python的Requests模块定时运行来检测站点,如果脚本判断出网站出了问题或者无法访问,可用smtplib模块发邮件把这个事件的总体情况告诉管理员。
3.5 安全摄像头
树莓派上有连接摄像头的接口,我们可以用一个叫做motion的软件来捕获各种视频图像,也可以自己开发一个移动客户端,把树莓派监控到的数据流实时动态的传输到远程终端。
4 结束语
随着网络技术快速发展和在各行业的广泛应用,网络监控已成为网络发展中的必然产物。基于树莓派的网络监控系统以树莓派为平台,对网络数据进行连续采集,并进行统计和分析,形成性能报表,将结果以图像化方式显示。在性能异常的情况下,系统向网络管理者进行邮件提醒并自动报警,使故障得到及时处理。该系统兼备成本低、适用范围广、使用方便等优点,应用于小型办公环境,给用户的网络使用带来尽可能的安全与便利。
参考文献
[1]Urban T. Cacti 0.8 Beginners Guide[M]. Packt Publishing Limited, 2011.
[2]金天昕.浅谈Cacti对网络状态的监测分析[J].中国新技术新产品,2012(4):69-70.
[3]董凯.基于Cacti的网络运行监测系统的设计与实现[D].山东大学,2013.
[4]Raspberry Pi. http://www.waveshare.net/txt/RPi-UM.htm.
[5]Cacti. http://forums.cacti.net/.
作者简介
汪鑫(1993-),男,北京人,本科,研究方向:信息
安全。
彭雨薇(1993-),女,北京人,本科,研究方向:网络
工程。endprint
摘 要 RaspberryPi(树莓派)凭借其卡片式的体积及良好性能迅速成为硬件DIY的明星产品。针对目前严峻的网络安全问题,提出以树莓派为硬件平台,使用Cacti监测预警的网络监控系统,分析了Cacti的整体架构和工作原理,对其如何移植到树莓派上进行了说明,最后对树莓派的更多应用做了简要描述。
关键词 树莓派;Cacti;网络监控;卡片机
中图分类号:TP393 文献标识码:A 文章编号:1671-7597(2014)14-0025-02
树莓派(Raspberry Pi)是一款基于ARM的微型电脑主板,以SD卡为内存硬盘,在卡片主板周围有两个USB接口和一个网口,可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上,具备所有PC的基本功能。
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。作为开源的网络监测分析工具,集成了Php、MySQL、Apache、NET-SNMP、RRDTool等工具和功能模块。Cacti不仅能够实时的以图像化的方式监测网络状态信息、能够对网络故障进行报警、能够创建不同的监测模板,而且还能够安装各种网络监测插件。
本文针对网络数据安全问题,将Cacti与树莓派软硬件相结合,实现了基于树莓派的网络监控系统,并对监控原理与安装配置做了详细说明。
1 网络监控
1.1 系统整体架构
基于树莓派的网络监控系统是一个典型的三层架构,由数据采集、数据存储、数据展现三个部分组成。如下图所示。
数据采集层:NET-SNMP是其主要的数掘采集手段,不支持SNMP协议的可通过Linux的shell、php、perl等脚本来进行采集。
数据存储层:分为两个部分,一个是RRDTool绘图引擎,它将采集到的网络状态信息进行加工处理生成RRD文件,并从文件中取出相应的数据绘制图像;另一个是MySQL数据库,它用来存储RRDTool绘图所需的信息,包括RRA文件、插件信息、绘图模板的存储位置等。
数据展现层:由web方式展示,主要通过apache服务器实现。给用户提供可操作的界面,包括创建监测内容和模板、管理设备和图形、管理模板和插件等。
1.2 系统工作原理
基于树莓派的网络监控系统由4个部分组成:Cacti、SNMP、RRDTool和Mysql。下面分别介绍这四个部分。
1)PHP程序编写Cacti网页页面,这是用户与Cacti交互的平台,用户在此网页页面可以进行所有的操作。
2)采集工具SNMP实现数据采集,在Linux环境下使用Net-SNMP软件包自带的“snmpget”和“snmpwalk”等程序,Windows下使用PHP的SNMP功能。
3)绘图引擎RRDTool存储与绘图相关的数据,生成Cacti需要的图片。
4)数据库MySQL储放与RRDTool画图有关的所有数据,例如图片模型、主机对应信息、rra数据文件等,MySQL数据库不负责性能数据的存储,这些数据存储在rrd类型的文件中。
2 系统实现
2.1 搭建系统环境
准备材料:一张SD卡,一个SD读卡器,一个5V的USB接口充电器,一个HDMI转VGA接头,一套USB接口的键盘和鼠标,一个Hub集线器,以太网线或无线网卡。
下载基于Debian的Raspian系统文件,用Win32DiskImager小工具将下载的IMG文件写入到SD卡中。为了避免出现错误,镜像文件应放入全英文路径下,选择好读卡器盘符,点击Write即可。
5)一些插件的使用:
①Monitor插件,可以查看所有被监控设备当前的状态,如果某台机器出现宕机,它会自动发出警报。
②Threshold插件,可以对任意被监控设备设置阈值报警,一旦设置的某项参数超过预定值,Cacti将以邮件等形式向管理员发出报警提示。
③Weathermap插件,用于绘制网络拓扑图,在绘制好的拓扑图上可以显示实时的流量,链路状态等信息。
3 树莓派其他应用
3.1 备份邮件
使用树莓派最重要的功能之一就是备份邮件。用一个叫做getmail的软件来检查每份使用POP或者IMAP协议的邮件,定时查看各个账号的邮件。然后把邮件保存到一个mbox文件,这个文件可以在任何时候被复制到另一台电脑上做长期的邮件
归档。
3.2 搭建个人RSS阅读器
一个自托管的基于网络的RSS客户端miniflux可以安装到树莓派上。在树莓派上安装miniflux十分简单,只需要提前安装PHP和一个web服务器软件就好,比如nginx或者Apache。
3.3 搭建网站
树莓派一个很明显的用处就是作为网站的后台服务器。树莓派有足够的能力来处理静态网站,一些web框架也不成问题。
3.4 站点监控
树莓派的另一个用处就是用来检测重要的网站。这里我们可以简单的用Python的Requests模块定时运行来检测站点,如果脚本判断出网站出了问题或者无法访问,可用smtplib模块发邮件把这个事件的总体情况告诉管理员。
3.5 安全摄像头
树莓派上有连接摄像头的接口,我们可以用一个叫做motion的软件来捕获各种视频图像,也可以自己开发一个移动客户端,把树莓派监控到的数据流实时动态的传输到远程终端。
4 结束语
随着网络技术快速发展和在各行业的广泛应用,网络监控已成为网络发展中的必然产物。基于树莓派的网络监控系统以树莓派为平台,对网络数据进行连续采集,并进行统计和分析,形成性能报表,将结果以图像化方式显示。在性能异常的情况下,系统向网络管理者进行邮件提醒并自动报警,使故障得到及时处理。该系统兼备成本低、适用范围广、使用方便等优点,应用于小型办公环境,给用户的网络使用带来尽可能的安全与便利。
参考文献
[1]Urban T. Cacti 0.8 Beginners Guide[M]. Packt Publishing Limited, 2011.
[2]金天昕.浅谈Cacti对网络状态的监测分析[J].中国新技术新产品,2012(4):69-70.
[3]董凯.基于Cacti的网络运行监测系统的设计与实现[D].山东大学,2013.
[4]Raspberry Pi. http://www.waveshare.net/txt/RPi-UM.htm.
[5]Cacti. http://forums.cacti.net/.
作者简介
汪鑫(1993-),男,北京人,本科,研究方向:信息
安全。
彭雨薇(1993-),女,北京人,本科,研究方向:网络
工程。endprint