基于树莓派的网络监控系统的与实现

更新时间:2024-02-01 作者:用户投稿原创标记本站原创 点赞:6211 浏览:20906

摘 要 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模块定时运行来检测站点,如果脚本判断出网站出了问题或者无法访问,可用tplib模块发邮件把这个事件的总体情况告诉管理员.

3.5 安全摄像头

树莓派上有连接摄像头的接口,我们可以用一个叫做motion的软件来捕获各种视频图像,也可以自己开发一个移动客户端,把树莓派监控到的数据流实时动态的传输到远程终端.

4.结束语

随着网络技术快速发展和在各行业的广泛应用,网络监控已成为网络发展中的必然产物.基于树莓派的网络监控系统以树莓派为平台,对网络数据进行连续采集,并进行统计和分析,形成性能报表,将结果以图像化方式显示.在性能异常的情况下,系统向网络管理者进行邮件提醒并自动报警,使故障得到及时处理.该系统兼备成本低、适用范围广、使用方便等优点,应用于小型办公环境,给用户的网络使用带来尽可能的安全与便利.