1概述1.1开发背景和意义随着公司规模的迅速扩大,现行的纯纸质化办公,效率低下、资料保存和查询非常困难、成本高、不利于多人协同办公,成为日常办公的严重制约。
尤其是需要审批的事项,如果遇到审批人出差或不在公司,往往需要等待,协调的成本很高,工作决策不能及时进行,大大降低了工作效率。
开发审批系统,使得申请人和审批人不受地域和时间限制,审批流程自动流转,相关人可以快键协调。
1.2开发目标系统在需求设计时要充分考虑了用户的使用习惯、模块间的相互独立性,减少系统间的相互依赖,使其能单独运行,便于开发和维护,也有利于以后的扩充,做到与其他业务系统的高内聚、松耦合。
特别强调系统的用户体验,以及与实际审批业务的贴合性,真正方便用户的申请和审批业务快键开展。
1.3主要内容系统主要内容包括:(1) 考勤管理:员工的加班、调休、请假、市内外出、出差等的申请、审批、查询和统计。
(2)转正申请:员工完成试用期,进入转正审批环节,完成该环节后,成为正式员工。
(3)物资申请:办公用物资的申请和审批。
1.4用户对象包括总公司、山西、广西、河南、湖北等办事处、分公司全部员工。
1.5业务数据时间要求针对用户对数据的要求,业务数据做永久性保存,部分业务数据可转入查询库中作为历史数据供查询使用。
2功能需求2.1功能框架2.1.1总体框架操作系统运行监控:虚拟机可用性cpu负载内存使用IO情况空间使用情况OS日志进程情况计划任务情况时钟偏差端口使用情况路由表一页查看多操作系统执行命令:中间件运行监控:取jmx的一些指标。
数据库运行监控:主目录集群状态实例状态监听器状态表空间预警归档情况rman备份情况不良sql未使用的索引大表数据量alert文件报错job失败编译失败。
性能优化:把上面的指标综合一下;虚拟机和服务整体预警:汇总超过阀值的指标。
2.1业务需求2.1.1数据管理1.功能描述该模块用于收集系统所需的数据。
数据,一般是指位于设备上的数据,比如位于服务器操作系统上的文件。
数据定义:定义需要收集的数据类型。
认证管理:为了访问受管设备或资源,一般是需要认证的,比如用户名、密码数据路径:定义该数据所在的路径,以确保程序可以找到所需的数据。
该路径,是作为抓取程序的输入参数使用。
资料库管理:定义资料库位置,收集的数据先放到磁盘上,然后再解析入数据库,在数据库里存放引用关系。
解析入库:对于存放在资料库里指定目录的文件,解析文件,进入数据库,该解析过程通常由调度程序发起调用,也可以手工发起。
2.业务处理流程总体的步骤如下图所示:抓取服务,是通过网络读取文件的过程;存储服务,是往指定的磁盘目录存放文件的过程;解析入库,是解析指定目录的磁盘文件,将数据保存进数据库的过程;数据应用,是对数据库中的文件查询和统计。
3.界面展现及输入输出认证管理:主机名称用途资源类型认证方式用户名密码haltpxzgqdyy01征管前端应用虚拟机(OLE5.9) 密码,ssh root ovsroothaltpxzgmhweb01工作门户虚拟机(OLE5.9) 密码,ssh root ovsroot受管主机文件路径管理:调度路线:这里的调度文件,引用“受管主机文件路径管理”中定义的文件。
资料库文件路径管理:/data/20141120/proc/cpuinfo解析管理:4.相关表操作5.特殊要求说明2.1.2资源监控1.功能描述资源分类定义:要管理的资源是多种多样的,比如:虚拟机、防火墙、交换机、中间件、数据库、应用程序等等。
资源属性定义:资源的属性,是和具体的资源分类相关的,比如,资源类型为虚拟机的资源属性有:是否启动、OS版本、cpu信息、内存信息、存储信息、hostname、ip地址等等;资源类型为中间件的资源属性有:是否启动、是否有异常报错、占用内存数量、连接池数量等等。
指令管理:对资源的探测、查询是需要OS级或网络级指令的,或者需要产品接口,这里定义这些指令。
2.业务处理流程资源要先定义后使用,先定义类型,再定义属性虚拟机的可用性,用ping和ssh来探测,算法是先ping,再ssh探测,都通的,认为可用性正常。
虚拟机的配置,读取文件/proc/cpus3.界面展现及输入输出资源定义:暂时先留着虚拟机可用性展示:条件:时间:当前(默认),取样时刻列表主机名称用途资源类型IP地址所在位置可用性haltpxzgqdyy01征管前端应用虚拟机(OLE5.9) 147.12.184.11 EL X3-2haltpxzgmhweb01工作门户BS设计虚拟机(OLE5.9) 147.12.184.12 EL X3-2haltpxzgapp01征管核心定时任务虚拟机(OLE5.9) 147.12.184.13 EL X3-2数据来源:这是一个字典表,需要先录入(增、删、改),"可用性"是用ping和ssh进行探测得到的结果。
可用的定义:ping成功and ssh成功不可用定义:ssh 失败(time out(20S) or connection refused)虚拟机配置展示:主机名称用途资源类型CPU 内存交换分区空间haltpxzgqdyy01征管前端虚拟机(OLE5.9) 4C 16G 16G df -h数据来源:1.前三列字段,取上图录入过的数据2. cpu的获取命令:(linux)grep 'processor' /proc/cpuinfo | sort -u | wc -l[root@localhost ~]# grep 'processor' /proc/cpuinfo | sort -u | wc -l 23.内存和交换分区大小的获取命令:cat /proc/meminfo取MemTotal的值取SwapTotal[root@localhost ~]# cat /proc/meminfoMemTotal: 12330652 kBMemFree: 1029984 kBBuffers: 297228 kBCached: 10298352 kBSwapCached: 0 kBActive: 8830664 kBInactive: 2045620 kBActive(anon): 5379076 kBInactive(anon): 1173052 kBActive(file): 3451588 kBInactive(file): 872568 kBUnevictable: 0 kB Mlocked: 0 kB SwapTotal: 10239992 kB SwapFree: 10239992 kB Dirty: 28 kB Writeback: 0 kB AnonPages: 280696 kB Mapped: 4763068 kB Shmem: 6271432 kB Slab: 234100 kB SReclaimable: 198384 kB SUnreclaim: 35716 kB KernelStack: 2248 kB PageTables: 81376 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 16405316 kB Committed_AS: 7459572 kB VmallocTotal: 34359738367 kB VmallocUsed: 305100 kB VmallocChunk: 34359429916 kB HardwareCorrupted: 0 kB AnonHugePages: 75776 kB HugePages_Total: 0 HugePages_Free: 0HugePages_Rsvd: 0HugePages_Surp: 0Hugepagesize: 2048 kBDirectMap4k: 10240 kBDirectMap2M: 12572672 kB[root@localhost ~]#空间列,显示df -h的信息[root@localhost ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/V olGroup-LogV ol01 49G 11G 36G 23% /tmpfs 12G 6.0G 6.1G 50% /dev/shm/dev/sda1 194M 35M 150M 19% /boot/dev/mapper/V olGroup-LogV ol02 238G 18G 208G 8% /u01存储空间展示:(先不做)数据来源:该表与上表类似,从存储角度说明一个分区的挂载情况,这里是指共享存储。
进程展示:(当用户发起查看请求时获取,暂时不存放历史数据,暂时可以不放数据库中)ps -ef的文本[root@localhost ~]# ps -efUID PID PPID C STIME TTY TIME CMDroot 1 0 0 Sep28 ? 00:03:39 /sbin/initroot 2 0 0 Sep28 ? 00:00:00 [kthreadd]root 3 2 0 Sep28 ? 00:00:02 [migration/0]root 4 2 0 Sep28 ? 00:01:13 [ksoftirqd/0]root 5 2 0 Sep28 ? 00:00:00 [migration/0]root 6 2 0 Sep28 ? 00:00:11 [watchdog/0]进程名称:UID描述文本:CMD4.相关表操作5.特殊要求说明2.1.3性能管理1.功能描述性能分类定义:硬件性能、OS性能、网络性能、存储性能、中间件性能、数据库性能2.业务处理流程整体的思路是:1周期性向所有受控机器发送OS命令,执行后获得命令的输出;2.解析存放到数据库中;3.然后是相应的统计查询。
执行的命令是:top查看进程活动状态以及一些系统状况vmstat查看系统状态、硬件和系统信息等iostat查看CPU 负载,硬盘状况sar综合工具,查看系统状况mpstat查看多处理器状况netstat查看网络状况iptraf实时网络状况监测tcpdump抓取网络数据包,详细分析mpstat 查看多处理器状况tcptrace数据包分析工具netperf网络带宽工具dstat综合工具,综合了vmstat, iostat, ifstat, netstat 等多个信息3.界面展现及输入输出4.相关表操作5.特殊要求说明2.1.4故障管理1.功能描述2.业务处理流程3.界面展现及输入输出4.相关表操作5.特殊要求说明2.1.5调度管理1.功能描述类似于操作系统的计划任务,这里管理服务的调度情况。