系统监控技术之主机模块(精通Unix下C语言编程与项目实践)_第1张图片
文章试读
不拘一个遍程序系列程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国。
职场规划:一些杂七杂八的职场感悟吧。不值钱的软件人才 精力充沛与事业成功   让系分来得更猛烈些吧    不值钱的系统分析师   经济危机下大学生如何就业
我的诗歌:都是我的打油诗,但是很值得一读。不要工作还衣食无忧之四难歌   香格里拉美人图
宝宝图片:超可爱的小宝宝 博客
考试培训:主要是关于考研、软考和等级的相关题解。2009考研试题分析   2008年12月程序员试题分析    2009年软考备考全攻略    2008年5月程序员试题解析  轻松写系分论文
 
 
 
 
 
 

20 系统监控技术之主机模块

作者:朱云翔,胡平

Windows下的应用程序相比较,Unix下的应用程序往往不够直观。比如当我们需要确认某程序是否运行时,在Windows中只要查看任务栏就可以一目了然,而在Unix中必须使用shell命令“ps”才能看到一串不友好的字符。正因为如此,当Unix主机系统或服务应用出现故障或警报时,往往因为错误表现得不够直观,我们错失在第一时间内补救的机会。
系统监控项目可以在一定程度上弥补以上缺陷,它定时采集Unix主机的系统和应用信息,然后将此信息传送到Windows端,再利用Windows界面友好地向用户展示枯燥的主机信息。如果有错误或警报产生,它还将以闪屏或发声的方式提醒用户。
本章将设计一个系统监控项目的主机模块,它定时获取主机信息并将此数据通过UDP报文发送到信息转发模块。

20.1 系统模块划分

系统监控项目要求每隔一段时间读取一次被监控主机的某类信息,并把监控结果打包后,传送到Windows客户端。客户端解析报文,并转换为多媒体信息展示给客户。Windows客户端在接收主机信息前必须签到和定制监控的内容,否则将接收不到监控结果。
系统监控项目分为3个模块,分别是主机模块、信息转发模块和显示端模块:

1. 主机模块

本模块负责定时获取被监控主机的系统信息(比如文件系统的可用空间等)和应用信息(比如消息队列是否已经创建、进程是否仍在运行、套接字是否仍然保持连接等)。
主机模块担负了监控主机的各种系统信息的重任,它至少由两部分组成,分别是监控系统信息部分和调度监控部分,前者记载了监控各种系统信息的代码,后者则负责以一定的算法调度这些代码。

2. 信息转发模块

本模块负责接收从监控主机传来的系统信息和应用信息,并根据显示端的签到情况有选择的向显示端转发这些信息。

3. 显示端模块

本模块负责将枯燥的主机信息报文转化为图像和声音等多媒体形式,并以直观的、漂亮的、友好的界面输出,一般选择Windows平台下的PC机作为监控显示端。
主机模块将监控到的主机信息打包成报文,通过UDP套接字发送给信息转发模块,信息转发模块以UDP套接字的形式转发此报文到显示端。显示模块必须要通过TCP报文向信息转发模块签到和注册监控内容。各模块之间的关系如图20-1所示:
系统监控技术之主机模块(精通Unix下C语言编程与项目实践)_第2张图片
20-1 系统监控项目模块关系图
本章将讲述主机模块的设计,有关信息转发模块将在下一章讲述。
 
相关文章:
封面          前言        目录         策划         作者
动态库        变长参数    文件锁       外设         僵死进程
定时器        I/O重定向   消息队列    共享内存
 
  实践项目:
开发网页投票器(一)  (二) 
开发网页投票器  字符串报文
银行代发工资报文
Unix下远程控制程序
监控程序主机模块