CN105337771A - 一种获取Windows虚拟机内部日志的方法 - Google Patents
一种获取Windows虚拟机内部日志的方法 Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
Abstract
本发明涉及云计算管理技术领域,特别是指一种获取Windows虚拟机内部日志的方法。本发明首先登录云平台管理端,选择要查看日志的虚拟机;其次输入查询条件,查询虚拟机系统日志;然后查询命令发送到虚拟机客户端;最后虚拟机客户端读取当天系统日志,返回结果。本发明的方法保障客户数据安全,无需获取虚拟机用户名密码;具有通用性,针对Windows操作系统都能使用;简单快捷,无需进入虚拟机内部即可查看最新系统日志;可以用于获取Windows虚拟机内部日志。
Description
技术领域
本发明涉及云计算管理技术领域,特别是指一种获取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)发送和接收字节。
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)
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 | 武汉邮电科学研究院 | 一种开放式云计算资源管理方法及系统 |
-
2015
- 2015-11-17 CN CN201510790788.5A patent/CN105337771A/zh active Pending
Patent Citations (6)
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 |