- 论坛徽章:
- 0
|
OSA的架构简单可以描述为:B/S/C模型,用户通过浏览器传送指令给 服务端(server模块),服务端将指令拆分后传送给指定的 客户端 (client),客户端 获取数据返回给 服务端,服务端程序将数据返回到浏览器 。
下面以一个简单的架构示意图来说明各模块之间的数据交互关系。
从上图可以看到,服务端 主要由php 前端程序、python(server,monitor,collect)以及数据库组成。
客户端 为 client 或者snmp agent,两者任选其一。
'''各模块主要功能'''
php 前端程序 主要负责从数据库获取数据,展现数据,处理前台页面的增删查改以及权限管理等功能。
除此以外,php 前端程序还会与server 模块发送指令,从客户端获取数据。
server 模块主要处理从PHP前端传过来的指令,并将指令转发致客户端,接收从客户端返回的数据,然后返回给PHP前端进行展示;
除此以外,server模块还有记录从客户端返回操作结果的功能。
monitor 模块主要处理监控报警相关事宜,从数据库或者配置文件获取监控项目及监控选项,根据配置选项从指定的客户端获取数据、
分析、对比数据,由对比结果决定是否执行记录故障,告警,触发关联脚本等操作。
collect 模块主要负责定期的采集数据,为图形分析提供数据支持,通常情况下会并发执行,采集所有正在运行的服务器或者监控项目数据。
client 模块是客户端的主要模块,主要负责提供数据给服务端,比如服务器CPU信息,进程信息,内存信息等。
snmp 是新版本OSA产品支持的数据获取方式,同样负责提供服务器相关数据给服务端,与client可以二选一。
|
|