CN105337771A - 一种获取Windows虚拟机内部日志的方法 - Google Patents

一种获取Windows虚拟机内部日志的方法 Download PDF

Info

Publication number
CN105337771A
CN105337771A CN201510790788.5A CN201510790788A CN105337771A CN 105337771 A CN105337771 A CN 105337771A CN 201510790788 A CN201510790788 A CN 201510790788A CN 105337771 A CN105337771 A CN 105337771A
Authority
CN
China
Prior art keywords
virtual machine
daily record
windows
event
evt
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.)
Pending
Application number
CN201510790788.5A
Other languages
English (en)
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.)
G Cloud Technology Co Ltd
Original Assignee
G Cloud 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 G Cloud Technology Co Ltd filed Critical G Cloud Technology Co Ltd
Priority to CN201510790788.5A priority Critical patent/CN105337771A/zh
Publication of CN105337771A publication Critical patent/CN105337771A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications

Abstract

本发明涉及云计算管理技术领域,特别是指一种获取Windows虚拟机内部日志的方法。本发明首先登录云平台管理端,选择要查看日志的虚拟机;其次输入查询条件,查询虚拟机系统日志;然后查询命令发送到虚拟机客户端;最后虚拟机客户端读取当天系统日志,返回结果。本发明的方法保障客户数据安全,无需获取虚拟机用户名密码;具有通用性,针对Windows操作系统都能使用;简单快捷,无需进入虚拟机内部即可查看最新系统日志;可以用于获取Windows虚拟机内部日志。

Description

