一种获取Linux虚拟机内部日志的方法

【技术领域】

[0001]本发明涉及云计算管理技术领域,特别是指一种获取Linux虚拟机内部日志的方法。

【背景技术】

[0002]在云计算环境下,虚拟机被广泛使用,对于虚拟机的维护要求越来越高,当虚拟机出现故障,需要进行故障排查时,通常需要查看虚拟机内部日志,一般只能通过跟客户获取虚拟机用户名及密码,进入虚拟机内部查看日志,根据日志排查故障。

[0003]上述方法存在以下弊端:

[0004]1、对于客户数据安全没有保障,需要跟客户获取用户名密码,才能进入虚拟机内部;

[0005]2、排查所花时间较长,需要获取密码及进入虚拟机内部。

【发明内容】

[0006]本发明解决的技术问题在于提供一种获取Linux虚拟机内部日志的方法,解决传统方法存在的不足,保障客户虚拟机数据安全,提高运维效率,为虚拟机运维提供一种可行的解决方案。

[0007]本发明解决上述技术问题的技术方案是:

[0008]所述的方法包括如下步骤:

[0009]步骤1:登录云平台管理端,选择要查看日志的虚拟机

[0010]步骤2:输入查询条件,查询虚拟机系统日志

[0011]步骤3:查询命令发送到虚拟机客户端

[0012]步骤4:虚拟机客户端读取当天系统日志,返回结果。

[0013]所述的云平台管理端,是统一的虚拟化管理平台,能够对外提供统一的管理接P ;

[0014]所述的日志,是虚拟机内部日志,包含linux的/var/log/messages、/var/log/syslog、/var/log/user.log、/var/log/auth.log 四个文件;所述的 /var/log/messages 包括整体系统信息,其中也包含系统启动期间的日志;所述的/var/log/syslog只记录警告信息,常常是系统出问题的信息;所述/var/log/user.log记录所有等级用户信息的日志;所述的/var/log/auth.log包含系统授权信息,包括用户登录和使用的权限机制等。

[0015]所述的输入查询条件,是指需要从虚拟机内部要获取的日志类型及时间。

[0016]所述的虚拟机客户端,是安装在虚拟机内部的程序,通过串口通信协议与云平台管理端通信;所述的串口通信协议,指串口按位(bit)发送和接收字节。

[0017]本发明的方法保障客户数据安全,无需获取虚拟机用户名密码;具有通用性,针对Linux操作系统都能使用;简单快捷,无需进入虚拟机内部即可查看最新系统日志。

【附图说明】

[0018]下面结合附图对本发明进一步说明:

[0019]图1为本发明的流程图;

[0020]图2为本发明的技术原理图;

【具体实施方式】

[0021]如图1、2所示,本发明具体实施过程如下:

[0022]1、登录云平台管理端,选择要查看日志的虚拟机;

[0023]2、输入查询条件,查询虚拟机系统日志

[0024]/**

[0025]^searchVmEvent查询虚拟机日志.

[0026]*@param beginTime 日志开始时间

[0027]*@param endTime 日志结束时间

[0028]^Oparam eventType日志类型:错误、告警、正常

[0029]*@param evList 查询返回列表

[0030]*/

[0031]public ListsearchVmEvent(Date beginTime, Date endTime, StringeventType)

[0032]{

[0033]ListevList = new ArrayList();

[0034]evList = gComputerService.searchVmEvent(beginTime? endTime,eventType);

[0035]return evList ;

[0036]}

[0037]3、查询命令发送到虚拟机客户端;

[0038]windows系统日志的地址存在项目的address, properties配置里面

[0039]addressl = /var/log/messages

[0040]address2 = /var/log/syslog

[0041]address3 = /var/log/user.log

[0042]address3 = /var/log/auth.log

[0043]在xml配置文件中,导入address, properities文件

[0044]〈bean id=" propertyConf igurer!! class =" org.springframewornf ig.PropertyPlaceholderConfigurer" >

