一种Linux系统问题自动分析方法及系统与流程

文档序号:14249320阅读:162来源:国知局
一种Linux系统问题自动分析方法及系统与流程

本发明涉及服务器的技术领域,具体涉及一种linux系统问题自动分析方法及系统。



背景技术:

linux服务器操作系统上一般运行着非常关键的业务应用,系统的稳定性非常重要;但随着系统硬件资源规模的不断扩展,系统业务应用复杂程度的不断提高,系统出现不稳定的几率也随之不断上升。在linux操作系统运行过程中由于不确定的因素(如硬件故障或系统软件逻辑错误)会导致系统产生异常表现,例如cpu占用率过高、内存占用率过高、网络传输速率下降、i/o吞吐量下降等,当出现上述系统问题时往往会影响系统业务的正常运行,严重的可能导致系统基本服务异常,例如不能通过网络登录、系统命令不能正常执行等,当系统出现问题时能快速的分析定位问题的根源变的至关重要。

当linux系统出现问题时常规的分析方法是运维人员通过系统监控命令查看当前系统的运行状态,如通过top命令查看哪些进程占用cpu资源过高、通过iostat命令查看当前系统的读写速率等,然后通过观察到系统信息结合自身的知识经验来可能引起系统问题的原因。

上述技术存在如下缺陷:1、对于一些复杂度不高的场景使用常用的系统命令或许能分析出问题原因,当对于比较复杂的应用场景,特别是涉及到系统核心层时常规命令无法满足要求;2、上述技术手段受问题分析人员知识经验的制约,不同的技术人员使用相同的技术手段可能分析的结果差异很大;3、时效性比较差,人工分析一般耗时比较长,很难满足快速定位问题根源的要求。



技术实现要素:

基于上述问题,本发明提出了一种linux系统问题自动分析方法及系统,实现linux系统问题分析的自动化处理。

本发明提供如下技术方案:

一方面,本发明提供了一种linux系统问题自动分析方法,包括:

步骤101,启动系统问题分析服务;

步骤102,用户配置系统问题配置模块,通过命令行的方式配置需要监测的系统资源;

步骤103,系统问题监测模块读取系统问题配置模块所设定的系统资源,选择不同系统监测工具实时监测系统资源的运行状况;若发现系统资源达到系统问题的触发条件发送信息至系统问题分析模块;

步骤104,系统问题分析模块接收系统监测模块发送的信息,信息包括系统资源的类型,系统问题分析模块使用linux系统监测工具对问题系统资源的状况进行分析,找到导致系统资源使用异常的应用进程,并将所述应用进程的实时状态信息发送至系统问题报告模块。

步骤105,系统问题报告模块接收系统问题分析模块的分析结果,将所述分析结果进行格式化处理后进行归档保存在系统指定目录下,同时将分析结果发送给当前系统用户。

其中,所述启动服务通过start启动,关闭服务通过stop启动,所述系统问题分析服务在后台以守护进程的方式启动运行。

其中,所述系统资源包括cpu、内存、i/o、网络中的至少一个。

其中,所述触发条件为cpu的利用率超过阈值、内存占用率超过阈值,i/o错误,网络错误中的至少之一。

另外,本发明还提供了一种linux系统问题自动分析系统,所述系统包括:系统问题配置模块、系统问题监测模块、系统问题分析模块、系统问题报告模块;

系统问题配置模块,用于配置当前需要检测的系统问题,包括cpu的利用率超过阈值、内存占用率超过阈值,i/o错误,网络错误中的至少之一;

系统问题监测模块,用于读取系统问题配置模块所设定的系统资源,使用系统监测工具监测当前系统的硬件资源运行情况,若发现系统资源达到系统问题的触发条件发送信息至系统问题分析模块;

系统问题分析模块,用于接收系统监测模块发送的信息,信息包括系统资源的类型,使用系统监测分析工具分析当前系统问题产生的原因,找到导致系统资源使用异常的应用进程,并将所述应用进程的实时状态信息发送至系统问题报告模块;

