您好,欢迎访问三七文档
项目要求RE.ER嵌入式学院通过两周的初训,每位同学均需要独立的完成整个项目开发过程:从需求的提出与分析,到方案的设计,再到代码的编写与调试,并最后完成布署与实施,从而使每位同学均具有较强独立项目开发的能力。对LINUX下的目录结构、守护进程运作机制、进程及进程控制、进程间的通信、线程及线程间同步、Socket网络编程、网络服务器开发等等技术有很深入的理解,为日后从事类UNIX程序开发打下坚实的基础。实训目的伴随LINUX功能的增强及伴随软件的增加,其在服务器市场上不断的攻城掠地,它已经成为了很多大型服务器与集群服务器的首选操作系统。由于服务器数量的不断增加,服务器的管理成为日益重要的工作,任务也成倍的增长,为了解决繁重的管理任务,众多公司与开源社区推出了很多优秀的服务器管理软件,如CACTI,NAGIOS等背景资料背景资料背景资料需求说明需求说明工作流程:在Host服务器上运行数据采集程序,依照配置文件中的要求,取得当前的状态数据,然后按指定格式发给Database服务器——数据采集端DatabaseServer把数据按指定的要求存储在数据库中——数据仓库WEB/ApplicationServer按客户访问请求,从数据仓库中取得数据,按指定格式向客户发送数据——前端用户登录前端服务器,查看当前状态及状态变化——管理员需求说明我们工作就是编写在数据采集端运行的数据采集器:1、数据采集器启动之后,读取配置文件,按配置文件的要求,采集系统中的状态信息,并按时通过网络发送给数据仓库。pidfile=/var/run/sta.pidlogfile=/var/log/sta/yyyy-mm-dd.logdbserver.ip=192.168.10.19dbserver.port=8080……配置文件实例需求说明2、在配置文件中指定采集哪些项目,采集间隔时间多少。例如至少需要采集两个设备,每个设备至少两项参数HD={/dev/sda1,dev/sda2};指定采集哪些存储器HD.FreeSpace=y;是否采集剩余空间大小HD.TotalSpace=y;是否采集总空间大小HD.Interval=3600;每次采集数据间隔时间MEM=y;是否采集内存状态MEM.Free=y;是否采集内存剩余空间MEM.Total=y;是否采集内存总空间大小MEM.Buffer=y;是否采集当前Buffer大小MEM.Interval=60;每次采集数据间隔时间需求说明3、采集到的数据按指定格式发送给数据仓库。如HDID/dev/sda1/IDFree1000M/FreeTotal250G/Total/HD需求说明4、由于该服务器是24x7不间断运行,因此,需要我们记录该程序运行的相关日志信息,并且可以在配置文件中指定,哪些等级的信息不记录。如log.level=noticelog.file=/var/log/sta/yyyy-mm-dd.log需求说明5、整个程序各功能块之间应该具有松耦合。即:负责数据采集的代码只负责数据采集工作,负责数据打包的代码应该只负责数据打包,负责数据发送的代码只负责……数据发送,负责记录日志的代码只负责日志记录,即各块之间相对独立。各代码之间通信应该采用LINUX中的进程或线程通信机制中的一种或几种实现打包发送日志文件需求说明6、为了验证数据发送是否成功,应该要编写一个简单的数据仓库端程序(可以只把接收到的数据打印出来即可)。7、程序以守护进程的方式运行,只能启动一个进程,当试图启动多个进程时,程序应该能报错并正常退出。8、具体执行采集任务的代码必须采用动态库方式组织。9、项目需要有完整的文档(简单的需求分析,方案设计,辅助文档、良好的代码注释)。Q&A
本文标题:项目要求_项目内容
链接地址:https://www.777doc.com/doc-815620 .html