[0045]〈property name = " ignoreResourceNotFound" value = " true" />

[0046]〈property name = " locat1ns" >

[0047]〈list〉

[0048]/WEB-1NF/address.properties

[0049]〈/list〉

[0050]

[0051]

[0052]〈bean id = " proxyNameclass = " xxx.xxx.xxx.ProxyClass>

[0053] {addressl}〈/value〉

[0054]

[0055]4、虚拟机客户端读取当天系统日志,返回结果;

[0056]/*void Read—event (os—el*el)读取系统的日志详情

[0057]^Reads the event log.

[0058]*/

[0059]void Read—event(os_el*el, int printit)

[0060]{

[0061]DWORD nstr ;

[0062]DWORD user—size ;

[0063]DWORD domain—size ;

[0064]DWORD read,needed ;

[0065]int Size—left ;

[0066]int str—size ;

[0067]char*mbuffer[BUFFER—SIZE];

[0068]LPSTR sstr = NULL ;

[0069]char*tmp—str = NULL ;

[0070]char^event—category ;// 事件类型

[0071]char^event—sourcename ;// 事件来源

[0072]char^event—computername ;// 事件计算机名

[0073]char*event—descriptive—msg ;// 事件描述

[0074]char event—el—user [257] ;//事件用户

[0075]char event—el—domain [257] ;//事件域

[0076]char el—string

[1025];

[0077]char final—out—msg

[1024] ;// 最后输出的信息

[0078]LPSTR el—sstring[57];

[0079]/氺Er must point to the mbuffer木/

[0080]el->er = (EVENTL0GREC0RD*)&mbuffer ;

[0081]/^Zeroing the last values*/

[0082]el_string

[1024] =' \0';

[0083]event—el—user [256] = ' \0f ;

[0084]event—el—domain [256] = ' \0f ;

[0085]final—out—msg

[1023] = ' \0f ;

[0086]el—sstring[56] = NULL ;

[0087]/^Reading the event log*/

[0088]while(ReadEventLog(el_>h,

[0089]EVENTL0G—FORWARDS—READ|EVENTL0G—SEQUENT IAL—READ, 0,

[0090]el_>er,BUFFER—SIZE-1,&read,&needed))

[0091]{

[0092]while (read>0)

[0093]{

[0094]/氺We need to initialize every variable before the loop氺/

[0095]//得到事件的类型

[0096]event_category = el—GetCategory(el_>er_>EventType);

[0097]//得到事件来源

[0098]event—sourcename = (LPSTR)((LPBYTE)el->er+sizeof(EVENTL0GREC0RD));

[0099]//得到计算机名

[0100]event_computername = event_sourcename + strlen (event_sourcename)+1 ;

[0101]//给描述信息初始化

[0102]event_descriptive_msg = NULL ;

[0103]/* 初始化 domain/user 尺寸 */

[0104]user—size = 255 ;domain—size = 255 ;

[0105]event—el—domain [0] =

linux虚拟机怎么看var文件,一种获取Linux虚拟机内部日志的方法相关推荐

  1. 使用SSH完成linux和windows之间的文件互传(linux端)

    使用SSH完成linux和windows之间的文件互传(linux端) 参考链接 通过OpenSSH完成linux和Win10文件互传 最近项目需求,需要linux和windows端进行文件互传,lo ...

  2. 三种获取Class类型的实例的方法

    通过Object类中的getClass()方法: 通过静态方法Class.forName("全类名"): 通过类字面常量Class.class. 三种获取Class类型的实例的方法 ...

  3. linux下怎么看影子文件,IT外包桌面解决方案--Linux怎么查找影子文件并进入?

    与众不同的服务是因为有心 所有艾锑人可能都知道艾锑无限为客户提供三种与客户接触的方式,一种是产品,一种是技术,还有一种是服务,那这三种所谓的方式构建起一个三角形,这种稳固的体系,看起来还不错,但我们细 ...

  4. linux查找文件限制时间,Linux查找命令find与文件三种时间

    Linux中查找命令如下: Which 查看可执行文件的位置. whereis 查看文件的位置. locate 配合数据库查看文件位置. Find 实际搜寻硬盘查询文件名称. 其中find的功能很强大 ...

  5. linux中rm删除的文件是否可以恢复,Linux下用rm删除的文件的恢复方法

    Linux下用rm删除的文件的恢复方法_Linux教程_Linux公社-Linux系统门户网站 https://www.linuxidc.com/Linux/2008-08/14744.htm lin ...

  6. linux下如何搜索某个文件,技术|如何在 Linux 中查找一个文件

    对于新手而言,在 Linux 中使用命令行可能会非常不方便.没有图形界面,很难在不同文件夹间浏览,找到需要的文件.本篇教程中,我会展示如何在 Linux 中查找特定的文件. 第一步要做的是find 命 ...

  7. linux系统pkl,(网摘)Linux新手必看:浅谈如何学习linux

    地址:http://www.eimhe.com/bbs/viewthread.php?tid=53256&extra=page=1> Linux新手必看:浅谈如何教习linux 一.起步 ...

  8. linux查找最近访问的文件,教您在Linux系统中查找最近修改的文件/文件夹

    如果您使用Linux系统进行日常操作,则主目录文件将随时间急剧增加.如果您有成千上万个文件,很可能不记得最近更改的文件名,本文将教您在Linux系统中查找最近修改的文件/文件夹.另外,如果要检查出于任 ...

  9. linux shell 域名 ip,Shell脚本一种检查Linux中域名和IP地址所有权信息、检查多个域名的到期日期工具...

    Shell脚本一种检查Linux中域名和IP地址所有权信息.检查多个域名的到期日期工具 jwhois是一个命令行实用程序,可从whois服务器(whois数据库)中获取有关域名所有权的信息. Whoi ...

最新文章

  1. LeetCode 1027. Longest Arithmetic Sequence--笔试题--C++解法
  2. linux启动spark命令,在linux上安装spark
  3. 日期格式化的“疑难杂症”
  4. Saas与传统软件对比
  5. java golang速度_golang思考之运行速度
  6. display:table-cell自适应布局下连续单词字符换行
  7. 利用Packer自定义镜像创建容器集群
  8. 支付宝一键清除首页各种广告
  9. 10.C++-构造函数初始化列表、类const成员、对象构造顺序、析构函数
  10. db2嵌套查询效率_详解oracle嵌套循环及实例说明
  11. java 程序在Eclipse 或者 Linux 运行报 Unsupported major.minor version 51.0解决办法
  12. POCO c++ 使用例子
  13. Conda更新失败:SSL错误:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败
  14. python数据分析社区_python之数据分析
  15. 2022年全球市场重疾险总体规模、主要企业、主要地区、产品和应用细分研究报告
  16. 感恩节 今天,留一天时间感谢自己
  17. CentOS中安装lsb_release及使用
  18. 起枪还是ECO ? CSGO什么时候起长枪 CSGO超实用教学
  19. 【信号与系统学习笔记 3】—— 系统,以及系统的性质以及判断方法解析
  20. 你的Windows 版本即将终止服务。请单击以下下载更新版本的Windows10以继续获得支持

热门文章

  1. C++11 右值引用、移动语义、完美转发、万能引用
  2. Linux查找命令find、loacte、whereis、which、type梳理
  3. CTF web题 wp:
  4. winpe制作u盘启动盘_怎么制作u盘启动盘 u盘启动盘制作方法【介绍】
  5. python的常见矩阵除法_Numpy矩阵除法返回所有零
  6. python语句print(type([1、2、3、4))_Python 学习第一天
  7. c 调用java程序_C ++可以调用Java代码吗?
  8. python判断正确错误_python错误和异常
  9. ERROR: Cannot uninstall ‘PyYAML‘. 安装 fvcore
  10. Problem G: 函数---判断日期(年月日)是否合法