一种获取Windows虚拟机内部日志的方法
技术领域
本发明涉及云计算管理技术领域,特别是指一种获取Windows虚拟机内部日志的方法。
背景技术
在云计算环境下,虚拟机被广泛使用,对于虚拟机的维护要求越来越高。当虚拟机出现故障,需要进行故障排查时,通常需要查看虚拟机内部日志,一般只能通过跟客户获取虚拟机用户名及密码,进入虚拟机内部查看日志,根据日志排查故障。
上述方法存在以下弊端:
1、对于客户数据安全没有保障,需要跟客户获取用户名密码,才能进入虚拟机内部;
2、排查所花时间较长,需要获取密码及进入虚拟机内部。
发明内容
本发明解决的技术问题在于提供一种获取Windows虚拟机内部日志的方法,解决传统方法存在的不足,保障客户虚拟机数据安全,提高运维效率,为虚拟机运维提供一种可行的解决方案。
本发明解决上述技术问题的技术方案是:
所述的方法包括如下步骤:
步骤1:登录云平台管理端,选择要查看日志的虚拟机;
步骤2:输入查询条件,查询虚拟机系统日志;
步骤3:查询命令发送到虚拟机客户端;
步骤4:虚拟机客户端读取当天系统日志,返回结果。
所述的云平台管理端,是统一的虚拟化管理平台,能够对外提供统一的管理接口;
所述的日志,是虚拟机内部日志,包含Windows的SecEvent.Evt、SysEvent.Evt、AppEvent.Evt三个日志文件;所述的SysEvent.Evt包括整体系统信息,其中也包含系统启动期间的日志;所述SecEvent.Evt记录所有等级用户信息的日志,包含系统授权信息,包括用户登录和使用的权限机制等;所述的AppEvent.Evt记录系统应用所产生的日志。
所述的输入查询条件,是指需要从虚拟机内部要获取的日志类型及时间。
所述的虚拟机客户端,是安装在虚拟机内部的程序,通过串口通信协议与云平台管理端通信;所述的串口通信协议,指串口按位(bit)发送和接收字节。
本发明的方法保障客户数据安全,无需获取虚拟机用户名密码;具有通用性,针对Windows操作系统都能使用;简单快捷,无需进入虚拟机内部即可查看最新系统日志。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图;
图2为本发明的技术原理图。
具体实施方式
如图1、2所示,本发明具体实施过程如下:
1、登录云平台管理端,选择要查看日志的虚拟机;
2、输入查询条件,查询虚拟机系统日志
/**
*searchVmEvent查询虚拟机日志.
*parambeginTime日志开始时间
*paramendTime日志结束时间
*parameventType日志类型:错误、告警、正常
*paramevList查询返回列表
*/
publicList<VmEvent>searchVmEvent(DatebeginTime,DateendTime,StringeventType)
{
List<VmEvent>evList=newArrayList<VmEvent>();
evList=gComputerService.searchVmEvent(beginTime,endTime,eventType);
returnevList;
}
3、查询命令发送到虚拟机客户端;
windows系统日志的地址存在项目的address.properties配置里面
address1=C:\WINDOWS\system32\config\AppEvent.Evt
address2=C:\WINDOWS\System32\config\SecEvent.Evt
address3=C:\WINDOWS\system32\config\SysEvent.Evt
在xml配置文件中,导入address.properities文件
<beanid=″propertyConfigurer″
class=″org.springframewornfig.PropertyPlaceholderConfigurer″>
<propertyname=″ignoreResourceNotFound″value=″true″/>
<propertyname=″locations″>
<list>
<value>/WEB-INF/address.properties</value>
</list>
</property>
</bean>
<beanid=″proxyName″class=″xxx.xxx.xxx.ProxyClass″>
<value$amp;>{addressl}</value>
</bean>
4、虚拟机客户端读取当天系统日志,返回结果;
/*voidRead_event(os_el*el)读取系统的日志详情
*Readstheeventlog.
*/
voidRead_event(os_el*el,intprintit)
{
DWORDnstr;
DWORDuser_size;
DWORDdomain_size;
DWORDread,needed;
intsize_left;
intstr_size;
char*mbuffer[BUFFER_SIZE];
LPSTRsstr=NULL;
char*tmp_str=NULL;
char*event_category;//事件类型
char*event_sourcename;//事件来源
char*event_computername;//事件计算机名
char*event_descriptive_msg;//事件描述
charevent_el_user[257];//事件用户
charevent_el_domain[257];//事件域
charel_string[1025];
charfinal_out_msg[1024];//最后输出的信息
LPSTRel_sstring[57];
/*Ermustpointtothembuffer*/
el->er=(EVENTLOGRECORD*)&mbuffer;
/*Zeroingthelastvalues*/
el_string[1024]=′\0′;
event_el_user[256]=′\0′;
event_el_domain[256]=′\0′;
final_out_msg[1023]=′\0′;
el_sstring[56]=NULL;
/*Readingtheeventlog*/
while(ReadEventLog(el->h,
EVENTLOG_FORWARDS_READ|EVENTLOG_SEQUENTIAL_READ,
0,
el->er,BUFFER_SIZE-1,&read,&needed))
{
while(read>0)
{
/*Weneedtoinitializeeveryvariablebeforetheloop*///得到事件的类型
event_category=el_GetCategory(el->er->EventType);//得到事件来源
event_sourcename=(LPSTR)((LPBYTE)el->er+sizeof(EVENTLOGRECORD));//得到计算机名
event_computername=event_sourcename+strlen(event_sourcename)+1;//给描述信息初始化
event_descriptive_msg=NULL;
/*初始化domain/user尺寸*/
user_size=255;domain_size=255;
event_el_domain[0]=′\0′;
event_el_user[0]=′\0′;
/*设置时间的一些描述somedescription*/
if(el->er->NumStrings)
{
size_left=1020;
sstr=(LPSTR)((LPBYTE)el->er+el->er->StringOffset);
el_string[0]=′\0′;
for(nstr=0;nstr<el->er->NumStrings;nstr++)
{
str_size=strlen(sstr);
strncat(el_string,sstr,size_left);
tmp_str=strchr(el_string,′\0′);
if(tmp_str)
{
*tmp_str=′′;
tmp_str++;*tmp_str=′\0′;
}
size_left=str_size+1;
if(nstr<=54)
el_sstring[nstr]=(LPSTR)sstr;
sstr=strchr((LPSTR)sstr,′\0′);
sstr++;
}
/*Getamoredescriptivemessage(ifavailable)*/
event_descriptive_msg=el_GetMessage(el->er,el->event_name,event_sourcename,el_sstring);
if(event_descriptive_msg!=NULL)
{
/*Removeany\nor\r*/
tmp_str=event_descriptive_msg;
while((tmp_str=strchr(tmp_str,′\n′)))
{
*tmp_str=′′;
tmp_str++;
}
tmp_str=event_descriptive_msg;
while((tmp_str=strchr(tmp_str,′\r′)))
{
*tmp_str=′′;
tmp_str++;
//strchr(tmp_str,′\n′);
}
}
}
else
{
strncpy(el_string,″(nomessage)″,1020);
}
/*得到username*/
if(el->er->UserSidLength)
{
SID_NAME_USEaccount_type;
if(!LookupAccountSid(NULL,(SID*)((LPSTR)el->er+el->er->UserSidOffset),
event_el_user,&user_size,event_el_domain,&domain_size,&account_type))
{
strncpy(event_el_user,″(nouser)″,255);
strncpy(event_el_domain,″nodomain″,255);
}
}
else
{
strncpy(event_el_user,″A″,255);
strncpy(event_el_domain,″N″,255);
}
if(printit)
{
tm*event_time=localtime((constlong*)&el->er->TimeWritten);
_snprintf(final_out_msg,1022,
″事件记录序号:%d\n事件:%s\n日期:%.4hd-%.2hd-%.2hd\n时间:%.2hd:%.2hd:%.2hd\n事件类型:%s\n事件来源:%s\n事件ID:(%u)\n用户:%s/%s\n计算机:%s\n描述:\n%s\n\n\n″,
event_record,
el->event_name,
event_time->tm_year+1900,
event_time->tm_mon+1,
event_time->tm_mday,
event_time->tm_hour,
event_time->tm_min,
event_time->tm_sec,
event_category,
event_sourcename,
(WORD)el->er->EventID,
event_el_domain,
event_el_user,
event_computername,
event_descriptive_msg!=NULL?event_descriptive_msg:el_string);
fprintf(fp,″%s\n″,final_out_msg);
}
if(event_descriptive_msg!=NULL)
LocalFree(event_descriptive_msg);
/*Changingthepointtotheer*/
read-=el->er->Length;
el->er=(EVENTLOGRECORD*)((LPBYTE)el->er+el->er->Length);
event_record++;
}
/*Settingertothebeginningofthebuffer*/
el->er=(EVENTLOGRECORD*)&mbuffer;
}
}。

