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

一种获取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] =

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/541329.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详细图解mongodb 3.4.1 win7x64安装

原文:http://www.cnblogs.com/yucongblog/p/6895983.html 详细图解,记录 win7 64 安装mongo数据库的过程。安装的版本是 MongoDB-win32-x86_64-2008plus-ssl-3.4.1-signed。 我下载的源文件:mongodb-win32-x86_64-2008plus-ssl-3.4.1-signed我…

java calendar_Java Calendar complete()方法与示例

java calendarCalendar类的complete()方法 (Calendar Class complete() method) complete() method is available in java.util package. complete()方法在java.util包中可用。 complete() method is used to fills in any non-set fields in the calendar fields. complete()方…

LXD 2.0 系列(十二):调试,及给 LXD 做贡献

介绍 终于要结束了!这个大约一年前开始的这系列文章的最后一篇博文。 LXD 入门安装与配置你的第一个 LXD 容器资源控制镜像管理远程主机及容器迁移LXD 中的 DockerLXD 中的 LXD实时迁移LXD 和 JujuLXD 和 OpenStack调试,及给 LXD 做贡献如果你从一开始就…

linux用ping命令测试网速,linux下面使用命令测试网速

大家都知道在speedtest是市面上最准确最全面的测速工具,但在linux命令行不能直接使用,所以我们就借助脚本调用speedtest的接口来利用他测试网速。1.下载speedtest-cli脚本:下载地址:https://raw.githubusercontent.com/sivel/spee…

Java ArrayList isEmpty()方法与示例

ArrayList类isEmpty()方法 (ArrayList Class isEmpty() method) isEmpty() method is available in java.util package. isEmpty()方法在java.util包中可用。 isEmpty() method is used to check whether this Arraylist is "empty" or "not empty". isEmp…

linux家用系统版本,查看linux系统版本

篇一:linux下如何查看系统和内核版本linux下如何查看系统和内核版本 1. 查看内核版本命令:1) [rootq1test01 ~]# cat /proc/versionLinux version 2.6.9-22.ELsmp (bhcompilecrowe.devel.redhat.com) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1…

python中locked_Python锁类| 带示例的locked()方法

python中lockedPython Lock.locked()方法 (Python Lock.locked() Method) locked() is an inbuilt method of the Lock class of the threading module in Python. Locked()是Python中线程模块的Lock类的内置方法。 This method returns True if the lock is acquired by a th…

rocksdb ubuntu c++源码编译测试

2019独角兽企业重金招聘Python工程师标准>>> 环境: ubuntu16.4 需要安装 snappy gflage bz2 zstd 以及g 其中zstd是facebook开放源代码里的压缩的库 git clone https://github.com/facebook/rocksdb.git cd rocksdb make static_lib 成功生成 librocksd…

vs生成linux服务器程序,从Visual Studio到Linux上调试C++代码

从Visual Studio到Linux上调试C代码04/30/20155 分钟可看完本文内容[原文发表时间] 2015/4/29 10:00 PM正如您可能已经听说的那样,Visual Studio 2015新推出了对Android开发的GDB支持。有趣的是,因为这项功能依赖GDB调试,我们完全可能稍加改动…

java clock计时_Java Clock类| 实例的Instant()方法

java clock计时Clock Class Instant()方法 (Clock Class instant() method) instant() method is available in java.time package. Instant()方法在java.time包中可用。 instant() method is used to get the current instant that is used with this Clock. Instant()方法用于…

使用国内DOCKER镜像源

在国内,通过Docker的pull和push命令访问hub.docker时,网络十分慢,而且会出现各种各样的网络连接问题。因此这里介绍下如何使用国内的镜像源,这里以DaoCloud为例。注册DaoCloud用户;注册完成后,会进入dashboard页面&…

linux命令top查看进程,linux 查看进程的命令(top)

标签:top操作系统支持多任务并不是计算机同时做很多事情,而是快速的轮换着执行这些任务。linux安排不同的程序等待使用CPU。进程的工作方式:当系统启动的时候,内核先把自己的程序初始化为进程,然后运行一个init的程序&…

stl vector 函数_vector :: back()函数以及C ++ STL中的示例

stl vector 函数C vector :: back()函数 (C vector::back() function) vector::back() is a library function of "vector" header, it is used to access the last element from the vector, it returns a reference to the last element of the vector. vector ::…

linux udp 端口 抓包,tcpdump之UDP抓包

摘要使用tcpdump抓UDP包,过滤过滤IP和port,并且自动拆分片段。安装tcpdumpyum install -y tcpdump使用方法tcpdump -i bond0 udp port xxxx and host xxx.x.xx.xxx -s0 -G 600 -w %Y_%m%d_%H%M_%S.pcap参数说明-i 指定监听的网卡udp 监听UDP协议port 指定…

Vue版本过渡变化

到了2.0以后&#xff0c;有哪些变化&#xff1a; 在每个组件模板&#xff0c;不在支持片段代码之前: <template id”aaa”><h3>我是组件</h3><strong>我是加粗标签</strong></template> 现在: 必须有根元素&#xff0c;包裹住所有的代码 …

NABARD的完整形式是什么?

NABARD&#xff1a;国家农业和农村发展银行 (NABARD: National Bank for Agriculture and Rural Development) NABARD is an abbreviation of National Bank for Agriculture and Rural Development. NABARD是国家农业和农村发展银行的缩写 。 On 12 July 1982, it was establ…

基于opencv+Dlib的面部合成(Face Morph)

引自&#xff1a;http://blog.csdn.net/wangxing233/article/details/51549880 零、前言 前段时间看到文章【1】和【2】&#xff0c;大概了解了面部合成的基本原理。这两天空下来了&#xff0c;于是参考【3】自己实现了下。虽然【1】和【2】已经讲的很清楚了&#xff0c;但是有…

大脑应对危机的模式_危机的完整形式是什么?

大脑应对危机的模式危机&#xff1a;印度信用评级信息服务有限公司 (CRISIL: Credit Rating Information Services of India Limited) CRISIL is an abbreviation of Credit Rating Information Services of India Limited. It is an international analytic company which off…

linux网络延迟命令,2. Linux使用ping命令查看网络延迟

ping命令持续发送少量互联网流量到远程地址并报告收到回应的总时间。如果流量因为网络故障或者错误配置而被丢弃&#xff0c;它也会报告。ping命令是最基本和初级的诊断网络问题的工具之一。ping常被用来测试网络延迟&#xff0c;但是有时ping的延迟并不是网络引起的&#xff0…

一、简单工厂模式

# public class Operation //基类{private double _numberA 0;private double _numberB 0;public double NumberA{get{ return _numberA; }set{_numberA value;}}public double NumberB{get{ return _numberB; }set{_numberB value;}}public virtual double GetResult(){d…