系统问题报告模块,用于对所述系统问题分析模块输出的结果分类归档,并发信号给当前用户,以便用户能第一时间查看系统问题的存在以及问题原因。

其中,所述系统资源包括cpu、内存、i/o、网络中的至少一个。

其中,所述触发条件为cpu的利用率超过阈值、内存占用率超过阈值,i/o错误,网络错误中的至少之一。

其中,进行系统问题自动分析前需要先启动系统问题分析服务

本发明提供了一种linux系统问题自动分析方法及系统,配置系统问题配置模块,读取系统问题配置模块所设定的系统资源,选择不同系统监测工具实时监测系统资源的运行状况,若发现系统资源达到系统问题的触发条件发送信息至系统问题分析模块,使用系统监测分析工具分析当前系统问题产生的原因,找到导致系统资源使用异常的应用进程,接收分析结果,将分析结果归档保存在系统指定目录下,协同工作实现自动监测、分析、报告系统问题原因;本发明节省了进行人工系统问题分析带来的人力资源消耗,同时提高了问题分析解决的速度。

附图说明

图1是本发明的方法流程图;

图2是本发明的系统问题自动分析工具工作示意图;

具体实施方式

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

本发明的技术方案是除了可以部署在linux服务器下,还可以部署在其他操作系统服务器下,例如:unix等。

一方面,本发明的实施方式提供了一种linux系统问题自动分析方法,附图1为本发明的方法流程图,附图2是本发明的系统问题自动分析工具工作示意图,包括:

步骤101,启动系统问题分析服务;

当前系统为linux操作系统;常用系统检测工具(如perf、ftrace等)已安装在系统上,且能正常使用。由四个模块组成实现系统问题自动分析,包括:系统问题配置模块、系统问题监测模块、系统问题分析模块、系统问题报告模块。

启动系统问题分析服务。四个模块在系统中以系统服务的形式呈现,以centos7为例,启动服务的操作方式为:systemctlstartautoanalysis.service;关闭服务的操作方式为:systemctlstopautoanalysis.service;系统服务autonanalysis启动伴随着四个模块在后台以守护进程的方式启动运行起来。

步骤102,用户配置系统问题配置模块,通过命令行的方式配置需要监测的系统资源;

用户配置系统问题配置模块。默认配置下cpu、内存、i/o、网络四大问题都需要监测;用户可以通过命令行的方式配置需要监测的系统资源。

步骤103,系统问题监测模块读取系统问题配置模块所设定的系统资源,选择不同系统监测工具实时监测系统资源的运行状况;若发现系统资源达到系统问题的触发条件发送信息至系统问题分析模块;

系统问题监测模块读取系统问题配置模块所设定的系统资源,选择不同系统监测工具实时监测系统资源的运行状况;如果发现系统资源达到系统问题的触发条件(如每个cpu的利用率超高95%)会发送信息给系统问题分析模块。所述触发条件为cpu的利用率超过阈值、内存占用率超过阈值,i/o错误,网络错误中的至少之一。

步骤104,系统问题分析模块接收系统监测模块发送的信息,信息包括系统资源的类型,系统问题分析模块使用linux系统监测工具对问题系统资源的状况进行分析,找到导致系统资源使用异常的应用进程,并将所述应用进程的实时状态信息发送至系统问题报告模块。

系统问题分析模块接收系统监测模块发送的信息,信息包括系统资源的类型(如cpu资源问题),系统问题分析模块会使用了linux系统监测工具对问题系统资源的状况进行分析,找到导致系统资源使用异常的应用进程,并将进程的实时状态信息发送给系统问题报告模块。

步骤105,系统问题报告模块接收系统问题分析模块的分析结果,将所述分析结果进行格式化处理后进行归档保存在系统指定目录下,同时将分析结果发送给当前系统用户。

