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.pswp.cn/news/541329.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/541329.shtml
英文地址,請注明出處:http://en.pswp.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…