对事件根本原因的分析予以支援的管理系统以及方法
【技术领域】
[0001]本发明主要涉及对在管理对象组件中发生的事件的根本原因进行分析的支援。
【背景技术】
[0002]在管理IT (Informat1n Technology:信息技术)系统的情况下,例如像专利文献I那样,从在系统内检测到的多个故障或其征兆中,检测成为原因的事件。具体来说,在专利文献I中,将管理对象装置或构成管理对象装置的组件(component)中的各种故障事件化,管理软件在事件DB(数据库)内积累事件的发生信息。另外,该管理软件具有分析引擎,该分析引擎用于对在管理对象装置中发生的多个事件的因果关系进行分析。该分析引擎访问具有管理对象装置的结构信息的结构管理DB,将跨设在位于某个1/0(输入输出)通道上的路径(path)上的一个或多个管理对象装置的多个组件之间的关系识别为被称为“拓扑”的一个组。当事件发生时,分析引擎对包含发生了事件的组件在内的各拓扑应用由事先规定的条件语句和分析结果构成的元规则(metarule),构建用于分析各个拓扑中的故障的展开规则。在该展开规则中,包括可能成为根本原因的结论事件和在发生了结论事件的情况下由此而引起的条件事件组。具体来说,在规则的THEN部中记载的事件是可能成为根本原因的结论事件,在IF部中记载的事件为条件事件。在展开规则的条件事件组与检测到的事件组一致的情况下,分析引擎将在展开规则中记载的结论事件作为在IT系统中发生的多个故障的根本原因来进行显示。在IT系统中,有时在一个装置中发生的故障会连锁地引起与该装置具有依存关系的其他多个装置的故障。专利文献I示出的技术能够从检测到的多个故障中确定出成为传播源的故障。
[0003]现有技术文献
[0004]专利文献
[0005]专利文献1:W02013/046287
【发明内容】
[0006]发明所要解决的课题
[0007]包含专利文献I公开的技术在内,基于组件中发生的事件的模式来分析故障原因的技术,能够锁定作为在IT系统中发生的多个故障的开端的故障。然而,有时,仅根据所发生的事件的模式,不能够确定出用于决定故障恢复方法的足够详细的原因。即,有时,不能够确定出作为多个故障的开端的故障发生的原因。
[0008]用于解决课题的手段
[0009]存储设备存储结构管理信息、多个规则以及多个通用诊断过程。结构管理信息是与所述多个管理对象组件的结构有关的信息。多个规则的每一个是表示与一个以上的事件对应的一个以上的条件事件和在发生了所述一个以上的条件事件的情况下成为原因的结论事件之间的关联的规则。多个通用诊断过程的每一个均与多个规则的某一个建立了关联,并且是利用一个或多个组件种类定义,且不依存于管理对象组件的通用的诊断过程。处理器以多个规则中的一个以上的对象规则为基础,确定一个以上的候选原因,一个以上的对象规则是指,与和一个以上的发生事件(发生了的事件)关联的一个以上的条件事件建立了关联的一个以上的规则。处理器确定多个通用诊断过程中的、与作为一个以上的候选原因中的所选的候选原因的基础的对象规则建立了关联的通用诊断过程。处理器基于确定出的通用诊断过程和结构管理信息,生成展开诊断过程,展开诊断过程是对一个以上的管理对象组件执行的诊断过程,用于确定所选的候选原因的更具体的原因或更新所选的候选原因的可靠度。
[0010]发明的效果
[0011]能够期待更详细或更准确地确定出一个以上的发生事件的原因。
【附图说明】
[0012]图1示出第一实施例的概略。
[0013]图2示出第一实施例的IT系统以及管理计算机的结构例。
[0014]图3示出结构管理DB中的装置表格的结构例。
[0015]图4示出结构管理DB中的iSCSI磁盘表格的结构例。
[0016]图5示出结构管理DB中的网络I/F(接口)表格的结构例。
[0017]图6示出结构管理DB中的开关端口表格的结构例。
[0018]图7示出结构管理DB中的iSCSI目标器表格的结构例。
[0019]图8示出结构管理DB中的存储端口表格的结构例。
[0020]图9示出性能表格的结构例。
[0021]图10示出事件队列(queue)表格的结构例。
[0022]图1IA示出元规则的结构例。
[0023]图1lB示出展开规则的结构例。
[0024]图12示出元(meta)诊断过程的结构例。
[0025]图13示出拓扑条件的结构例。
[0026]图14示出元收集手段的结构例。
[0027]图15示出展开诊断过程的结构例。
[0028]图16示出展开收集手段的结构例。
[0029]图17示出通过故障分析程序执行的故障原因分析处理的例子的流程图。
[0030]图18示出事件分析结果画面的一个例子。
[0031]图19示出通过诊断过程展开程序执行的处理的例子的流程图。
[0032]图20示出通过诊断过程展开程序执行的处理的例子的流程图。
[0033]图21示出通过显示程序执行的处理的例子的流程图。
[0034]图22示出诊断结果画面的一个例子。
[0035]图23示出第二实施例的元规则的结构例。
[0036]图24示出第二实施例的展开规则的结构例。
[0037]图25示出第二实施例的展开诊断过程的结构例。
[0038]图26示出在第二实施例中通过故障分析程序执行的故障原因分析处理的例子的
流程图。【具体实施方式】
[0039]在以下的说明中,参照作为公开的一部分的附图,但这些附图用于示出能够执行本发明的例示性的实施方式,并不限定本发明。在这些附图中,在多个图中出现的同一附图标记表示同一结构要素。而且,如下述以及图示的那样,详细的说明提供了各种例示性的实施方式,但本领域技术人员要注意,本发明不限定于在本说明书中叙述以及图示的实施方式,而是能够扩大到公知或将来变为公知的其他实施方式。
[0040]另外,在以下的详细的说明中,公开了用于完全理解本发明的很多具体且详细的事项。然而,本领域技术人员能明确了解到,并不是说要执行本发明就必须具有这些具体且详细的事项全部。在其他状况下,为了不无端地使本发明难以理解,有时,对公知的构造、材料、电路、处理以及接口不进行详细的说明及/或以框图的形式来表示这些成分。
[0041]而且,用计算机内部的动作的算法以及符号的表现方式表示以下详细说明的某个部分。这些算法的说明以及符号的表现是指,精通数据处理技术的本领域技术人员将发明自身的本质最有效地传达给其他本领域技术人员所使用的手段。算法是指,用于达到期望的最终状态或结果而被定义的一连串步骤。在本发明中,所执行的步骤要求物理性地操作用于实现有形结果的有形量。
[0042]通常,这些量形成能够进行保存、传送、结合、比较以及其他操作的电信号或磁信号的形式,但不是必须的。已知基于在原理上能够通用的理由,往往将这些信号称为比特、值、要素、符号、文字、项目、数量、命令等会很便利。但是要注意,这些所有以及同样的项目应为与适当的物理量建立了关联的项目,只不过是为了方便起见而对这些物理量标注的标签。
[0043]只要不是特意额外进行说明的情况,都可从以下的叙述明确得知,在贯穿本说明书整体的叙述中,利用了“处理”、“计算”、“算出”、“判断”、“显示”等用语的说明还可以包括其他信息处理装置的动作以及处理,其他信息处理装置是指,对计算机系统或该计算机系统的寄存器以及存储器内的以物理(电子)量的形式表示的数据进行操作,将该数据转换成该计算机系统的存储器、寄存器或其他信息存储、传送或显示装置内的同样以物理量的形式表示的其他数据。
[0044]执行本说明书的动作的装置可以是出于必要的目的而特别构建出的装置,或者,也可以包括利用一个以上的计算机程序选择性地启动或再设定的一个以上的通用计算机。这种计算机程序能够保存在例如光盘、磁盘、只读存储器、随机存储器、固体装置以及驱动器等的能够由计算机读取的存储介质或适于保存电子信息的其他任意的介质内,但不限于这些。
[0045]本说明书示出的算法以及显示器在本质上与任何特定的计算机或其他装置都不关联。可以结合使用各种通用系统和基于本说明书的教导的程序以及模块,有时构建用于执行期望的方法步骤的更加特殊化的装置更为便利。这些各种系统的构造在以下公开的说明变明朗。另外,本发明也没有以任何特定的编程语言作为前提进行描述。如以下描述的那样,能够理解为为了执行本发明的教导,可以利用各种的编程语言。程序语言的命令由一个以上的处理装置,例如中央处理装置(CPU)、处理器或控制器执行。
[0046]另外,在以下的说明中,以“aaa表格”、“aaa列表”、“aaaDB”、“aaa队列”、“aaa库”等的形式说明信息,但这些信息也可以用除了表格、列表、DB、队列、库等的数据结构以外的形式来表示。因此,为了表示不依存于数据结构,能够将“aaa表格”、“aaa列表”、“aaaDB”、“aaa队列”、“aaa库”等称为“aaa信息”。
[0047]而且,在说明要素时,利用“标识符”、“名”、“名称”以及“ID”中的至少一个表现形式,这些表现形式之间能够互相替换,另外,可以取代这些中的至少一个或在这些中的至少一个的基础上,利用其他种类的识别信息。
[0048]在以下的说明中,有时将“程序”作为主语进行处理相关的说明,但由于程序是由处理器执行的,由此利用存储器以及通信端口(通信制御设备)进行规定的处理,所以在该处理的说明中,也可以将处理器作为主语。另外,可以将以程序为主语公开的处理看作是由管理计算机等的计算机进行的处理。另外,程序的一部分或全部可以由专用硬件来实现。另夕卜,各种程序可以经由程序分发服务器、能够由计算机读取的存储介质安装在计算机内。
[0049]此外,管理计算机具有输入输出设备。作为输入输出设备的例子,考虑有显示器、键盘和定点设备,也可以为除此以外的设备。另外,取代输入输出设备,还可以将串行接口或以太网(注册商标)接口作为输入输出设备,在这些接口连接具备显示器、键盘或定点设备的显示用计算机,将显示用信息发送至显示用计算机,或者从显示用计算机接收输入用信息,由此在显示用计算机进行显示,或者接收输入,以代替在输入输出设备上进行的输入以及显示。
[0050]以下,有时将管理IT系统(信息处理系统)且显示显示用信息的一个以上计算机的集合称为管理系统。在管理计算机显示显示用信息的情况下,管理计算机即为管理系统。还可以将管理计算机和显示用计算机的组合作为管理系统。另外,为了实现管理处理的高速化、高可靠化,可以利用多个计算机实现与管理计算机同等的处理,在这种情况下,这些多个计算机(在显示用计算机进行显示的情况下,还包括显示用计算机)即为管理系统。管理计算机的“显示显示用信息”可以指在管理计算机所具备的显示设备上显示显示用信息,也可以指管理计算机(例如服务器)在远程的显示用计算机(例如客户端)上显示显示用信息。
[0051]另外,在以下的说明中,有时在区别说明同种要素的情况下,使用该要素的参照附图标记,在不区别说明同种要素的情况下,使用该要素的参照附图标记中的共同的上位附图标记。例如,有时在不特意区别说明服务器的情况下,记载为服务器202,在区别说明各个服务器的情况下,记载为服务器202a、202b。
[0052]第一实施例
[0053]〈实施例的概要〉
[0054]如以下更详细说明的那样,根据第一实施例,提供如下的装置、方法以及计算机程序:导出用于确定在IT系统中发生的故障的原因事件的诊断过程、并基于这些诊断过程执行确定故障的原因事件的诊断。
[0055]根据第一实施例,管理计算机201为管理多个管理对象装置的计算机。作为管理对象装置的种类,例如有计算机(例如服务器)、网络装置(例如IP (Internet Protocol:互联网协议)开关、路由器或FC(Fibre Channel:光纤通道)开关)以及存储装置(例如NAS(Network Attached Storage:网络附属存储器))中的至少一个。作为一个管理对象装置所包含的设备等的逻辑性的或物理性的要素,例如有端口、处理器、存储资源、物理存储设备、程序、虚拟机、逻辑卷(逻辑存储设备)以及RAID (Redundant Arrays ofInexpensive (Independent)Disks:磁盘阵列)组中的至少一个。以下,有时将管理对象装置以及管理对象装置所包含的各个要素统称为“管理对象组件”。另外,还能够将管理对象装置称为节点装置。
[0056]图1示出第一实施例的概略。
[0057]事件分析程序结果显示画面111显示事件分析结果101。事件分析结果101将作为在多个装置发生的故障的传播源的故障表示为原因故障候选。事件分析结果101为通过后述的事件分析程序导出的结果。事件分析结果101可以利用在例如专利文献I中公开的方法导出。
[0058]管理计算机201具有:元诊断过程库234,其保存有确定IT系统的故障的原因事件的诊断过程;和结构管理DB (数据库)232,其保存有管理对象组件的结构信息。保存在元诊断过程库234内的元诊断过程描述了对IT系统内的某个结构模式执行的诊断过程。保存在结构管理DB232内的结构信息包括与各管理对象组件有关的信息、表示各管理对象组件之间的连接关系的连接关系信息和表示各管理对象组件之间的依存关系的依存关系信息。
[0059]在用户或管理计算机201从事件分析结果101示出的一个或多个原因故障候选中选择了一个原因故障候选的情况下,管理计算机201进一步执行用于进行详细的故障原因分析的诊断过程展开程序223。诊断过程展开程序223从元诊断过程库234中,获取与事件分析结果101关联的元诊断过程。接着,诊断过程展开程序223基于在所获取的元诊断过程定义的结构模式和所选的原因故障候选,从结构管理DB232中获取与应执行诊断的管理对象组件有关的结构信息。然后,诊断过程展开程序223根据所获取的元诊断过程和所获取的结构信息,生成展开诊断过程124。展开诊断过程124包括用于收集诊断所需的信息的信息收集步骤131、基于收集到的信息来进行判断的判断步骤132和根据判断的结果导出的示出故障原因事件的结论133。诊断执行程序224执行在生成的展开诊断过程124中定义的各步骤,将得到的结论作为IT系统的故障原因事件,并在诊断结果显示画面113中显示依照该故障原因事件的诊断结果141。
[0060]根据本实施例,在IT系统发生了多个故障时,在通过事件分析锁定了作为多个故障的传播源的故障之后,自动展开用于确定传播源故障的发生原因所需的诊断过程,并执行诊断,由此能够迅速地确定出故障的发生原因。
[0061]其结果为,能够基于确定出的原因事件,迅速地决定故障恢复对策,以能够缩短IT系统的停机期间(downtime)。其结果为,能够削减因IT系统停止而产生的商业机会损失等的经济损失。特别是能够对因设定不良而引起的故障或性能故障等仅根据事件难以确定原因的故障进行分析。例如,在IT系统发生了性能故障的情况下,在根据事件分析程序确定出成为瓶颈的组件(例如装置以及其要素)之后,能够根据诊断过程展开程序223以及诊断执行程序224,推断该组件成为瓶颈的原因。在这种情况下,不仅确定出系统故障的瓶颈,还确定出该瓶颈的发生原因,由此,增加了作为用于决定故障恢复对策的依据的信息。由此,易于从针对一个故障列举的多个故障恢复对策中,决定出一个执行的对策。
[0062]以下,详细地说明第一实施例。
[0063]〈IT系统以及管理计算机201的结构>
[0064]图2示出第一实施例的IT系统以及管理计算机201的结构例。
[0065]管理计算机201为管理IT系统的计算机。IT系统具有一个以上的服务器(或其他计算机)202a、202b以及202c、一个以上的存储装置204以及一个以上的网络开关(或IP开关之类的其他网络装置)203。服务器202a、202b、202c、网络开关203以及存储装置204经由LAN(局域网络)之类的网络205 (在图2的例子中为网络开关203)以能够通信的方式连接。
[0066]管理计算机201可以是包括CPU211、存储器212、磁盘213、输入设备214、输出设备217以及网络接口设备(网络I/F) 215,且这些设备经由系统总线216连接的通用计算机。磁盘213为例如HDD (Hard Disk Drive:硬盘驱动器),还可以取而代之,采用SSD (SolidState Drive:固态硬盘驱动器)之类的其他非易失性存储设备。作为管理计算机201的逻辑模块,例举有故障分析程序221、事件分析程序222、诊断过程展开程序223、诊断执行程序224、
显示程序225、一个以上的判断程序226、事件接收程序227、结构获取程序228、以及性能获取程序229。判断程序226可以为一个,也可以针对元诊断过程的各个判断处理来设置。另外,作为管理计算机201存储的数据,例举有元规则库231、结构管理DB232、事件队列表格233、元诊断过程库234、展开诊断过程库235、元收集手段库236、展开收集手段库237以及性能表格238。在本实施例(以及第二实施例)中所说的“元收集手段”以及“展开收集手段”各自中的“手段”这一用语可以用“方法”、“定义”或“指令”的用语来替换。展开诊断过程库235以及展开收集手段库237是为了再利用一度生成过的信息而保存该信息的库,管理计算机201可以不具备这两个库。另外,性能表格238是保存性能信息的数据库,在此的性能信息是指,通过性能获取程序229从管理对象装置收集到的管理对象组件的性能信息。性能获取程序229以及性能表格238是用于示出在本实施例中说明的“诊断过程”的一个例子的程序以及信息,管理计算机201可以不具有这两个程序。另外,管理计算机201可以不具有性能表格238,而是由各管理对象装置保存信息,在参照管理对象组件的性能信息时,管理计算机201经由网络205访问各管理对象装置以获取性能信息。
[0067]故障分析程序221、事件分析程序222、诊断过程展开程序223、诊断执行程序224、显示程序225、一个以上的判断程序226、事件接收程序227、结构获取程序228、性能获取程序229存储在存储器212内,由CPU211执行。元规则库231、结构管理DB232、事件队列表格233、元诊断过程库234、展开诊断过程库235、元收集手段库236、展开收集手段库237以及性能表格238存储在磁盘213内。这些中的至少一个程序或至少一个数据也可以存储在CPU211能够参照的其他适当的存储区域内。
[0068]网络I/F215从经由网络205连接的服务器202、网络开关203、存储装置204等的管理对象装置中获取结构信息、性能信息等与组件有关的信息。输出设备217为输出(典型地,为显示)来自显示程序225的信息的设备。输入设备214为输入用户的指示的设备。例如,能够使用键盘、定点设备等来作为输入设备214,能够使用显示器、打印机等来作为输出设备217,也可以使用这些以外的设备。
[0069]各服务器202a、202b、202c可以为执行应用程序等的程序的管理对象装置。服务器202a可以为包括存储器242、网络I/F243以及与这些连接的CPU246在内的通用计算机。服务器202a除了存储器242以外,还具有HDD之类的非易失性存储设备。服务器202a可以包括监视中介(程序)245,该监视中介245监视服务器202a的状态,在检测到特定的状态变化(事件)的情况下,经由网络205向管理计算机201发送表示该事件的事件信息。监视中介245可以由CPU241执行。通知事件可以通过发送表示该事件的事件信息来实现。服务器 202a 可以具有 iSCSI (Internet Small Computer System Interface:互联网小型计算机系统接口 )启动器(initiator) 244。例如,服务器202a能够将iSCSI磁盘251虚拟地用作本地HDD,这通过iSCSI启动器244以及存储装置204的存储容量来实现。还可以取代iSCSI或在iSCSI的基础上,使用其他通信以及存储协议。此外,以上说明了服务器202a的结构,服务器202b、202c也具有与服务器202a相同的结构。
[0070]各存储装置204可以为用于提供在服务器202上动作的应用程序用的存储容量(逻辑卷)的(或用于其他目的的)管理对象装置。存储装置204具有I/O端口 263、磁盘262以及与这些连接的存储控制器(例如CPU) 261。可以存在多个I/O端口 263。磁盘262可以为一个HDD,也可以为由多个HDD构成的RAID组,磁盘262的非易失性存储设备可以为SSD之类的其他存储设备。在本实施例中,存储装置204可以构成为用于向服务器202a、202b提供iSCSI逻辑卷来作为存储容量。因此,两台服务器202a、202b可以经由网络开关203与存储装置204连接,存储装置204向各服务器202a、202b提供iSCSI逻辑卷。另外,存储装置204可以包括监视中介(程序)264,该监视中介(程序)264监视存储装置204的状态并向管理计算机201发送事件信息。监视中介264可以由存储控制器261执行。或者,服务器202的监视中介245也能够监视存储装置204的状态。
[0071]网络开关203具有端口 271a?d,这些端口 271a?d接收从服务器202或存储装置204发送的数据,或者发送所接收的数据。另外,网络开关203可以包括监视中介(程序)272,该监视中介272监视网络开关203的状态,在检测出特定的状态变化(事件)的情况下,经由网络205向管理计算机201发送事件信息。监视中介272可以由在网络开关203内的未图示的CPU执行。或者,服务器202的监视中介245也可以监视网络开关203的状
??τ O
[0072]<结构管理DB〉
[0073]在结构管理DB232内保存有由结构获取程序228从监视中介等获取的管理对象装置的结构信息。结构信息包括表示管理对象组件之间的连接关系、依存关系等的信息。图3?图9示出了服务器202、网络开关203以及存储装置204的结构信息的例子。此外,结构管理DB232可以不包括图3?9的表格中的一部分,还可以不包括至少一个表格中的一部分的项目。另外,结构管理DB232所保存的各项目的数据表现形式以及数据结构可以不与管理对象装置所具有的数据的表现形式以及数据结构相同。另外,可以在管理计算机201从管理对象装置接收这些项目的情况下,基于管理对象装置的数据结构以及表现形式来接收这些项目。另外,还可以伴随管理对象组件的结构的变更,来更新结构管理DB232中的表格的信息。可以在更新了结构管理DB232中的表格的信息的情况下,保存与该更新有关的日志来作为历史信息。可以以日志为基础,恢复过去的结构管理DB232。
[0074]图3示出结构管理DB232中的装置表格的结构例。
[0075]装置表格300针对每个管理对象装置具有记录,各记录具有三个字段,即具有装置ID301、装置名302以及种类303。ID301保存唯一地识别管理对象装置的值。装置名302保存供管理者能够唯一地识别装置的值。种类303保存用于表示装置的种类的标识符。
[0076]图4示出结构管理DB232中的iSCSI磁盘表格的结构例。
[0077]iSCSI磁盘表格400是示出服务器202正在利用的iSCSI磁盘251的结构的表格。iSCSI磁盘表格400针对每个iSCSI磁盘251具有记录,各记录具有七个字段,即具有ID401、磁盘驱动器名402、装置ID403、iSCSI启动器名404、连接目的地iSCSI目标器405、LUN(Logical Unit Number:逻辑单元号)ID406以及种类407。ID401保存唯一地识别iSCSI磁盘(管理对象组件)251的值。磁盘驱动器名402保存能够在服务器202中唯一地识别iSCSI磁盘251的值。装置ID403保存表示利用iSCSI磁盘251的服务器202的标识符。iSCSI启动器名404保存在与iSCSI磁盘251的实体所在的存储装置204进行通信时所用的服务器202上的网络I/F243的标识符。连接目的地iSCSI目标器405保存在与iSCSI磁盘251的实体所在的存储装置204进行通信时所用的存储装置204上的I/O端口 263的标识符。LUN ID406保存作为iSCSI磁盘251的实体的逻辑卷(存储装置204的逻辑卷)的标识符。种类407保存表示管理对象组件(iSCSI磁盘)的种类的标识符。例如,第一行的记录意味着如下的内容。即,在利用“SvA”这一标识符识别出的服务器上,用“D: ”这一磁盘驱动器名表示的iSCSI磁盘是利用“DRIVE1”这一标识符识别出的,组件的种类为“iScsiDisk”。经由用com.hitach1.sva这一 iSCSI启动器名表示的服务器端口(服务器所具有的端口)和用com.hitach1.stoCl这一 iSCSI目标器名表示的存储端口(存储装置所具有的端口),从存储装置向服务器提供LUN ID为O的逻辑卷。
[0078]图5示出结构管理DB232中的网络I/F表格的结构例。
[0079]网络I/F表格500针对每个网络I/F243具有记录,各记录具有五个字段,即具有ID501、I/F名502、装置ID503、iSCSI启动器名504以及种类505。ID501保存唯一地识别网络I/F243(管理对象组件)的值。I/F名502保存服务器202中成为网络I/F243的标识符的值。装置ID503保存具有网络I/F243的服务器202的标识符。iSCSI启动器名504保存在与iSCSI磁盘的实体所在的存储装置进行通信时所用的服务器202上的网络I/F243的标识符。种类505保存表示管理对象组件的种类的标识符。例如,第一行记录意味着如下的内容。用“ethO”这一 I/F名表示的网络I/F位于用“SvA”这一标识符识别出的服务器,该网络I/F是利用“SVIF1 ”这一标识符识别出的,组件的种类为“ServerIF”,在与存储装置进行通信时用作标识符的iSCSI启动器名为“com.hitach1.sva”。
[0080]图6示出结构管理DB232中的开关端口表格的结构例。
[0081]开关端口表格600针对每个网络开关203所具有的1/0端口 271具有记录,各记录具有五个字段,即具有ID601、端口编号602、装置ID603、连接目的地端口 604以及种类605。ID601保存唯一地识别1/0端口 271 (管理对象组件)的值。端口编号602保存在网络开关203中唯一地识别1/0端口 271的值。装置ID603保存具有1/0端口 271的网络开关203的标识符。连接目的地端口 604保存与1/0端口 271连接的服务器202的网络I/F243或存储装置204的1/0端口 263的标识符。在级联了多个网络开关203的情况下,从多个服务器的网络I/F或存储装置的1/0端口输出的数据经过网络开关的端口,因此,可以将多个标识符保存在连接目的地端口 604内。种类605保存表示管理对象组件的种类的标识符。例如,第一行的记录意味着如下的内容。用“O”这一编号表示的1/0端口位于利用“SwD”这一标识符识别出的网络开关,该1/0端口是利用“SWP0RT1”这一标识符识别出的,组件的种类为NWSwitchPort,与利用“STP0RT1 ”识别出的1/0端口连接。
[0082]图7示出结构管理DB232中的iSCSI目标器表格的结构例。
[0083]iSCSI目标器表格700针对每个iSCSI目标器具有记录,各记录具有两个字段,即具有iSCSI目标器名701以及连接许可iSCSI启动器702。iSCSI目标器名701保存各iSCSI目标器所具有的iSCSI目标器名。连接许可iSCSI启动器702保存作为被许可访问属于iSCSI目标器的逻辑卷的服务器上的网络I/F243的标识符的iSCSI启动器名。例如,第一行记录意味着如下的内容。用“com.hitach1.sva”、“com.hitach1.svb”识别出的服务器上的网络I/F243被许可访问属于利用“com.hitach1.stoCl”识别出的iSCSI目标器的逻辑卷。
[0084]图8示出结构管理DB232中的存储端口表格的结构例。
[0085]存储端口表格800针对存储装置204所具有的每个I/O端口 263具有记录,各记录具有五个字段,即具有ID801、端口编号802、装置ID803、iSCSI目标器ID804以及种类805。ID801保存唯一地识别I/O端口 263 (管理对象组件)的值。端口编号802保存在存储装置204中唯一地识别I/O端口 263的值。装置ID803保存具有I/O端口 263的存储装置204的标识符。iSCSI目标器804保存使用I/O端口 263的iSCSI目标器的标识符。种类605保存表示管理对象组件的种类的标识符。例如,第一行记录意味着如下的内容。用“O”这一编号表示的I/O端口位于利用“StoC”这一标识符识别出的存储装置内,该I/O端口是利用“STPORTI ”这一标识符识别出的,组件的种类为“StorageiSCSIPort”,利用“com.hitach1.stoCl”识别的iSCSI目标器使用该1/0端口。
[0086]<性能表格>
[0087]在性能表格238中保存有性能信息,在此的性能信息是指,构成性能获取程序229从监视中介等获取的管理对象装置的管理对象组件的性能信息。
[0088]图9示出性能表格238的结构例。
[0089]性能表格238针对每个性能信息具有记录,各记录具有五个字段,即具有组件ID901、度量标准(metric) 902、时刻903、值904以及单位905。组件ID901保存唯一地识别作为性能信息的获取源的管理对象组件的值。度量标准902保存识别管理对象组件的性能的观测项目(度量标准)的值。时刻903保存观测了管理对象组件的性能的时刻。时刻以年/月/日/时分为单位,还可以使用比该单位更粗略或更精细的单位。值904保存观测到的值,来作为管理对象组件的性能。单位905保存观测到的值的单位。例如,第一行记录意味着如下的内容。利用“SWP0RT1”这一标识符识别出的管理组件(在此,为网络开关D的端口 0)针对利用“TxDropPacketNum”识别出的观测项目,在2013/01/01/0:00观测到“O 包 / 秒(Packets/sec) ” 的性能。
[0090]<事件队列表格>
[0091]图10示出事件队列表格233的结构例。
[0092]事件队列表格233保存事件接收程序227从管理对象装置的监视中介等获取的事件信息。事件队列表格233针对每个事件信息具有记录,各记录具有五个字段,即具有事件ID1001、装置ID1002、组件ID1003、事件种类1004以及发生时刻1005。事件ID1001保存用于唯一地识别事件信息的标识符。装置ID1002保持用于唯一地识别作为事件信息的获取源的管理对象装置的标识符。组件ID203保存用于唯一地识别作为事件信息的获取源的管理对象组件的标识符。事件种类1004保存表示在管理对象组件中发生的事件的种类的标识符。发生时刻1005保存事件发生的时刻(获取的事件信息所包含的时刻)。发生时刻1005可以保存管理计算机201接收到事件信息的时刻。在事件不是与装置的要素有关的事件,而是与装置本身有关的事件的情况下,组件ID1003的值可以等于装置ID1002的值。例如,第一行记录意味着如下的内容。装置ID为SwD的网络开关203中的组件ID为SWPORT1的I/O端口 273在2013年I月I日O时O分,发生了 “TxDropPacketNumError (发送丢包个数异常)”。
[0093]〈元规则库以及元规则〉
[0094]事件分析程序222执行故障原因分析。故障原因分析可以与例如专利文献I记载的分析相同。在事件分析程序222锁定作为在IT系统中发生的多个故障的传播源的故障之后,执行用于确定作为传播源的故障的发生原因的诊断。元规则为事件分析程序222在分析时所用的信息。元规则是表示如下的对应关系的信息:在某个拓扑(位于某个I/O的路径上的一个或多个管理对象组件组)的模式下可能发生的事件的组合与这些事件在同一时间发生的情况下的故障的候选原因之间的对应关系。在第一实施例中,由元规则定义的候选原因示出作为系统故障的传播源的故障。元规则具有识别信息和特定管理对象组件的信息,在此,识别信息用来识别在对元规则示出的故障的原因事件执行详细的诊断时所使用的元诊断过程,特定管理对象组件是作为诊断对象的拓扑的起点的管理对象组件。在本实施例中,元规则以IF-THEN形式描述,但只要能够描述系统故障的原因事件和由原因事件而引起的观测事件(观测到的事件),也可以用除此以外的形式。
[0095]图1lA示出在元规则库231中常驻(一直存在)的元规则1100的结构例。
[0096]通常,规则能够分为两个部分(字段),即分为被称为“IF”部1111的第一部分以及被称为“THEN”部1112的第二部分。IF部1111可以包含一个以上的条件要素。
[0097]元规则1100表示在检测到IF部1111的事件(条件事件)的情况下,THEN部1112的事件(结论事件)即成为故障的候选原因。因此,若THEN部1112示出的管理对象组件的状态正常,则预想IF部1111示出的问题也被解决。
[0098]在本实施例中,事件分析程序222将保存在图10的事件队列表格2
33内的事件信息所表示的事件作为观测事件,来进行分析。因此,IF部1111针对每个条件要素都具有条目,各条目为装置种类1101、组件种类1102以及事件种类1103。S卩,在管理计算机201中,管理对象装置或其要素被分类出几个种类,IF部1111的条件要素表示在指定种类的管理对象组件中产生了指定的事件种类所表示的状态。在条件要素不是表示与装置的要素有关的事件,而是表示与装置本身有关的事件的情况下,该条件要素的组件种类1102的值可以为与装置种类1101相等的值。
[0099]另外,元规则1100包括:元规则ID1113,其为保存唯一地识别各个元规则的元规则ID的字段;和拓扑条件1114,其为保存如下条件的字段:在将元规则1100应用于实际作为管理对象的IT系统的结构并生成展开规则时,应用元规则1100的拓扑的条件。在本实施例中,作为拓扑条件,例举了从结构管理DB232中获取拓扑的信息的方式。例如,在图1lA示出的拓扑条件的例子示出:应用元规则的拓扑为,iSCSI磁盘、用于提供该iSCSI磁盘的存储容量的服务器的网络I/F以及存储装置的I/O端口、位于这两个I/O端口之间的网络开关的I/O端口的组合。
[0100]而且,在本实施例中,基于利用元规则导出的结论,进一步执行用于详细确定原因事件的诊断,因此,元规则1100包括字段1115,该字段1115用于保存元诊断过程的标识符和成为作为诊断对象的拓扑的起点的装置以及管理对象组件的条件。在图11的元规则用于故障原因分析的情况下,使用根据与该元规则建立了关联的元诊断过程ID(在该元规则的字段1115中描述的元诊断过程ID)识别出的元诊断过程。在图1lA的例子中,以“元诊断过程ID=(标识符),起点=(装置种类组件种类)”的形式保存了元诊断过程的标识符和起点的条件。在字段1115中可以保存多个组合(元诊断过程的标识符与起点的条件的组合)。另外,可以在多个元规则1100的各个字段1115中保存一个元诊断过程的标识符。作为诊断对象的拓扑可以与应用了元规则1100的拓扑不同。在后面,进行与作为诊断对象的拓扑有关的说明。
[0101]例如,图1lA的元规则“MetaRulel”示出:在作为观测事件,检测出“服务器202上的iSCSI磁盘151的磁盘访问响应时间异常”和“网络开关203中的I/O端口 271的发送丢包数异常”时,得出“网络开关203中的I/O端口 271的发送丢包数异常”为瓶颈的结论。另外,在利用元规则“MetaRulel”进行分析时,从结构管理DB等中获取基于保存在拓扑条件1114中的条件来应用元规则的拓扑的信息。另外,在详细分析THEN部1112中描述的结论的情况下,利用根据“MetaDiagnosticProcl”识别出的元诊断过程,对以特定管理对象组件作为起点的另一拓扑执行诊断(参照字段1115中的“起点=(NetworkSwitchNWSwitchPort)”),在此的特定管理对象组件是指,与所获取的拓扑信息中的“网络开关203的I/O端口 271”对应的管理对象组件。在利用元诊断过程进行详细分析时,能够以作为事件分析程序222的分析对象的拓扑内的管理对象组件作为起点另外定义诊断对象拓扑,由此,能够将成为事件分析的对象的拓扑周围的管理对象组件也都包含在诊断对象内。此外,作为包含在IF部1111内的条件要素,还可以定义成某个组件正常(没有发生故障事件)。另外,就THEN部1112的事件种类1103所表示的事件种类而言,可以重新对其进行定义,也可以不是由事件接收程序227接收的事件的事件种类。
[0102]〈展开规则〉
[0103]展开规则为表示如下的对应关系的信息:在IT系统中可能发生的事件的组合与在发生了这些事件的情况下作为故障的候选原因的事件之间的对应关系。在第一实施例中,利用展开规则定义的候选原因示出作为系统故障的传播源的故障。展开规则是作为如下结果而生成的规则:基于元规则1100的拓扑条件1114,从管理对象IT系统中检索能够应用元规则1100的拓扑,并对检索出的拓扑应用了元规则1100的结果。另外,展开规则是事件分析程序222在进行分析时所用的信息。
[0104]在本实施例中,与元规则同样地,以IF-THEN形式描述展开规则,但只要是描述系统故障的原因事件和因原因事件而引起的观测事件的形式即可,也可以采用其他形式。
[0105]图1lB示出展开规则的结构例。
[0106]通常,与元规则1100同样地,展开规则1150也能够分为两个部分(字段),即分为被称为IF部1151的第一部分和被称为THEN部1152的第二部分。IF部1151可以包括一个以上的条件要素。
[0107]展开规则1150表示在检测到IF部1151的事件(条件事件)的情况下,THEN部1152的事件(结论事件)即为故障的原因。因此,若THEN部1152示出的管理对象组件的状态正常,则预计IF部1151示出的问题也被解决。
[0108]在本实施例中,设为保存在图10的事件队列表格233的事件信息所表示的观测事件,通过事件分析程序222锁定故障的候选原因。展开规则1150的IF部1151针对每个条件要素都具有条目,各条目具有装置ID1161、组件ID1162、事件种类1163以及接收标记1164的字段。即,IF部1151的条件要素表示在由装置IDl 161以及组件IDl 162指定的管理对象组件中,发生了用事件种类1163的信息表示的状态。另外,接收标记1164保存实际上是否接收了条件要素所表示的事件的结果。在接收了条件要素所表示的事件的情况下,接收标记1164保存“1”,在没有接收条件要素所表示的事件的情况下,接收标记1164保存“O”。还可以进行如下的处理:当从接收标记1164保存为“I”起经过了规定的时间时,将该接收标记的值复位为“O”等。
[0109]IF部1151以及THEN部1152各自的保存在装置ID1161和组件ID1162中的值分别为,基于元规则1100的拓扑条件1114从结构管理DB232中确定的装置ID以及组件ID中的、与用装置种类1101以及组件种类1102定义的种类对应的值。
[0110]另外,展开规则1150包括展开规则ID1153,该展开规则ID1153是保存唯一地识别该展开规则1150的展开规则ID的字段。另外,为了基于利用展开规则1150导出的结论,进一步执行用于详细地确定原因事件的诊断,该展开规则1150还具有字段1155,该字段1155用于保存元诊断过程的标识符、成为作为诊断对象的拓扑的起点的装置以及管理对象组件的标识符。在字段1155内保存的值中的元诊断过程ID,等于在生成展开规则1150时所用的元规则1100的字段1115内保存的值。另外,在字段1155内保存的值中的作为起点保存的装置ID以及组件ID为,基于元规则1100的拓扑条件1114从结构管理DB232确定的装置ID以及组件ID中的、与在元规则1100的字段1115内保存的“起点的条件”对应的ID。在图1lB的例子中,以“元诊断过程ID =(标识符),起点=(装置ID组件ID) ”的形式保存值。图1lB示出了基于图3?图8示出的结构管理DB232将图1lA的元规则1100展开而生成的展开规则1150a?1150d。例如,展开规则1150a “ExpandedRulel”示出,在作为观测事件,检测到“服务器A(ID = SvA)的D驱动器(ID = DRIVE1)的磁盘访问响应时间异常”和“网络开关D (ID = SwD)的端口 O (ID = SffPORTI)的发送丢包数异常”的情况下,得出“网络开关D的端口 O的发送丢包数异常”为瓶颈的结论。另外,在对该展开规则1150a的THEN部1152中描述的结论进行详细分析的情况下,利用由“MetaDiagnosticProcl”识别出的元诊断过程,对以用“装置ID为SwD,组件ID为SWP0RT1”识别出的管理对象组件作为起点的拓扑执行诊断。此外,就作为包含在IF部1151中的条件要素而言,还可以定义成某个组件正常(没有发生故障事件)。
[0111]<元诊断过程库以及元诊断过程>
[0112]元诊断过程为,在通过事件分析程序222锁定了作为IT系统的故障的传播源的故障之后,为了确定故障原因事件而执行的诊断的一连串的步骤。元诊断过程由以下三者构成:收集诊断所需的信息的步骤;基于收集到的信息来进行判断的步骤;和基于一个或多个判断的结果导出的结论。不对作为执行元诊断过程的对象的具体的管理对象组件进行定义,而是对作为执行过程的对象的拓扑的模式或结构的模式进行定义。
[0113]图12示出在元诊断过程库234中常驻的元诊断过程1200的结构例。
[0114]元诊断过程1200由以下四者构成:基本对象1201,其保存与该元诊断过程1200有关的信息;信息收集对象1202,其保存有用于收集诊断所需的信息的手段;判断对象1203,其保存有基于收集到的信息进行判断的手段;和结论对象1204,其保存有基于一个或多个判断的结果导出的结论的信息。在本实施例中,元诊断过程1200为对象结构,但只要是由收集信息的手段信息、进行判断的步骤信息以及基于判断的结果导出的结论信息的组合构成即可,还可以采用其他数据结构。对象1201?1204中,除了对象1201以外,其余三者可以存在多个。图12中例示的元诊断过程1200由基本对象1201、两个信息收集对象1202a以及1202b、两个判断对象1203a以及1203b和三个结论对象1204a、1204b以及1204c构成。
[0115]基本对象1201具有五个字段,即具有类型1211、ID1212、元诊断过程ID1213、拓扑条件ID1214以及NextID (下一个ID) 1215。类型1211保存用于识别对象的种类的标识符(例如,表示基本信息的“Start (开始)”)。ID121保存用于唯一地识别对象的标识符。元诊断过程ID1213保存用于唯一地识别元诊断过程1200的标识符。拓扑条件ID1214保存用于唯一地识别应用元诊断过程1200的拓扑的条件的标识符。NextID1215保存如下对象的标识符:保存有最初执彳丁的步骤的对象。
[0116]信息收集对象1202具有四个字段,即具有类型1221、ID1222、手段ID1223以及NextID1224o类型1221保存用于识别对象的种类的标识符(例如,表示保存有信息收集手段的“Collectlnfo”)。与ID1212同样地,ID1222保存用于唯一地识别对象的标识符。手段ID1223保存用于唯一地识别元收集手段的标识符。以保存在手段ID1223内的标识符为基础,从元收集手段库236中检索诊断所需的元收集手段。NextID1225保存如下对象的标识符:保存有接下来执行的步骤的对象。例如,信息收集对象1202a在执行诊断时,从元收集手段库236中,获取用“Getlnfol”的标识符识别出的元收集手段,在基于该手段进行了信息收集之后,执行ID为“2”的对象示出的步骤。
[0117]判断对象1203具有五个字段,即具有类型1231、ID1232、判断程序ID1233、引数1234以及Decis1n Map (决策表)1235。类型1231保存用于识别对象的种类的标识符(例如,表示保存有与判断步骤有关的信息的“Decis1n (决策)。与ID1212同样地,ID1232保存用于唯一地识别对象的标识符。判断程序ID1233保存唯一地识别基于收集到的信息进行判断的程序的标识符。以保存在判断程序ID内的标识符为基础,调用在存储器212中常驻的判断程序226。引数1234保存在通过判断程序226执行判断时所用的信息的识别信息。Decis1n Mapl235保存有键(key) 1236与NextID1237的组合的一览表。键1236保存有可能成为判断程序226的返回值的值,NextID1237保存有对象的标识符。即,在Decis1nMapl235内保存有在执行诊断时,根据判断程序226的返回值,决定接下来执行的步骤的信息。例如,在执行诊断时,判断对象1203a使根据“判断程序I”这一标识符识别出的判断程序226启动,作为引数,向“判断程序I”交付用“I”的标识符识别出的对象1202a中收集到的信息,在“判断程序I”的返回值为“是”的情况下,执行用“3”的标识符识别出的对象1202b示出的步骤,在返回值为“否”的情况下,执行用“4”的标识符识别出的对象1204a示出的步骤。另外,作为一个判断程序的例子,“判断程序I”可以为“判断作为引数赋予的性能信息的上升率是否在事先定义的值以上,若在该值以上则返回是,若小于该值则返回否的程序”等。
[0118]结论对象1204具有三个字段,即具有类型1241、ID1242以及Conclus1n(结论)1243。类型1241保存用于识别对象的种类的标识符(例如,表示保存有与结论有关的信息“End”(结束))。与ID1212同样地,ID1242保存用于唯一地识别对象的标识符。ConClUS1nl243保存在执行诊断时成为诊断结论的信息。例如,可以将保存在Conclusinol243内的信息显示在输出设备217上。例如,在执行诊断时,在根据判断对象1203a的判断结果选择结论对象1204a来作为结论的情况下,作为诊断结果,在输出设备217上显示“‘网络开关端口’的带宽不足”。在此,在‘网络开关端口’处显示基于拓扑条件ID1214示出的拓扑条件从结构管理DB232中获取的网络开关端口的识别信息。
[0119]图13示出应用了元诊断过程1200的拓扑条件的结构例。
[0120]拓扑条件1300具有两个字段,即具有拓扑条件ID1301以及条件1302。拓扑条件ID1301保存唯一地设别拓扑条件的标识符。在拓扑条件ID1301中保存的值,等于在图12的基本对象1201的拓扑条件ID1214中保存的标识符。条件1302保存与应用元诊断过程1200的拓扑的条件有关的信息。在本实施例中,例举从结构管理DB232中获取拓扑的信息的方式。例如,在基于图13的条件1302获取拓扑的信息的情况下,获取以下记录的组合:(I)开关端口表格600的装置ID603的值等于在展开规则的字段1155中保存的起点的装置ID ;并且⑵网络I/F表格500的ID501的值等于⑴的开关端口表格600的记录中的连接目的地端口的值。也就是说,确定包括条件1302示出的作为起点的管理对象组件和在该条件1302中与作为起点的管理对象组件建立了关联的管理对象组件这两个管理对象组件的拓扑。保存在条件1302内的拓扑条件只要描述了用于获取拓扑的信息的方法即可,可以不是图13示出的形式。
[0121 ] <元收集手段库以及元收集手段>
[0122]图14示出保存在元收集手段库236内的元收集手段的结构例。
[0123]元收集手段1400具有两个字段,即具有手段ID1401以及收集手段1402。手段ID1401保存唯一地识别元收集手段1400的标识符。在手段ID1401内保存的值等于在图12的信息收集对象1202的手段ID1223内保存的标识符。元收集手段1402保存诊断所需的信息收集手段。在本实施例中,作为诊断所需的信息的一个例子,举出能够从性能表格238获取的管理对象组件的性能信息。因此,例如,在元收集手段1402a中保存有用于从表格获取信息的查询语句(query)。在此,要收集哪个管理对象组件的性能信息依存于事件分析程序222导出的结论,因此,管理对象组件的标识符为变量。在图14的例子中,用双引号括起来的部分表示变量(就这点而言,元收集手段1402b也同样)。
[0124]<展开诊断过程库以及展开诊断过程>
[0125]展开诊断过程是指,基于元诊断过程和拓扑信息,通过诊断过程展开程序223展开的诊断过程。与元诊断过程同样地,展开诊断过程由如下三者构成:收集诊断所需的信息的步骤;基于收集到的信息进行判断的步骤;和基于一个或多个判断的结果导出的结论。在元诊断过程中,没有定义作为执行的对象的具体的组件,与之相对,在展开诊断过程中,基于拓扑信息定义了作为执行的对象的组件。
[0126]图15示出保存在展开诊断过程库235内的展开诊断过程1500的结构例。此外,展开诊断过程库235是指,为了在其他诊断中再利用一度生成过的展开诊断过程而保存该展开诊断过程的库,管理计算机201不一定必须具备该库。另外,在图1中,对展开诊断过程标注有“124”这一参照附图标记,由于图15示出的展开诊断过程与图1的展开诊断过程的结构不同,所以图15的展开诊断过程使用与图1的展开诊断过程不同的参照附图标记“1500”。但是,图1的展开诊断过程和图15的展开诊断过程可以是都以相同的方法生成的过程。
[0127]展开诊断过程1500由如下四者构成:基本对象1501,其保存与展开诊断过程有关的信息;信息收集对象1502,其保存有收集诊断所需的信息的手段;判断对象1503,其保存有基于收集到的信息进行判断的手段;和结论对象1504,其保存有基于一个或多个判断的
结果导出的结论的信息。在本实施例中,展开诊断过程为对象结构,但只要由收集信息的手段的信息、判断步骤的信息、基于判断的结果导出的结论的信息的组合构成即可,还可以采用其他数据结构。对象1501?1504中,除了对象1501以外其他三者可以存在多个。图15例示出的展开诊断过程1500由基本对象1501、两个信息收集对象1502a以及1502b、两个判断对象1503a以及1503b、三个结论对象1504a、1504b以及1504c构成。
[0128]基本对象1501具有六个字段,即具有类型1511、ID1212、元诊断过程ID1513、展开诊断过程ID1514,路径列表1515以及NextID1516。与元诊断过程1200的类型1211同样地,类型1511保存用于识别对象的种类的标识符(例如,表示基本信息的“Start”)。ID1512保存用于唯一地识别对象的标识符。元诊断过程ID1513保存在生成展开诊断过程1500时所用的元诊断过程1200的标识符。展开诊断过程ID1514保存用于唯一地识别展开诊断过程1500的标识符。路径列表1515保存在执行诊断时参照过的展开诊断过程1500的对象的ID的一览表。S卩,路径列表1515只要为如下的数据结构即可,即,在执行诊断之后,能够获取为了诊断而收集到的信息、判断结果和基于判断结果导出的结论。NextID1516保存如下对象的标识符:保存有最初执行的步骤的对象。
[0129]信息收集对象1502具有四个字段,即具有类型1521、ID1522、展开手段ID1523以及NextID1524。与元诊断过程1200的类型1221同样地,类型1521保存用于识别对象的种类的标识符(例如,表示保存有信息收集手段的“Collectlnfo”)。与ID1512同样地,ID1522保存用于唯一地识别对象的标识符。展开手段ID1523保存用于唯一地识别展开收集手段的标识符。以保存在展开手段ID1223内的标识符为基础,从展开收集手段库237检索诊断所需的展开收集手段。NextID1525保存如下对象的标识符:保存有接下来执行的步骤的对象。例如,信息收集对象1502a在执行诊断时,从展开收集手段库237中,获取利用“ExpandedGetlnfol-l”这一标识符识别出的信息收集手段,在基于该手段进行了信息收集之后,执行ID为“P1c1-1-2”的对象示出的步骤。
[0130]判断对象1503具有五个字段,即具有类型1531、ID1532、判断程序ID1533、引数1534以及Decis1n Map (决策表)1535。与元诊断过程1200的类型1231同样地,类型1531保存用于识别对象的种类的标识符(例如,表示保存有与判断步骤有关的信息的“Decis1n”)。与ID1512同样地,ID1532保存用于唯一地识别对象的标识符。判断程序ID1533保存唯一地识别基于收集到的信息进行判断的程序的标识符。在判断程序ID1533中保存有与元诊断过程1200的判断程序ID1233相等的值。以保存在判断程序ID中的标识符为基础,调用在存储器212中常驻的判断程序226。引数1534保存在通过判断程序226执行判断时所用的信息的识别信息。与元诊断过程1200的Decis1n Map 1235同样地,Decis1n Map 1535保存有键1536与NextID1537的组合的一览表。键1536保存可能成为判断程序226的返回值的值,NextID1537保存有对象的标识符。S卩,在Decis1n Map 1535内保存有在执行诊断时,根据判断程序226的返回值,决定接下来执行的步骤的信息。例如,在执行诊断时,判断对象1503a使利用“判断程序I”的标识符识别出的判断程序226启动,作为引数,向“判断程序I”交付在用“Procl-1-l”的标识符识别出的对象1502a中收集到的信息,在“判断程序I”的返回值为“是”的情况下,执行用“Procl-1-3”的标识符识别出的对象1502b示出的步骤,在返回值为“否”的情况下,执行用“Procl-1-4”的标识符识别出的对象1504a所表示的步骤。
[0131]结论对象1504具有三个字段,即具有类型1541、ID1542以及Conclus1n(结论)1543。与元诊断过程1200的类型1241同样地,类型1541保存用于识别对象的种类的标识符(例如,表示保存有与结论有关的信息的“Conclus1n”)。与ID1512同样地,ID1542保存用于唯一地识别对象的标识符。ConClUS1nl543保存在执行诊断时成为诊断结论的信息。例如,可以将保存在Conclus1nl543内的信息显示在输出设备217上。例如,在执行诊断时,在根据判断对象1503的判断结果选择结论对象1504a来作为结论的情况下,作为诊断结果,在输出设备217上显示“SWP0RT1 (网络开关D的端口 O)的带宽不足”。
[0132]<展开收集手段库以及展开收集手段>
[0133]展开收集手段是指,基于元展开收集手段和拓扑信息,通过诊断过程展开程序223展开的信息收集手段。在元收集手段中,没有定义作为信息收集的对象的具体的组件,在本实施例中,以变量的形式表现。与之相对,在展开收集手段中,基于拓扑信息定义有作为信息收集的对象的组件。
[0134]图16示出保存在展开收集手段库237内的展开收集手段的结构例。
[0135]展开收集手段1600具有两个字段,即具有展开手段ID1601以及展开收集手段1602。展开手段ID1601保存唯一地识别展开收集手段的标识符。在展开手段ID1601内保存的值等于在图15的信息收集对象1502的展开手段ID1523内保存的标识符。展开收集手段1602保存诊断所需的信息收集手段。在本实施例中,将能够从性能表格238获取的管理对象组件的性能信息列举为诊断所需的信息的一个例子。因此,例如,展开收集手段1602a保存用于从表格获取信息的查询语句。其他展开收集手段1602b、1602c以及1602d也同样。展开收集手段1602与元收集手段1402不同,定义了信息收集的对象。图16示出了基于图13的拓扑条件1300a将图14的元收集手段1400展开而生成的展开收集手段1600a?1600d的例子。
[0136]〈故障分析程序的处理〉
[0137]在本实施例中,在基于事件的模式执行了故障原因分析之后,基于分析结果,进一步执行要确定详细的故障原因事件的诊断。
[0138]图17示出通过故障分析程序221执行的故障原因分析处理的例子的流程图。
[0139]故障分析程序221可以构成为,在IT系统中发生故障且通过事件接收程序227检测出与该故障有关的事件后,开始进行故障原因分析处理。另外,还可以在管理者检测到在IT系统中产生了故障且根据从输入设备214输入的管理者的指示而启动该故障分析程序221后,开始进行该处理。
[0140]在步骤S1701中,故障分析程序221执行事件分析程序222。事件分析程序222基于发生的事件的模式,执行锁定故障原因事件的处理。在本实施例中,事件分析程序222基于保存在事件队列表格233中的事件信息组、保存在元规则库231中的元规则以及保存在结构管理DB232中的结构信息,锁定成为系统故障的传播源的故障的候选。例如,事件接收程序227接收图10示出的事件队列表格233的事件信息组,在事件分析程序222基于图1lA示出的元规则1100和图3?图8的表格进行了分析的情况下,生成展开规则1150a、1150b、1150c、1150d。然后,例如,基于展开规则1150a以及1150b各自的THEN部1152的信息,事件分析程序222导出“网络开关D (ID为SwD)的端口 O (ID为SWPORT1)的发送丢包数异常(事件种类的标识符为TxDropPacketNumError)为故障的传播源”这一结论。
[0141]图18示出事件分析结果画面1800的一个例子。
[0142]事件分析结果画面1800为根据事件分析程序222导出的结论,将成为在IT系统发生的多个故障的传播源的故障作为候选原因进行提示的画面。事件分析结果画面1800可以针对每个成为传播源的故障候选原因设有条目,各条目具有显示故障候选原因的原因故障候选字段1801、显示认定字段1801示出的候选原因的可靠度(确信度)的确信度字段1802和诊断执行按钮1803。在确信度字段1802显示的确信度可以为例如与候选原因1811关联的展开规则1150的事件接收率。事件接收率可以根据例如“事件接收率=(接收标记1164为“I”的条件要素数)/(条件要素的总数)”的式子计算得出。
[0143]在针对一个候选原因1811存在多个展开规则的情况下,可以在确信度字段1802显示基于分别与多个展开规则对应的多个事件接收率的值(例如,事件接收率的最大值、平均值或者最小值等)。或者,可以基于与候选原因1811关联的所有展开规则的条件要素的总数和接收标记1164为“I”的条件要素数来计算出事件接收率,并在确信度字段1802显示计算出的值。另外,可以基于事件分析程序222导出的结论,按照确信度从高到低的顺序显示多个候选原因。
[0144]当管理者按下与期望的候选原因对应的执行按钮1803时,前进至用于执行对应的候选原因的详细诊断的图17的步骤S1702,诊断过程展开程序223启动。用于供管理者执行详细诊断的输入界面不限于按钮,能够采用能向管理计算机201发出执行诊断的指示的任何输入界面。另外,也并非需要管理者的指示才开始进行诊断过程展开程序223,还可以在根据事件分析程序222导出候选原因之后,针对导出的各个候选原因自动开始执行诊断过程展开程序223。另外,在自动执行诊断过程展开程序223的情况下,可以对事件分析程序222导出的候选原因中的确信度在固定值以上的候选原因执行诊断过程展开程序223。
[0145]在本实施例中,事件分析程序222导出的结论示出成为在IT系统中发生的多个故障的传播源的故障,当管理者按下诊断执行按钮1803时,响应该动作,启动要执行确定成为传播源的故障的发生原因的诊断的诊断过程展开程序223。
[0146]在步骤S1702中,故障分析程序221将在步骤S1701中选择的候选原因的信息作为输入,启动诊断过程展开程序223。诊断过程展开程序基于所输入的候选原因的信息即展开规则1150的THEN部1152的信息、展开规则1150、元诊断过程1200、元收集手段1400以及保存在结构管理DB232内的结构信息,生成展开诊断过程1500。图19示出了诊断过程展开程序223的详细的处理的例子。
[0147]在步骤S1703中,故障分析程序221将展开诊断过程1500作为输入,启动诊断执行程序224。诊断执行程序224基于展开诊断过程1500,执行诊断,确定IT系统的故障原因事件。图20示出了诊断执行程序224的详细的处理的例子。
[0148]在步骤S1704中,故障分析程序221将在步骤S1703中执行了诊断的展开诊断过程1500作为输入,启动显示程序225。显示程序225基于所输入的展开诊断过程1500和其路径列表1515,在输出设备217上显示与在步骤S1703中导出的故障的原因有关的信息。
[0149]在本实施例中,是在执行了事件分析程序222之后,执行诊断过程展开程序223的,但还可以在执行事件分析程序222之前,执行诊断过程展开程序223。例如,诊断过程展开程序223可以基于结构管理DB232的结构信息和元规则1100,列出事件分析程序222能够导出的所有候选原因,然后,基于元诊断过程1200、元收集手段1400和结构管理DB232的结构信息,生成用于诊断这些候选原因所需的展开诊断过程1500和展开收集手段1600,然后,将展开诊断过程1500和展开收集手段1600保存在展开诊断过程库235以及展开收集手段库237内。在这种情况下,故障分析程序221在执行事件分析程序222之后,从展开诊断过程库235获取针对通过事件分析程序222导出的候选原因的展开诊断过程1500,将所获取的展开诊断过程1500作为输入,启动诊断执行程序224。
[0150]另外,在本实施例中,举出了由诊断执行程序224收集诊断所需的信息并由判断程序226执行判断的例子,但也可以在执行步骤S1702之后,向显示程序225交付所生成的展开诊断过程1500,使显示程序225在输出设备217显示展开诊断过程1500,以供管理者按照该展开诊断过程1500进行处理。
[0151]<诊断过程展开程序的处理>
[0152]图19示出通过诊断过程展开程序223执行的处理的例子的流程图(步骤S1702)。
[0153]在步骤S1901中,诊断过程展开程序223接收事件分析程序222作为故障的候选原因导出的结论的信息。结论的信息可以是在展开规则1150的THEN部1152中保存的信息的组合。例如,诊断过程展开程序223接收“网络开关D (ID为SwD)的端口 O (ID为SWP0RT1)的发送丢包数异常(事件种类的标识符为TxDropPacketNumError) ”这个信息。
[0154]在步骤S1902中,诊断过程展开程序223获取与在步骤S1901中接收的结论的信息关联的展开规则1150。即,诊断过程展开程序223获取在THEN部1152中保存有所接收的结论的展开规则1150。诊断过程展开程序223针对在步骤S1902中获取的所有展开规则1150的每一个,进行步骤S1904到S1912的处理。以下,例举一个展开规则(以下,在图19的说明中称为“对象展开规则”)1150。
[0155]在步骤S1904中,诊断过程展开程序223从元诊断过程库234中获取元诊断过程1200,该元诊断过程1200是基于保存在对象展开规则1150的字段1155中的元诊断过程ID识别出的。诊断过程展开程序223针对在步骤S1904中获取的所有元诊断过程1200的每一个,进行步骤S1906到S1912的处理。以下,例举一个元诊断过程(以下,在图19的说明中称为“对象元诊断过程”)1200。
[0156]在步骤S1906中,诊断过程展开程序223判断对象元诊断过程1200是否已针对对象展开规则1150的字段1155示出的起点完成了展开。在该判断的结果为真的情况(S1906:是)下,处理前进至步骤S1907,在该判断的结果为假的情况(S1906:否)下,处理前进至步骤 S1908。
[0157]在步骤S1907中,诊断过程展开程序223从展开诊断过程库235中,获取基于对象展开规则1150的字段1155示出的对象元诊断过程和起点而展开的展开诊断过程1500。
[0158]在步骤S1908中,诊断过程展开程序223获取拓扑条件1300,拓扑条件1300是利用保存在对象元诊断过程1200的基本对象1201的拓扑条件ID1214中的标识符识别出的。
[0159]在步骤S1909中,诊断过程展开程序223基于保存在步骤S1908中获取的拓扑条件1300的条件1302中的信息,从结构管理DB232中获取拓扑信息。所获取的拓扑信息示出的拓扑以在对象展开规则1150的字段1155中的“起点”所表示的管理对象组件(装置或该装置的要素)为起点。例如,在对象展开规则1150为图1lB的展开规则1150a的情况下,起点是装置ID为“SwD”以及组件ID为“SWPORT1”的管理对象组件。另外,在拓扑条件1300为图13的拓扑条件1300a的情况下,诊断过程展开程序223参照开关端口表格600中的装置ID603为“SwD”的记录(第一行?第四行的记录),并且参照网络I/F表格500的ID501与在这些记录中的连接目的地端口 604内保存的值相等的记录(第二行?第四行的记录),获取所参照的记录的 ID 的组合(SWPORT1-SWPORT2-SVIF1、SWPORT1-SWPORT3-SVIF2、SWPORT1-SWPORT4-SVIF3这三组)来作为拓扑信息。
[0160]另外,可以从在步骤S1909中获取的拓扑信息中,去掉如下的拓扑:利用拓扑条件1300能够获取的拓扑信息中的、在作为起点的管理对象组件以外的管理对象组件(或者,有这些管理对象组件构成的装置)中没有发生故障事件的拓扑。管理对象组件中是否发生了故障事件,可以通过在从事件接收程序227检测到作为开始分析的契机的故障事件的时刻起的规定期间内是否发生了与故障有关的事件来判断。由此,能够将诊断对象限定为发生了故障的拓扑。另外,可以针对每个拓扑生成展开诊断过程1500,也可以针对基于一组拓扑条件和起点获取到的所有拓扑,生成一个展开诊断过程1500。
[0161]在步骤S1910中,诊断过程展开程序223从元收集手段库236获取元收集手段1400,该元收集手段1400是利用保存在元诊断过程1200的信息收集对象1202的手段ID1223中的标识符识别出的。然后,诊断过程展开程序223通过基于在步骤S1909中获取的拓扑信息展开元收集
手段1400,来生成展开收集手段1600。通过向元收集手段1400中的变量代入拓扑信息中的ID,来生成展开收集手段1600(展开收集手段1602例如图16所示)O
[0162]在步骤S1911中,诊断过程展开程序223基于元诊断过程1200、在步骤S1909中获取的拓扑信息和在步骤S1910中生成的展开收集手段1600,生成展开诊断过程1500。
[0163]在步骤S1912中,诊断过程展开程序223将在步骤S1911中生成的展开诊断过程1500登录到展开诊断过程库235中。
[0164]在步骤S1913中,诊断过程展开程序223将生成的或从展开诊断过程库235获取的展开诊断过程1500返回至调用源程序。
[0165]此外,在步骤S1904中,可以在对象展开规则1150的事件接收率在固定值以下的情况下,将对象展开规则设为与展开规则关联的元诊断过程的展开对象以及执行诊断的对象外。由此,将诊断执行程序224执行的展开诊断过程限定于与事件接收率在固定值以上的展开规则关联的展开诊断过程,从而能够削减执行不必要的诊断。
[0166]图19的处理的具体例如下所述。在步骤S1901中,作为事件分析程序222的结论,接收了“网络开关D (ID为SwD)的端口 0(ID为SWP0RT1)的发送丢包数异常(事件种类的标识符为TxDropPacketNumError) ”这个信息的情况下,在步骤S1902中,诊断过程展开程序223获取图1lB的展开规则1150a和1150b。以展开规则1150a为例,在步骤S1904中,诊断过程展开程序223获取图12的元诊断过程1200。在步骤S1906中判断为没有展开完毕的情况下,在步骤S1908中,诊断过程展开程序223获取图13的拓扑条件1300a。在步骤S1909中,诊断过程展开程序223获取三个拓扑信息(SWP0RT1-SWP0RT2-SVIF1、SffPORTl-SWP0RT3-SVIF2、SWP0RT1-SWP0RT4-SVIF3)。由于在元诊断过程1200的两个信息收集对象1202的手段ID1223中分别保存有“Getlnfol ”和“GetInfo2”,所以在步骤S1910中,诊断过程展开程序223基于图14的元收集手段1400a和拓扑信息生成展开收集手段1600a,并且基于元收集手段1400b和拓扑信息生成展开收集手段1600b、1600c以及1600d。在步骤S1911中,诊断过程展开程序223根据元诊断过程1200和所获取的拓扑信息,生成图15示出的展开诊断过程1500。然后,在步骤S1912中,诊断过程展开程序223将展开诊断过程1500保存在展开诊断过程库235中,在步骤S1913中,诊断过程展开程序223将生成的展开诊断过程1500返回至故障分析程序221。
[0167]〈诊断执行程序的处理〉
[0168]图20示出通过诊断过程展开程序223执行的处理的例子的流程图(步骤S1703)。
[0169]在步骤S2001中,诊断执行程序224接收展开诊断过程1500。诊断执行程序224针对在步骤S2001中接收的所有展开诊断过程重复执行步骤S2003到S2014的处理。以下,例举一个展开诊断过程(以下,在图20的说明中称为“对象展开诊断过程”)。
[0170]在步骤S2003中,诊断执行程序224参照构成对象展开诊断过程1500的对象中的类型为“Start”的基本对象1501。
[0171]在步骤S2004中,诊断执行程序224在基本对象1501的路径列表1515中追加所参照的对象的ID。
[0172]在步骤S2005中,诊断执行程序224参照所参照的对象的下一个对象。在所参照的对象为基本对象1501或者信息收集对象1502的情况下,诊断执行程序224参照具有在NextID1516或NextID1524中保存的ID的对象。在参照判断对象1503的情况下,在后述的步骤S2013中,诊断执行程序224基于Decis1n Mapl535,决定下一个对象。
[0173]在步骤S2006中,诊断执行程序224判断在步骤S2005中参照的对象的类型是否为“End”。在该判断结果为真的情况(S2006:是)下,处理前进至步骤S2007,在该判断结果为假的情况(S2006:否)下,处理前进至步骤S2014。
[0174]在步骤S2007中,诊断执行程序224判断在步骤S2005中参照的对象的类型是否为“Collectlnfo”。在该判断的结果为真的情况(S2007:是)下,处理前进至步骤S2008,在该判断的结果为假的情况(S2007:否)下,处理前进至步骤S2010。
[0175]在步骤S2008中,诊断执行程序224从展开收集手段库237中获取利用在所参照的对象的展开手段ID1523中保存的标识符识别出的展开收集手段1600。
[0176]在步骤S2009中,诊断执行程序224基于在步骤S2008中获取的展开收集手段,从管理对象装置、管理计算机201具备的库获取信息。
[0177]在步骤S2010中,诊断执行程序224基于保存在所参照的对象的引数1534中的信息,获取在步骤S2009中收集的信息。
[0178]在步骤S2011中,诊断执行程序224将在步骤S2010中获取的信息作为输入,启动判断程序226,该判断程序226是利用保存在所参照的对象的判断程序ID1533中的标识符识别出的。
[0179]在步骤S2012中,诊断执行程序224从在步骤S2011中执行的判断程序226接收判断结果。
[0180]在步骤S2013中,诊断执行程序224将在步骤S2012中接收的判断结果作为键,获取保存在所参照的对象的Decis1n Map 1535内的NextID1537,决定下一个要参照的对象。
[0181]在步骤S2014中,诊断执行程序224向基本对象1501的路径列表1515追加要参照的对象的ID。
[0182]在步骤S2015中,诊断执行程序224将所接收的展开诊断过程1500返回至调用源程序。
[0183]图20的处理的具体例如下所述。例如,在步骤S2001中接收了图15示出的展开诊断过程1500的情况下,在步骤S2003中,诊断执行程序224参照基本对象1501a,在步骤S2004中,向路径列表1515追加对象的ID“Procl-l-0”。接着,在步骤S2005中,诊断执行程序224基于NextID1516示出的标识符“Procl-1-l”,参照信息收集对象1502。由于信息收集对象1502a的类型为“Collectlnfo”,所以处理前进至步骤S2008。在步骤S2008中,诊断执行程序224基于展开手段ID “ExpandedGetlnfol-l”,获取图16的展开信息手段1600a。然后,诊断执行程序224基于在展开收集手段1602中描述的SQL查询语句,从性能表格238中收集信息。然后,返回步骤S2004,诊断执行程序224向路径列表1515追加对象的ID“Procl-l-l”。接着,由于在步骤S2005中参照的对象为判断对象1503a,所以处理前进至步骤S2010。在步骤S2010中,诊断执行程序224获取基于展开信息手段1600a获取的性能信息,在步骤S2011中,诊断执行程序224将该性能信息作为输入,启动“判断程序I”。在步骤S2012中从“判断程序I”接收了“否”的值的情况下,诊断执行程序224基于Decis1n Mapl535,将具有ID“Procl-l_4”的结论对象1504a决定为下一个要参照的对象。再次返回步骤S2004,诊断执行程序224向路径列表1515追加对象的ID “Procl-1-3”,在步骤S2005中,参照结论对象1504a。由于结论对象1504a的类型为“End”,所以处理前进至步骤S2014,诊断执行程序224向路径列表1515追加对象的ID “Procl-l_4”。然后,诊断执行程序224将路径列表1515被更新的展开诊断过程1500返回至作为调用源的故障分析程序221。
[0184]通过进行以上的处理,基于通过诊断过程展开程序223生成的展开诊断过程,诊断执行程序224能够执行用于确定在IT系统中发生的故障的原因事件的诊断。
[0185]此外,在步骤S2009中,诊断执行程序224在输出设备217上显示收集到的信息,在步骤S2011中执行的判断程序226在输出设备217上显示判断基准和供管理者输入判断结果的输入界面(例如按钮),在步骤S2012中接收的判断结果可以为管理者经由输入界面输入的判断结果。
[0186]另外,在步骤S2010中诊断执行程序224没能获取用于判断的信息的情况下,在步骤S2011中,判断程序226返回多个判断结果,诊断执行程序224基于多个判断结果的每一个继续执行诊断过程,参照多个结论对象1504,显示程序225可以基于这些多个结论对象1504,显示多个原因事件。
[0187]另外,诊断执行程序224可以不按照展开诊断过程中对象的顺序执行基于信息收集对象1502的信息收集处理以及基于判断对象1503的判断程序226的判断处理,而并行执行这些处理。
[0188]〈显示程序的处理〉
[0189]图21示出根据显示程序225执行的处理的例子的流程图(步骤S1704)。
[0190]在步骤S2101中,显示程序225接收展开诊断过程1500。
[0191]在步骤S2102中,显示程序225根据接收到的展开诊断过程1500和保存在基本对象1501的路径列表1515中的列表,获取诊断执行程序224最终参照的结论对象1504,并作为诊断结果进行显示。
[0192]在步骤S2103中,显示程序225基于接收到的展开诊断过程,显示所使用的诊断过程。
[0193]在步骤S2104中,显示程序225基于接收到的展开诊断过程1500的基本对象1501的路径列表1515,显示诊断执行程序224所使用的诊断过程中执行过的过程。
[0194]此外,根据步骤2101?S2104,依次显示信息,取而代之地,显示程序225还可以将显示对象的信息写入存储器212,在将所有显示对象都写入存储器212的情况下,显示包含这些显示对象的画面(例如图22的画面)。
[0195]图22示出诊断结果画面的一个例子。
[0196]诊断结果画面2200为显示诊断执行程序224执行的诊断过程和其诊断结果的画面,该诊断结果画面2200显示在输出设备217上。具体来说,该画面2200示出图15的展开诊断过程和执行了该过程而得到的结果。诊断结果画面2200可以由诊断结果字段2201和诊断过程字段2202构成,诊断结果字段2201显示由诊断执行程序224导出的诊断结果,诊断过程字段2202显示在诊断执行程序224中所使用的展开诊断过程1500的信息。另外,诊断结果画面2200还可以具有诊断对象拓扑字段2203和诊断对象数据字段2204,诊断对象拓扑字段2203显示执行了诊断的拓扑的信息,诊断对象数据字段2204显示在执行诊断时收集到的用于判断的信息。
[0197]在诊断结果字段2201显示的信息为在步骤S2102中通过显示程序225显示的信息(诊断结果)的一个例子。基于接收到的展开诊断过程1500的路径列表1515,获取诊断执行程序224最终参照的结论对象1504,将该结论对象1504作为诊断结果显示在字段2201 中。
[0198]在诊断过程字段2202中显示的信息为在步骤S2103中通过显示程序225显示的信息(诊断过程)的一个例子。基于接收到的展开诊断过程1500的信息,获取诊断执行程序224所使用的诊断过程,在字段2202中显示有该诊断过程。在图22中,作为显示诊断过程的一个例子,显示有判断对象1503的引数1534所表示的值、根据判断对象1503识别出的判断程序226的判断基准以及由结论对象1504导出的结论的信息。图22的路径2223为,在步骤S2104中显示程序225基于路径列表1515显示的“执行过的过程”的一个例子。如图22所示,就诊断过程2221而言,可以突出显示表示“执行过的过程”的流程的部分(箭头),也可以显示执行过的过程的一览表。
[0199]在诊断对象拓扑字段2203中显示的信息是表示作为展开诊断过程1500的对象的拓扑的信息。诊断过程展开程序223在图19的处理中,与展开诊断过程1500相关联地将拓扑信息保存在管理计算机201的存储器212等的存储区域内,在启动显示程序225时,显示程序225可以在字段2203中显示该保存的信息。
[0200]在诊断对象数据字段2204中,显示有在诊断执行程序224参照展开诊断过程1500的信息收集对象1502时获取的信息。诊断执行程序224在图20的处理中,将在步骤S2009中获取的信息与展开诊断过程1500相关联地保存在管理计算机201的存储器212等的存储区域内,在启动显示程序225时,显示程序225可以在字段2204中显示该保存的信息。
[0201]另外,可以在诊断对象拓扑字段2203中,针对每个判断的过程,显示与作为判断对象的管理对象组件有关的信息。例如,在图22的显示例中,当管理者选择显示有判断对象1503的判断基准的判断显示2222时,可以突出显示与判断对象1503关联的判断程序226作为判断对象的管理对象组件的信息。例如,在管理者选择了显示有判断对象1503a的判断基准的判断显示2222a的情况下,判断对象1503a的引数1534所表示的信息为"Procl-1-1的返回值”,过程“Procl-1-l”收集到的信息为“网络开关D的端口 O (标识符为SWP0RT1) ”的性能信息,因此,可以突出显示“网络开关D的端口 O”。
[0202]另外,在诊断对象拓扑字段2203中,可以针对每个判断的过程,显示与作为决定判断结果的要素的管理对象组件有关的信息。例如,在图22的显示例中,当管理者选择显示有展开诊断过程1500的判断对象1503的判断基准的判断显示2222时,可以突出显示特定管理对象组件的信息,在此的特定管理对象组件为,在诊断对象拓扑字段2203中显示的管理对象组件中的、作为决定判断结果的要素的管理对象组件。例如,与判断显示2222b关联的判断对象1503b为,具有“分别比较网络开关D的端口 O的发送丢包数的上升率与服务器A的ethO、服务器B的ethO、服务器C的ethO的发送包数的上升率。然后,在只要有一个服务器的发送包数的上升率与网络D的端口 O的发送丢包数的上升率相等的情况下,就参照与结论显示2223a关联的结论对象1504c,否则,就参照结论对象1504b”这个判断信息的展开诊断过程1500的对象。在仅有服务器B与网络开关D的端口 O的发送丢包数的上升率相等的情况下,诊断执行程序224参照结论对象1504c。在这种情况下,可以突出显示作为参照结论对象1504c的主要原因的“服务器B的ethO (标识符为SVIF2) ”和作为比较对象的“网络开关D的端口 O (标识符为SWP0RT1) ”。在执行诊断执行程序224时,可以通过将在步骤S2010中获取的信息和步骤S2012的判断结果保存在管理计算机201的存储器212等的存储区域内,来显示这些信息。以判断对象1503b为例,可以是,调用判断程序ID1533所表示的“判断程序2”并进行判断,在“判断程序2”为返回性能信息的上升率相等的组件的ID组的程序的情况下,将“判断程序2”的返回值保存在管理计算机201的存储器212等的存储区域内,显示程序225显示具有这些ID的管理对象组件的信息。
[0203]另外,在诊断对象数据字段2204中,可以针对每个判断的过程,显示作为判断对象的信息。例如,在图22的显示例中,当管理者选择显示有判断对象1503的判断基准的判断显示2222时,可以突出显示判断对象1503的引数1534所表示的信息。例如,可以在管理者选择了显示有判断对象1503a的判断基准的判断显示2222a的情况下,突出显示判断对象1503a的引数1534所表示的信息2241b。
[0204]另外,在诊断对象数据字段2204中,可以针对每个判断的过程,显示成为决定判断结果的要素的信息。例如,在图22的显示例中,当管理者选择显示有展开诊断过程1500的判断对象1503的判断基准的判断显示2222时,可以突出显示如下的信息:显示在诊断对象数据字段2204中的信息中的、作为决定判断结果的要素的信息。例如,与判断显示2222b关联的判断对象1503b为,具有“分别比较网络开关D的端口 O的发送丢包数的上升率与服务器A的ethO、服务器B的ethO、服务器C的ethO的发送包数的上升率。然后,在只要有一个服务器的发送包数的上升率与网络D的端口 O的发送丢包数的上升率相等的情况下,就参照与结论显示2223a关联的结论对象1504c,否则就参照结论对象1504b”这个判断信息的展开诊断过程1500的对象。在仅有服务器B与网络开关D的端口 O的发送丢包数的
上升率相等的情况下,诊断执行程序224参照结论对象1504c。在这种情况下,可以突出显示成为参照结论对象1504c的主要原因的“服务器B的ethO(标识符为SVIF2)的发送包数的性能信息”和作为比较对象的“网络开关D的端口 O (标识符为SWP0RT1)的发送丢包数的性能信息”。在执行诊断执行程序224时,可以通过将在步骤S2010中获取的信息和步骤S2012的判断结果保存在管理计算机201的存储器212等的存储区域内,来显示这些信息。
[0205]另外,可以在对事件分析程序222导出的一个候选原因执行了多个展开诊断过程的情况下,针对每个展开诊断过程,显示诊断结果的画面。
[0206]另外,诊断执行程序224将在步骤S2009中收集的信息保存在管理计算机201的存储器212等的存储区域内,并保存规定期间,在执行其他诊断时针对同一管理对象组件执行收集同一信息的步骤时,可以使用已经保存在存储器212等的存储区域内的信息。还可以在输出设备217上显示收集到的信息时,显示收集时的时刻。
[0207]另外,诊断执行程序224将在步骤S2012中接收的判断结果保存在管理计算机201的存储器212等的存储区域内,并保存规定时间,在执行其他诊断时基于同一管理对象组件的同一信息进行判断时,可以不执行判断程序而直接使用所保存的判断结果。可以在输出设备217显示判断结果时,显示判断时的时刻。
[0208]如上所述,根据第一实施例,对由事件分析程序222导出的原因故障候选执行关联的诊断,在诊断中,执行诊断所需的信息收集,对收集到的信息进行判断,能够根据从判断结果得到的结论来确定故障的原因事件。由此,管理者能够迅速地确定故障的原因事件,从而能够缩短因IT系统的故障而引起的停机期间。
[0209]第二实施例
[0210]接着,对第二实施例进行说明。在以下的说明中,以与第一实施例的不同点为中心进行说明,针对同等的结构要素、具有同等的功能的程序、具有同等的项目的表格,省略或简略记载。
[0211 ] 在第一实施例中,对由事件分析程序导出的作为多个故障的传播源的故障执行诊断,并且作为传播源的故障的发生原因,提示通过诊断得出的结论。在第一实施例中例示的方法有助于,在通过事件分析程序在一定范围内确定了原因之后,进一步调查详细的原因。另一方面,作为诊断的有效的利用方法,还举出提高由事件分析程序导出的候选原因的确信度的精度(例如提高确信度的值)的方法。
[0212]在第二实施例中,对在根据事件分析程序导出候选原因之后,执行诊断,并使诊断结果反映于根据事件分析功能导出的候选原因的确信度的例子进行说明。
[0213]图23示出第二实施例中的元规则2300的结构例。
[0214]第二实施例中的元规则2300的结构在实质上与第一实施例中的元规则1100的结构相同。在第一实施例的元规则1100中,为了保存由事件接收程序227接收的事件的种类,利用装置种类1101、组件种类1102、事件种类1103来构成IF部1111的条件要素1121。与之相对,第二实施例中的元规则2300为了反映诊断的结果,还可以具有用于保存元诊断过程1200的标识符的字段2311,来作为IF部1111的条件要素。
[0215]图24示出第二实施例中的展开规则2400的结构例。
[0216]第二实施例中的展开规则2400的结构在实质上与第一实施例中的展开规则1150的结构相同。与元规则同样地,第一实施例的展开规则1150为了保存事件接收程序227可能接收的事件,利用装置IDl 161、组件IDl 162以及事件种类1163来构成IF部1151的条件要素。与之相对,为了反映诊断的结果,第二实施例中的展开规则2400还可以具有用于保存展开诊断过程的标识符的字段2411,来作为IF部1151的条件要素。
[0217]图25示出第二实施例中的展开诊断过程的结构例。
[0218]第二实施例中的展开诊断过程2500的结构在实质上,与第一实施例中的展开诊断过程1500的结构相同。为了反映诊断的结果,展开诊断过程2500可以在结论对象1504的Conclus1nl543中保存更新指示,在此的更新指示是指,对与保存有展开规则2400的展开诊断过程的标识符的字段2411对应的接收标记1164进行更新的指示。
[0219]图26示出在第二实施例中由故障分析程序221执行的故障原因分析处理的例子的流程图。故障分析程序221的开始时间可以为第一实施例记载的时间。
[0220]在步骤S1701中,故障分析程序221执行事件分析程序222。所执行的处理与在第一实施例中说明的步骤S1701的处理相同。
[0221]在步骤S1702中,故障分析程序221将在步骤S1701中选择的候选原因的信息作为输入,启动诊断过程展开程序223。所执行的处理实质上与在第一实施例中说明的步骤S1702或图19的处理相同。在此,诊断过程展开程序223在步骤S1909中生成了展开诊断过程2500之后,获取在步骤S1902中获取的展开规则2400和作为该展开规则2400的基础的元规则2300。然后,在生成的展开诊断过程2500具有与保存在元规则2300的条件要素字段2311中的元诊断过程的标识符相同的元诊断过程ID的情况下,诊断过程展开程序223将展开诊断过程ID保存在与元规则2300关联的展开规则2400的条件要素的字段2411中。
[0222]此外,在基于将展开规则的IF部的组件ID的值作为起点的拓扑信息而生成了展开诊断过程的情况下,诊断过程展开程序223可以仅针对具有作为起点的组件的ID的展开规则,将展开诊断过程ID保存在条件要素的字段2411中。另外,诊断过程展开程序223可以仅在生成展开诊断过程时获取的拓扑信息与在生成展开规则时获取的拓扑信息相等的情况下,将展开诊断过程ID保存在条件要素的字段2411中。
[0223]在步骤S1703中,故障分析程序221将展开诊断过程作为输入,启动诊断执行程序224。所执行的处理与在第一实施例中说明的步骤S1703的处理相同。
[0224]在步骤S2601中,故障分析程序221从诊断执行程序224接收展开诊断过程,基于展开诊断过程的路径列表1515,参照诊断执行程序224所参照的展开诊断过程2400的结论对象1504。
[0225]在步骤S2602中,故障分析程序221搜索特定展开规则,特定展开规则是指,使条件要素具备从诊断执行程序224接收的展开诊断过程2400的展开诊断过程ID的展开规贝1J。然后,按照在步骤S2601中参照的结论对象1504的Conclus1nl543中保存的指示,更新展开规则2400的条件要素2411的接收标记1164。
[0226]例如,在从诊断执行程序224接收的展开诊断过程为图25的展开诊断过程2500,并且在步骤S2061中参照了结论对象1504d的情况下,故障分析程序221将与展开规则2400的条件要素的字段2411对应的接收标记1164更新为“ 1”,其中展开规则2400的条件要素具备展开诊断过程2500的ID即“ExpandedDeagnosticProclO-l”。
[0227]在步骤S2603中,故障分析程序221计算出各展开规则的事件接收率。如在第一实施例中说明的那样,事件接收率的计算式可以为“事件接收率=(接收标记1164为“I”的条件要素数)/ (条件要素的总数)”。
[0228]在步骤S2604中,故障分析程序221启动显示程序225。显示程序225基于在步骤S2603中计算出的事件接收率,在事件分析结果画面1800中,更新在步骤S1701中选择的候选原因的确信度。
[0229]如上所述,根据第二实施例,对由事件分析程序导出的候选原因执行关联的诊断,并基于根据诊断结果得到的结论来更新候选原因的确信度,由此,能够向管理者优先提示更可靠的故障候选原因。由此,管理者能够迅速确定故障原因。
[0230]以上,说明了几个实施例,但本发明不限于这些实施例。例如,元规则1100包括与该元规则1100建立了关联的元诊断过程1200的元诊断过程ID以及起点,取而代之或者在此基础上,还可以使元诊断过程1200包括与该元诊断过程1200建立了关联的元规则1100的元规则ID和起点。无论采用哪一种结构,都能够以多对多的方式对元规则100和元诊断过程1200建立关联。
[0231]附图标记说明
[0232]201:管理计算机
【主权项】
1.一种管理系统,其进行一个以上的发生事件的原因分析,所述一个以上的发生事件是指,在多个管理对象组件中的一个以上的管理对象组件中发生的一个以上的事件,所述管理系统的特征在于, 具有: 存储设备;和 与所述存储设备连接的处理器, 所述存储设备存储结构管理信息、多个规则以及多个通用诊断过程, 所述结构管理信息是与所述多个管理对象组件的结构有关的信息, 所述多个规则的每一个是表示一个以上的条件事件与在发生了所述一个以上的条件事件的情况下成为原因的结论事件之间的关联的规则, 所述多个通用诊断过程的每一个分别与所述多个规则的某一个建立了关联,并且是利用一个或多个组件种类定义的不依存于管理对象组件的通用的诊断过程, 所述处理器以所述多个规则中的一个以上的对象规则为基础,确定一个以上的候选原因,所述一个以上的对象规则是指,与和所述一个以上的发生事件关联的一个以上的条件事件建立了关联的一个以上的规则, 所述处理器确定所述多个通用诊断过程中的、与作为所述一个以上的候选原因中的所选的候选原因的基础的对象规则建立了关联的通用诊断过程,基于所述确定出的通用诊断过程和所述结构管理信息,生成展开诊断过程,所述展开诊断过程是对一个以上的管理对象组件执行的诊断过程,用于确定所述所选的候选原因的更具体的原因或更新所述所选的候选原因的可靠度。2.如权利要求1所述的管理系统,其特征在于, 所述处理器显示表示所述生成的展开诊断过程的信息。3.如权利要求1所述的管理系统,其特征在于, 所述处理器针对如下拓扑生成所述展开诊断手段:以所述确定出的通用诊断过程和所述结构管理信息为基础而确定出的拓扑,并且是以作为所述一个以上的对象规则中的一个以上的条件事件的对象的管理对象组件或作为所述一个以上的对象规则中的一个以上的结论事件的对象的管理对象组件为起点的拓扑。4.如权利要求1所述的管理系统,其特征在于, 所述处理器除了生成所述确定出的通用诊断过程和所述结构管理信息之外,还以所述一个以上的发生事件的信息为基础,来生成所述展开诊断过程。5.如权利要求1所述的管理系统,其特征在于, 所述多个通用诊断过程的每一个均是一个以上的信息收集定义、一个以上的判断定义以及多个结论定义的组合, 所述一个以上的信息收集定义的每一个示出信息收集和信息收集源的组件种类, 所述一个以上的判断定义的每一个示出基于收集到的信息来进行判断这一事项,其判断的结果与至少一个结论定义和至少一个信息收集定义中的至少一方对应, 所述一个以上的结论定义的每一个示出结论, 至少一个判断定义与至少一个结论定义建立了关联。6.如权利要求5所述的管理系统,其特征在于, 所述展开诊断过程是通过针对所述确定出的通用诊断过程中的组件种类,以所述结构管理信息为基础对与该组件种类对应的管理对象组件建立关联来生成的, 所述处理器以所述展开诊断过程为基础来决定结论,并显示决定出的结论。7.如权利要求1所述的管理系统,其特征在于, 所述处理器仅在与作为所述所选的候选原因的基础的对象规则建立了关联的一个以上的条件事件中的与发生事件吻合的条件事件所占的比例在固定值以上的情况下,将与作为所述所选的候选原因的基础的对象规则建立了关联的通用诊断过程,作为用于生成展开诊断过程的基础。8.如权利要求6所述的管理系统,其特征在于, 所述处理器显示执行了的定义以及收集到的信息中的至少一方。9.如权利要求1所述的管理系统,其特征在于, 所述处理器以作为所述所选的候选原因的基础的对象规则和所述一个以上的发生事件为基础,计算出所述一个以上的候选原因的每一个的确信度, 所述处理器基于计算出的一个以上的确信度,从所述一个以上的候选原因中选择作为诊断对象的候选原因。10.如权利要求5所述的管理系统,其特征在于, 所述处理器以作为所述所选的候选原因的基础的对象规则和所述一个以上的发生事件为基础,计算出所述一个以上的候选原因的每一个的确信度, 所述多个结论定义中的一部分结论定义表示更新计算出的确信度, 所述处理器以所述展开诊断过程为基础来决定结论,若决定出的结论为更新确信度,则更新所述所选的候选原因的确信度。11.如权利要求5所述的管理系统,其特征在于, 所述处理器显示所述展开诊断过程,此后,接收表示所述展开诊断过程示出的判断的结果的信息的输入,基于接收到的信息所表示的判断结果,决定要执行的定义。12.如权利要求5所述的管理系统,其特征在于, 所述处理器显示所述展开诊断过程,此后,显示基于所述展开诊断过程收集到的信息中的满足判断结果的信息。13.如权利要求5所述的管理系统,其特征在于, 所述处理器向所述存储设备写入在执行所述展开诊断过程时收集到的信息和收集时亥IJ、及在执行所述展开诊断过程时的判断结果和判断时刻中的至少一方,在执行其他展开诊断过程时,若为针对与向所述存储设备写入的信息或判断结果相同的管理对象组件进行的信息收集或判断,并且从向所述存储设备写入的收集时刻或判断时刻起没有经过规定时间,则将存储在所述存储设备中的信息或判断结果作为所述其他展开诊断过程中的收集信息或判断结果。14.一种管理方法,其对一个以上的发生事件的原因分析予以支援,所述一个以上发生事件是指,在多个管理对象组件中的一个以上的管理对象组件中发生的一个以上的事件,所述管理方法的特征在于, 包括如下的步骤: 以分别表示一个以上的条件事件与在发生了所述一个以上的条件事件的情况下成为原因的结论事件之间的关联的多个规则中的一个以上的对象规则为基础,确定一个以上的候选原因,所述一个以上的对象规则是指,与和所述一个以上的发生事件关联的一个以上的条件事件建立了关联的一个以上的规则, 确定多个通用诊断过程中的、与作为所述一个以上的候选原因中的所选的候选原因的基础的对象规则建立了关联的通用诊断过程,所述多个通用诊断过程中的每一个分别与所述多个规则的某一个建立了关联,并且是利用一个或多个组件种类定义的不依存于管理对象组件的通用的诊断过程, 基于所述确定出的通用诊断过程和结构管理信息,生成展开诊断过程,所述结构管理信息是与所述多个管理对象组件的结构有关的信息,所述展开诊断过程是对一个以上的管理对象组件执行的诊断过程,用于确定所述所选的候选原因的更具体的原因或更新所述所选的候选原因的可靠度。15.一种计算机程序,其特征在于, 用于使计算机执行如下的步骤: 以分别表示一个以上的条件事件与在发生了所述一个以上的条件事件的情况下成为原因的结论事件之间的关联的多个规则中的一个以上的对象规则为基础,确定一个以上的候选原因,所述一个以上的对象规则是指,与和所述一个以上的发生事件关联的一个以上的条件事件建立了关联的一个以上的规则, 确定多个通用诊断过程中的、与作为所述一个以上的候选原因中的所选的候选原因的基础的对象规则建立了关联的通用诊断过程,所述多个通用诊断过程中的每一个分别与所述多个规则的某一个建立了关联,并且是利用一个或多个组件种类定义的不依存于管理对象组件的通用的诊断过程, 基于所述确定出的通用诊断过程和结构管理信息,生成展开诊断过程,所述结构管理信息是与所述多个管理对象组件的结构有关的信息,所述展开诊断过程是对一个以上的管理对象组件执行的诊断过程,用于确定所述所选的候选原因的更具体的原因或更新所述所选的候选原因的可靠度。
【专利摘要】准备多个通用诊断过程。各通用诊断过程与多个规则的某一个建立了关联,并且是利用一个或多个组件种类定义的通用的诊断过程。各规则示出一个以上的条件事件与结论事件之间的关联。管理系统以一个以上的对象规则为基础,确定一个以上的候选原因,并确定与作为一个以上的候选原因中的所选的候选原因的基础的对象规则建立了关联的通用诊断过程,其中,一个以上的对象规则与和一个以上的发生事件关联的一个以上的条件事件建立了关联。管理系统基于确定出的通用诊断过程和结构管理信息,生成展开诊断过程,其中,结构管理信息是与多个管理对象组件的结构有关的信息,展开诊断过程是对一个以上的管理对象组件执行的诊断过程,用于确定所选的候选原因的更具体的原因或更新所选的候选原因的可靠度。
【IPC分类】G06N5/04, G06F11/22
【公开号】CN104903866
【申请号】CN201380070015
【发明人】仲野香绪里, 名仓正刚, 永井崇之
【申请人】株式会社日立制作所
【公开日】2015年9月9日
【申请日】2013年11月29日
【公告号】DE112013006475T5, WO2015079564A1