Claims (5)

1.一种获取Windows虚拟机内部日志的方法,其特征在于:所述的方法包括如下步骤:
步骤1:登录云平台管理端,选择要查看日志的虚拟机;
步骤2:输入查询条件,查询虚拟机系统日志;
步骤3:查询命令发送到虚拟机客户端;
步骤4:虚拟机客户端读取当天系统日志,返回结果。
2.根据权利要求1所述的一种获取Windows虚拟机内部日志的方法,其特征在于:所述的云平台管理端,是统一的虚拟化管理平台,能够对外提供统一的管理接口;
所述的日志,是虚拟机内部日志,包含Windows的SecEvent.Evt、SysEvent.Evt、AppEvent.Evt三个日志文件;所述的SysEvent.Evt包括整体系统信息,其中也包含系统启动期间的日志;所述SecEvent.Evt记录所有等级用户信息的日志,包含系统授权信息,包括用户登录和使用的权限机制等;所述的AppEvent.Evt记录系统应用所产生的日志。
3.根据权利要求1所述的一种获取Windows虚拟机内部日志的方法,其特征在于:所述的输入查询条件,是指需要从虚拟机内部要获取的日志类型及时间。
4.根据权利要求2所述的一种获取Windows虚拟机内部日志的方法,其特征在于:所述的输入查询条件,是指需要从虚拟机内部要获取的日志类型及时间。
5.根据权利要求1至4任一项所述的一种获取windows虚拟机内部日志的方法,其特征在于:所述的虚拟机客户端,是安装在虚拟机内部的程序,通过串口通信协议与云平台管理端通信;所述的串口通信协议,指串口按位(bit)发送和接收字节。
CN201510790788.5A 2015-11-17 2015-11-17 一种获取Windows虚拟机内部日志的方法 Pending CN105337771A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510790788.5A CN105337771A (zh) 2015-11-17 2015-11-17 一种获取Windows虚拟机内部日志的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510790788.5A CN105337771A (zh) 2015-11-17 2015-11-17 一种获取Windows虚拟机内部日志的方法