系统问题报告模块接收系统问题分析模块的分析结果,将分析结果进行格式化处理后进行归档保存在系统指定目录下,同时把分析结果发送给当前系统用户。

本发明提供了一种linux系统问题自动分析方法,配置系统问题配置模块,读取系统问题配置模块所设定的系统资源,选择不同系统监测工具实时监测系统资源的运行状况,若发现系统资源达到系统问题的触发条件发送信息至系统问题分析模块,使用系统监测分析工具分析当前系统问题产生的原因,找到导致系统资源使用异常的应用进程,接收分析结果,将分析结果归档保存在系统指定目录下,协同工作实现自动监测、分析、报告系统问题原因;本发明节省了进行人工系统问题分析带来的人力资源消耗,同时提高了问题分析解决的速度。

另一方面,本发明的实施方式提供了一种linux系统问题自动分析系统,图1为本发明的方法流程图,附图2是本发明的系统问题自动分析工具工作示意图,所述系统包括:系统问题配置模块、系统问题监测模块、系统问题分析模块、系统问题报告模块;

系统问题配置模块,用于配置当前需要检测的系统问题,包括cpu的利用率超过阈值、内存占用率超过阈值,i/o错误,网络错误中的至少之一;

启动系统问题分析服务。四个模块在系统中以系统服务的形式呈现,以centos7为例,启动服务的操作方式为:systemctlstartautoanalysis.service;关闭服务的操作方式为:systemctlstopautoanalysis.service;系统服务autonanalysis启动伴随着四个模块在后台以守护进程的方式启动运行起来。

用户配置系统问题配置模块。默认配置下cpu、内存、i/o、网络四大问题都需要监测;用户可以通过命令行的方式配置需要监测的系统资源。

系统问题监测模块,用于读取系统问题配置模块所设定的系统资源,使用系统监测工具监测当前系统的硬件资源运行情况,若发现系统资源达到系统问题的触发条件发送信息至系统问题分析模块;

系统问题监测模块读取系统问题配置模块所设定的系统资源,选择不同系统监测工具实时监测系统资源的运行状况;如果发现系统资源达到系统问题的触发条件(如每个cpu的利用率超高95%)会发送信息给系统问题分析模块。所述触发条件为cpu的利用率超过阈值、内存占用率超过阈值,i/o错误,网络错误中的至少之一。

系统问题分析模块,用于接收系统监测模块发送的信息,信息包括系统资源的类型,使用系统监测分析工具分析当前系统问题产生的原因,找到导致系统资源使用异常的应用进程,并将所述应用进程的实时状态信息发送至系统问题报告模块;

系统问题分析模块接收系统监测模块发送的信息,信息包括系统资源的类型(如cpu资源问题),系统问题分析模块会使用了linux系统监测工具对问题系统资源的状况进行分析,找到导致系统资源使用异常的应用进程,并将进程的实时状态信息发送给系统问题报告模块。

系统问题报告模块,用于对所述系统问题分析模块输出的结果分类归档,并发信号给当前用户,以便用户能第一时间查看系统问题的存在以及问题原因。

系统问题报告模块接收系统问题分析模块的分析结果,将分析结果进行格式化处理后进行归档保存在系统指定目录下,同时把分析结果发送给当前系统用户。

本发明提供了一种linux系统问题自动分析系统,配置系统问题配置模块,读取系统问题配置模块所设定的系统资源,选择不同系统监测工具实时监测系统资源的运行状况,若发现系统资源达到系统问题的触发条件发送信息至系统问题分析模块,使用系统监测分析工具分析当前系统问题产生的原因,找到导致系统资源使用异常的应用进程,接收分析结果,将分析结果归档保存在系统指定目录下,协同工作实现自动监测、分析、报告系统问题原因;本发明节省了进行人工系统问题分析带来的人力资源消耗,同时提高了问题分析解决的速度。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1