CN104123217A - 一种业务服务器执行命令的捕获方法及*** - Google Patents

一种业务服务器执行命令的捕获方法及*** Download PDF

Info

Publication number
CN104123217A
CN104123217A CN201410398388.5A CN201410398388A CN104123217A CN 104123217 A CN104123217 A CN 104123217A CN 201410398388 A CN201410398388 A CN 201410398388A CN 104123217 A CN104123217 A CN 104123217A
Authority
CN
China
Prior art keywords
text
content
module
fill order
appointment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410398388.5A
Other languages
English (en)
Other versions
CN104123217B (zh
Inventor
李小龙
郭晓东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING SINOVT SOFTWARE TECHNOLOGY CO., LTD.
Original Assignee
BEIJING SINOVT SOFTWARE TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING SINOVT SOFTWARE TECHNOLOGY Co Ltd filed Critical BEIJING SINOVT SOFTWARE TECHNOLOGY Co Ltd
Priority to CN201410398388.5A priority Critical patent/CN104123217B/zh
Publication of CN104123217A publication Critical patent/CN104123217A/zh
Application granted granted Critical
Publication of CN104123217B publication Critical patent/CN104123217B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种业务服务器执行命令的捕获方法及***,***运行于运维终端,包括第一获取模块、第一监听模块、第二获取模块、数据缓存模块、第二监听模块,用于监听I/0模块工作状态;截屏模块、账户信息获取模块、时间戳记录模块、执行命令文本内容获取模块,用于获取指定执行命令文本内容,包括:指定区域获取子单元、记录子单元、重绘指令发送子单元、查找子单元、映射关系配置表;优点为:只需在运维终端上布署捕获***,不需要更改用户的现有网络结构,也不需要代理主机,具有对运维人员运维行为的监控成本低的优点;运维人员通过编辑窗口输入文本内容时,本发明监控效率与最终执行的执行命令的获得途径完全无关,具有适用范围广的优点。

Description

一种业务服务器执行命令的捕获方法及***
技术领域
本发明属于运维人员操作行为审计技术领域,具体涉及一种业务服务器执行命令的捕获方法及***。
背景技术
当前,众多企业的核心业务***运行在linux等业务服务器上,运维人员是指负责全面管理、控制和维护业务服务器的人员,其主要工作内容包括:维护业务服务器的安全性、控制和监控用户对业务服务器的存取访问、监控和优化业务服务器的性能、灾难出现时对业务服务器信息进行恢复、维护适当介质上的存档或者备份数据、备份和恢复业务服务器数据等。因此,全面对运维人员的运维行为进行有效的管控和审计,可提高业务服务器的安全性。
现有技术中,主要采用以下方法对运维人员的运维行为进行监控:
在业务服务器上安装审计软件,通过审计软件拦截运维人员通过运维终端发送的对业务服务器的运维指令并作记录。然而,该种监控方式存在以下问题:在业务服务器上安装审计软件,直接为业务服务器的安全和性能带来不良影响,严重时,甚至会导致业务服务器停止工作,造成严重后果。
为克服安装审计软件所带来的不良影响,当前流行的方式为:在运维终端和业务服务器之间的某一通信网络节点上布署代理主机,在运维终端通过网络向业务服务器发送运维操作指令的过程中,该代理主机截取该运维操作指令,然后对该运维操作指令进行分析并记录,然后再通过代理主机,将运维操作指令发送到业务服务器上。通过分析代理主机记录的内容,可实现对运维人员运维行为的监控。后续过程中,通过检索代理主机所存储的记录内容,可实现查询代理主机历史运维行为的作用。
上述采用代理主机进行监控的方法主要存在以下问题:
(1)需要更改用户的现有网络结构,额外布署物理网络节点,而由于用户的网络结构千差万别,复杂度很高,因此,额外布署物理网络节点的布置难度较大,施工成本较高,特殊情况时,甚至无法布署物理网络节点;因此,具有较大的使用局限性;
(2)由于运维终端和业务服务器之间的通讯报文均需要经过代理主机分析处理,因此,对代理主机的可靠性要求极高;一旦代理主机自身发生故障时,会直接影响运维终端和业务服务器之间的正常通讯,使运维人员无法对业务服务器进行正常运维行为;
(3)需要实时升级SSH(安全外壳协议)等网络通信协议,具有***维护成本高的问题。
为解决上述问题,现有技术中还出现了另一种对运维人员的运维行为进行监控的方法,包括:在运维终端运行某个运维工具的过程中,使用键盘钩子记录器捕获向该运维工具输入的键盘输入字符,从而实现对运维行为进行监控的目的。
但是,该种方法仍然具有不足之处,即:当用户需要输入的操作指令为ping192.168.1.100时,如果用户一次性输入正确,则键盘钩子记录器直接记录到ping192.168.1.100这一操作指令;但是,如果用户在输入操作指令时存在修改,例如,用户首先输入pong 192.168.2.100,然后,回退字符到字母o位置,将字母o修改为字母i,然后再回退字符到数字2位置,将数字2修改为数字1,经修改后,虽然屏幕显示的操作指令仍然为192.168.1.100,但是,键盘钩子记录器的记录结果为:pong 192.168.2.101 i 1,因此,对于此种存在修改的情况,通过分析键盘钩子记录器的记录内容,无法还原得到正确的执行命令。再例如,对于通过复制操作复制到屏幕的操作指令,或者,对于通过操作上下键等重复执行的操作指令,通过分析键盘钩子记录器的记录内容,均存在无法得到正确执行命令的问题。由此可见,采用该种方法对运维行为进行监控,仍然具有较大的局限性。
发明内容
针对现有技术存在的缺陷,本发明提供一种业务服务器执行命令的捕获方法及***,可有效解决上述问题。
本发明采用的技术方案如下:
本发明提供一种业务服务器执行命令的捕获方法,包括以下步骤:
S1,在运维终端上安装多个用于登陆并操作业务服务器的运维工具,各个运维工具在所述运维终端上占用各自独立的进程运行;对每一个运行状态的运维工具,获得该运维工具的类型,然后均执行以下步骤:
S2,监听所述运维工具,每当所述运维工具所在的编辑窗口输出文本内容时,即获得所输出的文本内容以及该文本内容在编辑窗口中的行标号信息,然后实时将所述文本内容与所述行标号信息的映射关系存储到数据缓存中;其中,所述文本内容包括执行命令文本内容和非执行命令文本内容;
同时,监听I/0模块的工作状态,当监听到I/0模块发出对某一指定执行命令文本内容的执行确认指令时,同时执行以下四个操作:
操作一:对当前屏幕进行截屏操作,获得屏幕视频帧;
操作二:获得当前登录所述数据库维护命令编辑工具的账户信息;
操作三:记录当前时刻的时间戳;
操作四:获得所述指定执行命令文本内容在所述编辑窗口中的指定区域,然后获得并记录该指定执行命令文本内容在所述编辑窗口中的指定行标号信息;然后发出对所述指定区域重新绘制的命令,使所述编辑窗口在所述指定区域重新输出所述指定执行命令文本内容;同时,重新输出的所述指定执行命令文本内容以及对应的指定行标号信息被存储到所述数据缓存中;
S3,以所记录的所述指定行标号信息为关键词查找所述数据缓存,查找到与所述指定行标号信息对应的最近时刻存储的文本内容,该文本内容即为完整的所述指定执行命令文本内容;
S4,将S3所查找到的所述指定执行命令文本内容、S2获得的所述屏幕视频帧、S2获得的所述账户信息、S2记录的所述时间戳以及S1获得的运维工具的类型之间的映射关系存储到映射关系配置表。
优选的,所述业务服务器为运行linux操作***或unix操作***的主机;所述运维工具包括SecureCRT运维工具、PUTTY运维工具、Xshell运维工具和SShCleint运维工具。
优选的,S2中,监控I/0模块的工作状态,监控I/0模块是否发出对某一指定执行命令文本内容的执行确认指令,具体为:
所述I/O模块为所述运维终端的键盘;
监听所述键盘的执行状态,当监听到所述键盘的回车键被触发时,即为监听到I/O模块发出执行确认指令。
优选的,S2的操作四中,所述指定执行命令文本内容在所述编辑窗口中的指定区域通过以下方法获得:
首先定位到所发生的回车键操作在所述编辑窗口中的光标位置,然后以所定位到的光标位置为起点位置,反向逐个字符查找,直到查找到提示符为止,该提示符为终点位置;所述起点位置到所述终点位置之间的区域即为所述指定区域。
优选的,S2的操作四中,所述指定执行命令文本内容在所述编辑窗口中的指定行标号信息具体为:
如果所述指定区域为一行,则所述指定行标号信息即为该指定区域所在行的行标号;
如果所述指定区域为两行以上,则所述指定行标号信息为该指定区域所属的行标号范围信息。
优选的,S4之后,还包括:
S5,接收对业务服务器执行命令进行检索回放的指令,其中,该检索回放的指令中携带检索关键词;所述检索关键词为账户信息、需检索的时间信息以及需检索的运维工具类型的一种或几种组合信息;
S6,根据所述检索关键词检索所述映射关系配置表,定位到与所述检索关键词对应的执行命令文本内容和执行命令文本内容时的指定屏幕视频帧。
优选的,S6之后,还包括:
S7,按所设定的播放帧数参数,检索到位于所述指定屏幕视频帧之前且与所述指定屏幕视频帧相邻的连续的若干张屏幕视频帧,还检索到位于所述指定屏幕视频帧之后且与所述指定屏幕视频帧相邻的连续的若干张屏幕视频帧;然后,根据各张检索到的屏幕视频帧的时间戳信息,按时间先后顺序播放所检索到的各张屏幕视频帧,从而还原得到执行命令发生时的操作场景。
本发明还提供一种业务服务器执行命令的捕获***,该捕获***运行于运维终端,所述运维终端上安装多个用于登陆并操作业务服务器的运维工具,各个运维工具在所述运维终端上占用各自独立的进程运行;所述捕获***包括:
第一获取模块,用于获取运维工具的类型;
第一监听模块,用于监听所述运维工具,判断所述运维工具所在的编辑窗口是否输出文本内容;
第二获取模块,用于当所述第一监听模块监听到运维工具所在的编辑窗口输出文本内容时,获得所输出的文本内容以及该文本内容在编辑窗口中的行标号信息;其中,所述文本内容包括执行命令文本内容和非执行命令文本内容;
数据缓存模块,用于实时缓存所述第二获取模块所获取到的文本内容与所述行标号信息的映射关系;
第二监听模块,用于监听I/0模块的工作状态,判断I/0模块是否发出对某一指定执行命令文本内容的执行确认指令;
截屏模块,用于当所述第二监听模块监听到I/0模块发出对某一指定执行命令文本内容的执行确认指令时,对当前屏幕进行截屏操作,获得屏幕视频帧;
账户信息获取模块,用于当所述第二监听模块监听到I/0模块发出对某一指定执行命令文本内容的执行确认指令时,获得当前登录所述数据库维护命令编辑工具的账户信息;
时间戳记录模块,用于当所述第二监听模块监听到I/0模块发出对某一指定执行命令文本内容的执行确认指令时,记录当前时刻的时间戳;
执行命令文本内容获取模块,用于当所述第二监听模块监听到I/0模块发出对某一指定执行命令文本内容的执行确认指令时,获取所述指定执行命令文本内容;具体包括:
指定区域获取子单元,用于当所述第二监听模块监听到I/0模块发出对某一指定执行命令文本内容的执行确认指令时,获得所述指定执行命令文本内容在所述编辑窗口中的指定区域;
记录子单元,用于当所述指定区域获取子单元获取到所述指定区域后,获得并记录该指定区域的指定执行命令文本内容在所述编辑窗口中的指定行标号信息;
重绘指令发送子单元,用于当所述指定区域获取子单元获取到所述指定区域后,向编辑窗口发出对所述指定区域重新绘制的命令,使所述编辑窗口在所述指定区域重新输出所述指定执行命令文本内容;同时,重新输出的所述指定执行命令文本内容以及对应的指定行标号信息被存储到所述数据缓存中;
查找子单元,用于以所述记录子单元记录的指定行标号信息为关键词查找所述数据缓存,查找到与所述指定行标号信息对应的最近时刻存储的文本内容,该文本内容即为完整的所述指定执行命令文本内容;
映射关系配置表,用于存储所述查找子单元查找到的所述指定执行命令文本内容、所述截屏模块获得的所述屏幕视频帧、所述账户信息获取模块获得的所述账户信息、所述时间戳记录模块所记录的所述时间戳、所述第一获取模块获得的运维工具的类型之间的映射关系。
本发明提供的业务服务器执行命令的捕获方法及***,具有以下优点:
(1)只需要在运维终端上布署捕获***,不需要更改用户的现有网络结构,也不需要代理主机,具有对运维人员运维行为的监控成本低的优点;
(2)在对运维人员运维行为的监控过程中,完全不会影响运维终端和业务服务器之间的通讯过程;
(3)运维人员通过编辑窗口输入文本内容时,无论是一次性正确输入执行命令,还是修改后得到执行命令、重复执行某一执行命令、对某一执行命令复制复制后得到执行命令,均能快速方便的监控到通过运维终端发送到运维服务器的执行命令;也就是说,本发明监控效率与最终执行的执行命令的获得途径完全无关,具有适用范围广的优点;
(4)可方便迅速的查找到执行命令文本内容、屏幕视频帧、账户信息和时间戳的对应关系,实现对运维人员全面审计监控,对于及时查找到业务服务器出现的问题具有重要作用。
附图说明
图1为本发明提供的业务服务器执行命令的捕获方法的流程示意图;
图2为本发明提供的业务服务器执行命令的捕获***的结构示意图。
具体实施方式
以下结合附图对本发明进行详细说明:
如图1所示,本发明提供一种业务服务器执行命令的捕获方法,包括以下步骤:
S1,在运维终端上安装多个用于登陆并操作业务服务器的运维工具,各个运维工具在所述运维终端上占用各自独立的进程运行;对每一个运行状态的运维工具,获得该运维工具的类型。
其中,业务服务器为运行linux操作***或unix操作***的主机,对于linux操作***,可以为启动redhat或suse***等;运维工具包括但不限于SecureCRT运维工具、PUTTY运维工具、Xshell运维工具和SShCleint运维工具,在运维终端的windows上安装各种运维工具,运维人员通过操作运维工具,发送对业务服务器的执行命令,进而实现对业务服务器的远程操作控制。
对于每一个运维工具,均执行以下步骤:
S2,监听所述运维工具,每当所述运维工具所在的编辑窗口输出文本内容时,即获得所输出的文本内容以及该文本内容在编辑窗口中的行标号信息,然后实时将所述文本内容与所述行标号信息的映射关系存储到数据缓存中;其中,所述文本内容包括执行命令文本内容和非执行命令文本内容;
例如,运维人员在编辑窗口的第3行屏幕输出以下文本内容A:ping192.168.1.100,则数据缓存中分别存储第3行与文本内容A中各字符的对应关系,如:第3行对应1,第2行对应9,第3行对应2等。可见,数据缓存中存储的为分散的字符与行号的对应关系,直接查找数据缓存,难以将各字符组合还原为原来的文本内容。
同时,监听I/0模块的工作状态,当监听到I/0模块发出对某一指定执行命令文本内容的执行确认指令时,同时执行以下四个操作:
操作一:对当前屏幕进行截屏操作,获得屏幕视频帧;
操作二:获得当前登录所述数据库维护命令编辑工具的账户信息;
操作三:记录当前时刻的时间戳;
操作四:包括以下两步骤:
步骤1:获得所述指定执行命令文本内容在所述编辑窗口中的指定区域,然后获得并记录该指定执行命令文本内容在所述编辑窗口中的指定行标号信息;
其中,I/O模块可以为运维终端的键盘;可监听键盘的执行状态,当监听到键盘的回车键被触发时,即为监听到I/O模块发出执行确认指令。
由于用户在使用SecureCRT运维工具或PUTTY运维工具时,操作方法一般为:在SecureCRT或PUTTY工具的编辑窗口输入由多个字符组成的执行文本内容B,然后,当需要执行执行文本内容B时,将光标置于执行文本内容B的最后一个字符,然后按下回车键,即表示将执行文本内容B发送到业务服务器。因此,本发明中,可通过监听回车键的触发状态作为捕获执行文本的时刻。
相应的,指定执行命令文本内容在编辑窗口中的指定区域通过以下方法获得:
首先定位到所发生的回车键操作在所述编辑窗口中的光标位置,然后以所定位到的光标位置为起点位置,反向逐个字符查找,直到查找到提示符为止,该提示符为终点位置;所述起点位置到所述终点位置之间的区域即为所述指定区域。
在定位到指定区域后,指定执行命令文本内容在编辑窗口中的指定行标号信息通过以下方式获得:如果所述指定区域为一行,则所述指定行标号信息即为该指定区域所在行的行标号;
如果所述指定区域为两行以上,则所述指定行标号信息为该指定区域所属的行标号范围信息。例如,如果指定区域为第2行-第4行,则行标号信息即为第2行-第4行。
步骤2:然后发出对所述指定区域重新绘制的命令,使所述编辑窗口在所述指定区域重新输出所述指定执行命令文本内容;同时,重新输出的所述指定执行命令文本内容以及对应的指定行标号信息被存储到所述数据缓存中;
重绘操作是指将指定区域文本内容在其原位置重新快速输出一遍。例如:用户在编辑窗口第3行输入以下文本内容C:ping 192.168.1.100;然后将光标位于文本内容C最后一个字符的后面,当用户操作键盘按下回车键时,获得第3行为指定区域,然后自动重绘第3行,也就是在第3行快速重新输出文本内容C。由于监听模块实时监听运维工具所在的编辑窗口,能够重新输出的文本内容C以及第3行的对应关系当然也会被存储到数据缓存中,并且,由于此处为重绘后快速输出的文本内容C,因此,数据缓存中存储的并不是第3行与分散的文本内容C中各字符的对应关系,而是将文本内容C中各字符作为一个整体,存储的为整体文本内容C与第3行的对应关系。因此,以行号为关键词查找数据缓存,可以方便快速的查找到文本内容C,而完全不需要对多个字符进行重组而得到文本内容C。
S3,以所记录的所述指定行标号信息为关键词查找所述数据缓存,查找到与所述指定行标号信息对应的最近时刻存储的文本内容,该文本内容即为完整的所述指定执行命令文本内容;
此处需要说明的是,由于用户在编辑窗口中某一行输入文本内容时,存在对所输入的原始文本内容修改后才按回车键执行的情况,因此,与指定行标号信息对应的最近时刻存储的文本内容才为执行命令文本内容。例如,在编辑窗口第3行,首先输入文本内容a1为:ping 192.168.1.100,此时,缓存中存储第3行与文本内容a1中各个字符之间的分散对应关系;然后,在未对文本内容a1执行的情况下,将文本内容a1修改为文本内容a2,即:ping 192.168.1.101,此时,缓存中存储第3行与文本内容a2中各个字符之间的分散对应关系;然后,如果用户按动回车键执行文本内容a2,则重绘第3行,将文本内容a2在第3行重新输出,则缓存中存储第3行与整体的文本内容a2的对应关系。由此可见,对于存在修改的情况,缓存中对于第3行的行标号,存储多个与该行标号的对应关系,但是,只有最近时刻的对应关系才是需要筛选到的执行命令文本内容。另外,可采用多种方式获得数据缓存中与某一行标号对应的最近文本内容,例如:数据缓存可按时间先后顺序存储各个对应关系,然后即可方便查找到与某一行标号对应的最近文本内容;另外,也可以向数据缓存中存储行标号、文本内容与获取该文本内容的时间戳的对应关系,然后,通过比较时间戳,也可快速查找到与某一行标号对应的最近文本内容,本发明对此并不限制。
S4,将S3所查找到的所述指定执行命令文本内容、S2获得的所述屏幕视频帧、S2获得的所述账户信息、S2记录的所述时间戳以及S1获得的运维工具的类型之间的映射关系存储到映射关系配置表。
S4之后,还包括:
S5,接收对业务服务器执行命令进行检索回放的指令,其中,该检索回放的指令中携带检索关键词;所述检索关键词为账户信息、需检索的时间信息以及需检索的运维工具类型的一种或几种组合信息;
S6,根据所述检索关键词检索所述映射关系配置表,定位到与所述检索关键词对应的执行命令文本内容和执行命令文本内容时的指定屏幕视频帧。
因此,通过上述检索回放方式,可非常方便迅速的检索到某一时刻运维人员通过运维终端发送到运维服务器的执行命令,从而可全面对运维人员的运维行为进行监控。此外,当基于账户信息进行检索时,可检索到同一账户的所有执行命令,可全面方便获取某一运维人员的所有执行命令。
S6之后,还包括:
S7,按所设定的播放帧数参数,检索到位于所述指定屏幕视频帧之前且与所述指定屏幕视频帧相邻的连续的若干张屏幕视频帧,还检索到位于所述指定屏幕视频帧之后且与所述指定屏幕视频帧相邻的连续的若干张屏幕视频帧;然后,根据各张检索到的屏幕视频帧的时间戳信息,按时间先后顺序播放所检索到的各张屏幕视频帧,从而还原得到执行命令发生时的操作场景。
例如,当需要检索2014年8月5日19:00的操作场景时,为方便说明,仅以设定的播放帧数参数为前后各2张为例进行说明:
设映射关系配置表中按时间戳先后顺序存储以下内容:映射关系1:18:30分-屏幕视频帧1-账户a-执行命令文本内容1-运维工具1;映射关系2:18:50分-屏幕视频帧2-账户a-执行命令文本内容2-运维工具1;映射关系3:19:00分-屏幕视频帧3-账户a-执行命令文本内容3-运维工具1;映射关系4:19:30分-屏幕视频帧4-账户a-执行命令文本内容4-运维工具1;映射关系5:19:32分-屏幕视频帧5-账户a-执行命令文本内容5-运维工具1;则自动播放屏幕视频帧1、屏幕视频帧2、屏幕视频帧3、屏幕视频帧4和屏幕视频帧5,从而实现还原执行命令3时的操作场景。
其中,播放帧数参数的具体值可手工设置,也可由监控***自动设置。
如图2所示,本发明还提供一种业务服务器执行命令的捕获***,该捕获***运行于运维终端,所述运维终端上安装多个用于登陆并操作业务服务器的运维工具,各个运维工具在所述运维终端上占用各自独立的进程运行;所述捕获***包括:
第一获取模块,用于获取运维工具的类型;
第一监听模块,用于监听所述运维工具,判断所述运维工具所在的编辑窗口是否输出文本内容;
第二获取模块,用于当所述第一监听模块监听到运维工具所在的编辑窗口输出文本内容时,获得所输出的文本内容以及该文本内容在编辑窗口中的行标号信息;其中,所述文本内容包括执行命令文本内容和非执行命令文本内容;
数据缓存模块,用于实时缓存所述第二获取模块所获取到的文本内容与所述行标号信息的映射关系;
第二监听模块,用于监听I/0模块的工作状态,判断I/0模块是否发出对某一指定执行命令文本内容的执行确认指令;
截屏模块,用于当所述第二监听模块监听到I/0模块发出对某一指定执行命令文本内容的执行确认指令时,对当前屏幕进行截屏操作,获得屏幕视频帧;
账户信息获取模块,用于当所述第二监听模块监听到I/0模块发出对某一指定执行命令文本内容的执行确认指令时,获得当前登录所述数据库维护命令编辑工具的账户信息;
时间戳记录模块,用于当所述第二监听模块监听到I/0模块发出对某一指定执行命令文本内容的执行确认指令时,记录当前时刻的时间戳;
执行命令文本内容获取模块,用于当所述第二监听模块监听到I/0模块发出对某一指定执行命令文本内容的执行确认指令时,获取所述指定执行命令文本内容;具体包括:
指定区域获取子单元,用于当所述第二监听模块监听到I/0模块发出对某一指定执行命令文本内容的执行确认指令时,获得所述指定执行命令文本内容在所述编辑窗口中的指定区域;
记录子单元,用于当所述指定区域获取子单元获取到所述指定区域后,获得并记录该指定区域的指定执行命令文本内容在所述编辑窗口中的指定行标号信息;
重绘指令发送子单元,用于当所述指定区域获取子单元获取到所述指定区域后,向编辑窗口发出对所述指定区域重新绘制的命令,使所述编辑窗口在所述指定区域重新输出所述指定执行命令文本内容;同时,重新输出的所述指定执行命令文本内容以及对应的指定行标号信息被存储到所述数据缓存中;
查找子单元,用于以所述记录子单元记录的指定行标号信息为关键词查找所述数据缓存,查找到与所述指定行标号信息对应的最近时刻存储的文本内容,该文本内容即为完整的所述指定执行命令文本内容;
映射关系配置表,用于存储所述查找子单元查找到的所述指定执行命令文本内容、所述截屏模块获得的所述屏幕视频帧、所述账户信息获取模块获得的所述账户信息、所述时间戳记录模块所记录的所述时间戳、所述第一获取模块获得的运维工具的类型之间的映射关系。
综上所述,本发明提供的业务服务器执行命令的捕获方法及***,具有以下优点:
(1)只需要在运维终端上布署捕获***,不需要更改用户的现有网络结构,也不需要代理主机,具有对运维人员运维行为的监控成本低的优点;
(2)在对运维人员运维行为的监控过程中,完全不会影响运维终端和业务服务器之间的通讯过程;
(3)运维人员通过编辑窗口输入文本内容时,无论是一次性正确输入执行命令,还是修改后得到执行命令、重复执行某一执行命令、对某一执行命令复制复制后得到执行命令,均能快速方便的监控到通过运维终端发送到运维服务器的执行命令;也就是说,本发明监控效率与最终执行的执行命令的获得途径完全无关,具有适用范围广的优点;
(3)可方便迅速的查找到执行命令文本内容、屏幕视频帧、账户信息和时间戳的对应关系,实现对运维人员全面审计监控,对于及时查找到业务服务器出现的问题具有重要作用。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

Claims (8)

1.一种业务服务器执行命令的捕获方法,其特征在于,包括以下步骤:
S1,在运维终端上安装多个用于登陆并操作业务服务器的运维工具,各个运维工具在所述运维终端上占用各自独立的进程运行;对每一个运行状态的运维工具,获得该运维工具的类型,然后均执行以下步骤:
S2,监听所述运维工具,每当所述运维工具所在的编辑窗口输出文本内容时,即获得所输出的文本内容以及该文本内容在编辑窗口中的行标号信息,然后实时将所述文本内容与所述行标号信息的映射关系存储到数据缓存中;其中,所述文本内容包括执行命令文本内容和非执行命令文本内容;
同时,监听I/0模块的工作状态,当监听到I/0模块发出对某一指定执行命令文本内容的执行确认指令时,同时执行以下四个操作:
操作一:对当前屏幕进行截屏操作,获得屏幕视频帧;
操作二:获得当前登录所述数据库维护命令编辑工具的账户信息;
操作三:记录当前时刻的时间戳;
操作四:获得所述指定执行命令文本内容在所述编辑窗口中的指定区域,然后获得并记录该指定执行命令文本内容在所述编辑窗口中的指定行标号信息;然后发出对所述指定区域重新绘制的命令,使所述编辑窗口在所述指定区域重新输出所述指定执行命令文本内容;同时,重新输出的所述指定执行命令文本内容以及对应的指定行标号信息被存储到所述数据缓存中;
S3,以所记录的所述指定行标号信息为关键词查找所述数据缓存,查找到与所述指定行标号信息对应的最近时刻存储的文本内容,该文本内容即为完整的所述指定执行命令文本内容;
S4,将S3所查找到的所述指定执行命令文本内容、S2获得的所述屏幕视频帧、S2获得的所述账户信息、S2记录的所述时间戳以及S1获得的运维工具的类型之间的映射关系存储到映射关系配置表。
2.根据权利要求1所述的业务服务器执行命令的捕获方法,其特征在于,所述业务服务器为运行linux操作***或unix操作***的主机;所述运维工具包括SecureCRT运维工具、PUTTY运维工具、Xshell运维工具和SShCleint运维工具。
3.根据权利要求1所述的业务服务器执行命令的捕获方法,其特征在于,S2中,监控I/0模块的工作状态,监控I/0模块是否发出对某一指定执行命令文本内容的执行确认指令,具体为:
所述I/O模块为所述运维终端的键盘;
监听所述键盘的执行状态,当监听到所述键盘的回车键被触发时,即为监听到I/O模块发出执行确认指令。
4.根据权利要求3所述的业务服务器执行命令的捕获方法,其特征在于,S2的操作四中,所述指定执行命令文本内容在所述编辑窗口中的指定区域通过以下方法获得:
首先定位到所发生的回车键操作在所述编辑窗口中的光标位置,然后以所定位到的光标位置为起点位置,反向逐个字符查找,直到查找到提示符为止,该提示符为终点位置;所述起点位置到所述终点位置之间的区域即为所述指定区域。
5.根据权利要求4所述的业务服务器执行命令的捕获方法,其特征在于,S2的操作四中,所述指定执行命令文本内容在所述编辑窗口中的指定行标号信息具体为:
如果所述指定区域为一行,则所述指定行标号信息即为该指定区域所在行的行标号;
如果所述指定区域为两行以上,则所述指定行标号信息为该指定区域所属的行标号范围信息。
6.根据权利要求5所述的业务服务器执行命令的捕获方法,其特征在于,S4之后,还包括:
S5,接收对业务服务器执行命令进行检索回放的指令,其中,该检索回放的指令中携带检索关键词;所述检索关键词为账户信息、需检索的时间信息以及需检索的运维工具类型的一种或几种组合信息;
S6,根据所述检索关键词检索所述映射关系配置表,定位到与所述检索关键词对应的执行命令文本内容和执行命令文本内容时的指定屏幕视频帧。
7.根据权利要求6所述的业务服务器执行命令的捕获方法,其特征在于,
S6之后,还包括:
S7,按所设定的播放帧数参数,检索到位于所述指定屏幕视频帧之前且与所述指定屏幕视频帧相邻的连续的若干张屏幕视频帧,还检索到位于所述指定屏幕视频帧之后且与所述指定屏幕视频帧相邻的连续的若干张屏幕视频帧;然后,根据各张检索到的屏幕视频帧的时间戳信息,按时间先后顺序播放所检索到的各张屏幕视频帧,从而还原得到执行命令发生时的操作场景。
8.一种业务服务器执行命令的捕获***,其特征在于,该捕获***运行于运维终端,所述运维终端上安装多个用于登陆并操作业务服务器的运维工具,各个运维工具在所述运维终端上占用各自独立的进程运行;所述捕获***包括:
第一获取模块,用于获取运维工具的类型;
第一监听模块,用于监听所述运维工具,判断所述运维工具所在的编辑窗口是否输出文本内容;
第二获取模块,用于当所述第一监听模块监听到运维工具所在的编辑窗口输出文本内容时,获得所输出的文本内容以及该文本内容在编辑窗口中的行标号信息;其中,所述文本内容包括执行命令文本内容和非执行命令文本内容;
数据缓存模块,用于实时缓存所述第二获取模块所获取到的文本内容与所述行标号信息的映射关系;
第二监听模块,用于监听I/0模块的工作状态,判断I/0模块是否发出对某一指定执行命令文本内容的执行确认指令;
截屏模块,用于当所述第二监听模块监听到I/0模块发出对某一指定执行命令文本内容的执行确认指令时,对当前屏幕进行截屏操作,获得屏幕视频帧;
账户信息获取模块,用于当所述第二监听模块监听到I/0模块发出对某一指定执行命令文本内容的执行确认指令时,获得当前登录所述数据库维护命令编辑工具的账户信息;
时间戳记录模块,用于当所述第二监听模块监听到I/0模块发出对某一指定执行命令文本内容的执行确认指令时,记录当前时刻的时间戳;
执行命令文本内容获取模块,用于当所述第二监听模块监听到I/0模块发出对某一指定执行命令文本内容的执行确认指令时,获取所述指定执行命令文本内容;具体包括:
指定区域获取子单元,用于当所述第二监听模块监听到I/0模块发出对某一指定执行命令文本内容的执行确认指令时,获得所述指定执行命令文本内容在所述编辑窗口中的指定区域;
记录子单元,用于当所述指定区域获取子单元获取到所述指定区域后,获得并记录该指定区域的指定执行命令文本内容在所述编辑窗口中的指定行标号信息;
重绘指令发送子单元,用于当所述指定区域获取子单元获取到所述指定区域后,向编辑窗口发出对所述指定区域重新绘制的命令,使所述编辑窗口在所述指定区域重新输出所述指定执行命令文本内容;同时,重新输出的所述指定执行命令文本内容以及对应的指定行标号信息被存储到所述数据缓存中;
查找子单元,用于以所述记录子单元记录的指定行标号信息为关键词查找所述数据缓存,查找到与所述指定行标号信息对应的最近时刻存储的文本内容,该文本内容即为完整的所述指定执行命令文本内容;
映射关系配置表,用于存储所述查找子单元查找到的所述指定执行命令文本内容、所述截屏模块获得的所述屏幕视频帧、所述账户信息获取模块获得的所述账户信息、所述时间戳记录模块所记录的所述时间戳、所述第一获取模块获得的运维工具的类型之间的映射关系。
CN201410398388.5A 2014-08-13 2014-08-13 一种业务服务器执行命令的捕获方法及*** Active CN104123217B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410398388.5A CN104123217B (zh) 2014-08-13 2014-08-13 一种业务服务器执行命令的捕获方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410398388.5A CN104123217B (zh) 2014-08-13 2014-08-13 一种业务服务器执行命令的捕获方法及***

Publications (2)

Publication Number Publication Date
CN104123217A true CN104123217A (zh) 2014-10-29
CN104123217B CN104123217B (zh) 2017-01-11

Family

ID=51768637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410398388.5A Active CN104123217B (zh) 2014-08-13 2014-08-13 一种业务服务器执行命令的捕获方法及***

Country Status (1)

Country Link
CN (1) CN104123217B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330554A (zh) * 2016-08-31 2017-01-11 山东瑞宁信息技术股份有限公司 监控及管理运维操作过程的运维审计***及运维审计方法
CN109286605A (zh) * 2017-07-21 2019-01-29 ***通信集团甘肃有限公司 一种基于大数据的业务行为路径监控方法及装置
CN110083442A (zh) * 2019-03-18 2019-08-02 咪咕文化科技有限公司 一种用户任务的操作方法、服务器及可存储介质
CN110278269A (zh) * 2019-06-21 2019-09-24 广州小鹏汽车科技有限公司 一种用户行为记录方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103258149A (zh) * 2012-07-27 2013-08-21 天津中启创科技有限公司 基于云计算的在线阅读***及方法
CN103888287B (zh) * 2013-12-18 2016-01-27 北京首都国际机场股份有限公司 信息***一体化运维监控服务预警平台

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330554A (zh) * 2016-08-31 2017-01-11 山东瑞宁信息技术股份有限公司 监控及管理运维操作过程的运维审计***及运维审计方法
CN106330554B (zh) * 2016-08-31 2024-02-27 山东瑞宁信息技术股份有限公司 监控及管理运维操作过程的运维审计***及运维审计方法
CN109286605A (zh) * 2017-07-21 2019-01-29 ***通信集团甘肃有限公司 一种基于大数据的业务行为路径监控方法及装置
CN109286605B (zh) * 2017-07-21 2020-12-08 ***通信集团甘肃有限公司 一种基于大数据的业务行为路径监控方法及装置
CN110083442A (zh) * 2019-03-18 2019-08-02 咪咕文化科技有限公司 一种用户任务的操作方法、服务器及可存储介质
CN110083442B (zh) * 2019-03-18 2021-12-07 咪咕文化科技有限公司 一种用户任务的操作方法、服务器及可存储介质
CN110278269A (zh) * 2019-06-21 2019-09-24 广州小鹏汽车科技有限公司 一种用户行为记录方法和装置

Also Published As

Publication number Publication date
CN104123217B (zh) 2017-01-11

Similar Documents

Publication Publication Date Title
US11405301B1 (en) Service analyzer interface with composite machine scores
US11550829B2 (en) Systems and methods for load balancing in a system providing dynamic indexer discovery
US11042510B2 (en) Configuration file management in a search head cluster
CN109495308B (zh) 一种基于管理信息***的自动化运维***
US20200201699A1 (en) Unified error monitoring, alerting, and debugging of distributed systems
CN103488793A (zh) 一种基于信息检索的用户行为监控方法
US20070300179A1 (en) User-application interaction recording
US20200336532A1 (en) Identifying un-deployed features of an application
CN109600258A (zh) 工业协议报文记录装置及方法
CN103530218A (zh) 一种基于行为检测的监控触发方法
CN111966465B (zh) 一种实时修改宿主机配置参数的方法、***、设备及介质
CN104133915B (zh) 一种数据库管理员运维行为的监控方法及***
US20170201606A1 (en) Automatically adjusting timestamps from remote systems based on time zone differences
CN104123217A (zh) 一种业务服务器执行命令的捕获方法及***
CN104639352A (zh) 监控装置以及监控方法
CN106708859A (zh) 一种资源访问行为的审计方法和装置
CN107870850A (zh) 一种高效的互联网应用日志***
US10915510B2 (en) Method and apparatus of collecting and reporting database application incompatibilities
CN108647284B (zh) 记录用户行为的方法及装置、介质和计算设备
CN111901172B (zh) 基于云计算环境下的应用服务监控方法及***
JP2006277771A (ja) 計算機ネットワーク用の端末装置および操作履歴記録方法
CN103457771B (zh) 一种ha的虚拟机集群的管理方法和设备
JP2007200047A (ja) アクセスログ表示システムおよび方法
CN103618884A (zh) 一种视频传输方法、装置及平板电脑
JP5901962B2 (ja) コマンド処理システム及び方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160111

Address after: 100191, Haidian District, Zhichun Road, No. 14, floor 1406, room 23, Beijing

Applicant after: Beijing Huaxia Berg Data Technology Co., Ltd.

Address before: 100191, Haidian District, Zhichun Road, No. 9, floor 905, room 23, Beijing

Applicant before: BEIJING SINOVT SOFTWARE TECHNOLOGY CO., LTD.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200108

Address after: 100085 3-8-9, floor 6, building 3, No.8 Chuangye Road, Haidian District, Beijing

Patentee after: BEIJING SINOVT SOFTWARE TECHNOLOGY CO., LTD.

Address before: 100191, Haidian District, Zhichun Road, No. 14, floor 1406, room 23, Beijing

Patentee before: Beijing Huaxia Berg Data Technology Co., Ltd.

TR01 Transfer of patent right