Publications (1)

Publication Number Publication Date
CN105337771A true CN105337771A (zh) 2016-02-17

Family

ID=55288084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510790788.5A Pending CN105337771A (zh) 2015-11-17 2015-11-17 一种获取Windows虚拟机内部日志的方法

Country Status (1)

Country Link
CN (1) CN105337771A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080034109A1 (en) * 2000-11-06 2008-02-07 Greg Visalli System for an open architecture deployment platform with centralized synchronization
CN101753594A (zh) * 2008-11-28 2010-06-23 国际商业机器公司 激活虚拟机的方法、模拟计算设备的装置及监控设备
CN101923507A (zh) * 2010-07-30 2010-12-22 华中科技大学 基于驱动的虚拟机通用监控系统
CN103036998A (zh) * 2012-12-21 2013-04-10 北京邮电大学 云计算中一种基于免疫原理的入侵检测系统
CN103580899A (zh) * 2012-08-01 2014-02-12 中兴通讯股份有限公司 事件日志管理方法、系统、云服务客户端及虚拟化平台
CN104410699A (zh) * 2014-12-04 2015-03-11 武汉邮电科学研究院 一种开放式云计算资源管理方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080034109A1 (en) * 2000-11-06 2008-02-07 Greg Visalli System for an open architecture deployment platform with centralized synchronization
CN101753594A (zh) * 2008-11-28 2010-06-23 国际商业机器公司 激活虚拟机的方法、模拟计算设备的装置及监控设备
CN101923507A (zh) * 2010-07-30 2010-12-22 华中科技大学 基于驱动的虚拟机通用监控系统
CN103580899A (zh) * 2012-08-01 2014-02-12 中兴通讯股份有限公司 事件日志管理方法、系统、云服务客户端及虚拟化平台
CN103036998A (zh) * 2012-12-21 2013-04-10 北京邮电大学 云计算中一种基于免疫原理的入侵检测系统
CN104410699A (zh) * 2014-12-04 2015-03-11 武汉邮电科学研究院 一种开放式云计算资源管理方法及系统

Similar Documents

Publication Publication Date Title
CN104219330B (zh) 一种基于web代理进行录屏审计的方法及系统
CN103078932B (zh) 一种实现通用单点登录的方法、装置和系统
CN102833235B (zh) 身份认证管理装置
CN102215133B (zh) 基于rdp远程协议跳板机审计数据定位回放系统及方法
CN104735021B (zh) 一种帐号登录方法、装置和系统
CN107679057B (zh) 数据对接方法、装置、服务器和存储介质
CN105933415A (zh) 一种基于vnc代理的云计算环境中虚拟机在线录屏方法与系统
CN106130782A (zh) 一种获取服务器日志的方法和系统
CN109388631A (zh) 一种多租户的数据库分库实现方法
CN105631959A (zh) 考勤方法及系统
CN103235558A (zh) 数控机床智能通讯终端
CN107800722A (zh) 隔离工控设备与外部网络服务器的方法及装置
CN103812829A (zh) 一种提高远程桌面安全性的方法、远程桌面服务器及系统
CN103226768A (zh) 一种实验室原始记录单的实时自动生成系统及方法
CN104991831A (zh) 基于服务端的sso系统集成方法
CN109560895A (zh) 数据传输方法及装置
CN103427989A (zh) 一种面向物联网环境的数据加密和身份认证方法
CN105871642A (zh) 机房无人值守远程设备管理系统
CN103281407B (zh) 一种基于龙芯云终端的ip地址远程管理系统
CN103578070A (zh) 基于移动通信终端的电子病历管理方法及系统
CN101426008A (zh) 一种基于回显的审计方法及系统
WO2012041029A1 (zh) 一种服务器处理业务的方法及装置
CN106534342A (zh) 连接控制方法、主机及系统
CN105337771A (zh) 一种获取Windows虚拟机内部日志的方法
CN107040619B (zh) 硬件唯一标识码的生成和管理系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160217

WD01 Invention patent application deemed withdrawn after publication