基于容器的日志读取方法、装置以及存储介质与流程
未命名
07-12
阅读:82
评论:0

1.本技术涉及信息技术领域,特别是涉及一种基于容器的日志读取方法、装置以及存储介质。
背景技术:
2.随着公司业务越来越多,访问量越来越多,应用日志产生的日志量越来越大,同时也伴随着不定期的营销活动,在某段时间可能会产生比平时更多的日志量。面对此场景,以往的方案存在如下缺点:
3.1、由于访问量突然增加,日志消费能力不足,而导致不能在日志存储系统里看到比较实时的日志。
4.2、新项目上线产生新的应用日志索引,运维人员经常忘记在报警脚本添加新的索引名称,导致不能捕捉到日志错误。
5.3、报警脚本以批处理方式执行,对于重大错误的报警,有数分钟的滞后。
6.针对上述的现有技术中存在的日志消费能力不足导致的无法实时获取日志的技术问题,目前尚未提出有效的解决方案。
技术实现要素:
7.本技术的实施例提供了一种基于容器的日志读取方法、装置以及存储介质,以至少解决现有技术中存在的日志消费能力不足导致的无法实时获取日志的技术问题。
8.根据本技术实施例的一个方面,提供了一种基于容器的日志读取方法,包括:应用服务器向日志集群写入日志;容器云对日志集群中的日志进行读取;以及在容器云的读取能力不足的情况下,运维平台为容器云增加容器副本。
9.根据本技术实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项的方法。
10.根据本技术实施例的另一个方面,还提供了一种基于容器的日志读取装置,包括:日志写入模块,用于应用服务器向日志集群写入日志;日志读取模块,用于容器云对日志集群中的日志进行读取;以及容器增加模块,用于在容器云的读取能力不足的情况下,运维平台为容器云增加容器副本。
11.根据本技术实施例的另一个方面,还提供了一种基于容器的日志读取装置,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:应用服务器向日志集群写入日志;容器云对日志集群中的日志进行读取;以及在容器云的读取能力不足的情况下,运维平台为容器云增加容器副本。
12.在本技术实施例中,本技术方案直接运行在容器里,根据容器的弹性计算能力,在日志消费不足的情况下秒级扩容消费容器数量,提高消费能力。日志消费容器直接在kafka服务器上消费日志事件,以流式方式进行处理,实时性非常高,秒级别的报警滞后。日志存储和日志报警的程序在同一个容器里,共享kafka的日志主题,如果新增日志存储,并不需
要额外增加日志报警的日志主题,这样就不会有忘记捕捉新日志索引的问题存在。
附图说明
13.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
14.图1是用于实现根据本技术实施例1所述的方法的计算设备的硬件结构框图;
15.图2是根据本技术实施例1的第一个方面所述的基于容器的日志读取方法的流程示意图;
16.图3是根据本技术实施例1的第一个方面所述的基于容器的日志读取方法的另一个流程示意图;
17.图4是根据本技术实施例2所述的基于容器的日志读取装置的示意图;以及
18.图5是根据本技术实施例3所述的基于容器的日志读取装置的示意图。
具体实施方式
19.为了使本技术领域的人员更好地理解本技术的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
20.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
21.实施例1
22.根据本实施例,提供了一种基于容器的日志读取方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
23.本实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的计算设备中执行。图1示出了一种用于实现基于容器的日志读取方法的计算设备的硬件结构框图。如图1所示,计算设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同
的配置。
24.应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本技术实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
25.存储器可用于存储应用软件的软件程序以及模块,如本技术实施例中的基于容器的日志读取方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的基于容器的日志读取方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
26.传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
27.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算设备的用户界面进行交互。
28.此处需要说明的是,在一些可选实施例中,上述图1所示的计算设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备中的部件的类型。
29.在上述运行环境下,根据本实施例的第一个方面,提供了一种基于容器的日志读取方法。图2示出了该方法的流程示意图,参考图2所示,该方法包括:
30.s202:应用服务器向日志集群写入日志;
31.s204:容器云对日志集群中的日志进行读取;以及
32.s206:在容器云的读取能力不足的情况下,运维平台为容器云增加容器副本。
33.具体地,应用服务器池生成日志之后,向日志集群写入所有日志。容器云中设置有日志读取程序,通过日志读取程序从日志集群读取日志。
34.进一步地,当日志数量过大时,容器云在读取日志时,会无法全部读取。从而运维平台在确定容器云的读取能力不足的情况下,生成容器副本,并将容器副本添加至容器云中。
35.正如背景技术中所述的,随着公司业务越来越多,访问量越来越多,应用日志产生的日志量越来越大,同时也伴随着不定期的营销活动,在某段时间可能会产生比平时更多的日志量。面对此场景,以往的方案存在如下缺点:1、由于访问量突然增加,日志消费能力不足,而导致不能在日志存储系统里看到比较实时的日志。2、新项目上线产生新的应用日志索引,运维人员经常忘记在报警脚本添加新的索引名称,导致不能捕捉到日志错误。3、报
警脚本以批处理方式执行,对于重大错误的报警,有数分钟的滞后。
36.可选地,在容器云的读取能力不足的情况下,运维平台为容器云增加容器副本的操作,包括:运维平台定时检查日志集群中日志的读取数量;在日志集群中日志的未读数量增多的情况下,判定容器云的读取能力不足;以及在容器云的读取能力不足的情况下,运维平台为容器云增加容器副本。
37.具体地,运维平台会定时检查日志集群中已读日志的数量和未读日志的数量。当运维平台确定日志集群中日志的未读数量增多时,则判断日志集群中日志数量较多,从而容器云无法全部读取。
38.进一步地,运维平台在判定容器云的日志读取能力不足的情况下,会生成预定数量的容器副本,从而将新生成的容器副本增加至容器云中,从而可以共同读取日志集群中的日志。
39.可选地,方法还包括:在容器云读取日志时发生错误的情况下,向运维平台发送报警信息。
40.容器云在读取日志时,突然发生错误,则向运维平台发送报警信息。运维平台维护着日志主题、日志报警规则以及和报警的接收人的关联关系,定期的刷新容器程序的配置文件,当有日志主题的相关错误日志信息通过预设的关键字匹配到日志报警规则,就会触发报警,把日志的错误信息发送给相应的接收人,接收人类型包括短信,微信和钉钉等。
41.可选地,方法还包括:在当前时刻不是预先设定的工作时间的情况下,运维平台将新增的容器副本进行删除。
42.具体地,在运维平台为容器云增加容器副本后,日志集群中的日志数量减少,无需使用容器副本的情况下,运维平台会获取当前时刻,并判断当前时刻是否为预设的工作时间。如果当前时刻不是工作时间,则会将容器副本进行删除,从而恢复容器云中的容器数量。如果当前时刻是工作时间,则不会将容器副本进行删除,会在其他时刻的非工作时间对容器副本进行删除。
43.此外,参考图1所示,根据本实施例的第二个方面,提供了一种存储介质。所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行以上任意一项所述的方法。
44.从而根据本实施例,本技术方案直接运行在容器里,根据容器的弹性计算能力,在日志消费不足的情况下秒级扩容消费容器数量,提高消费能力。日志消费容器直接在kafka服务器上消费日志事件,以流式方式进行处理,实时性非常高,秒级别的报警滞后。日志存储和日志报警的程序在同一个容器里,共享kafka的日志主题,如果新增日志存储,并不需要额外增加日志报警的日志主题,这样就不会有忘记捕捉新日志索引的问题存在。
45.1、所有的应用日志统一收集到kafka日志集群服务器上。
46.2、然后容器云的消费进程流式消费日志事件,根据运维平台编制的报警规则,匹配关键字的事件发送到指定的钉钉群。
47.3、部署在容器云外的运维平台定期检测各个消费组的日志消费情况,根据日志消费情况,动态扩容容器云的消费能力,在非工作时间内恢复正常的消费能力。
48.4、日志存储和日志报警是同一个程序,不同的消费组共享同一个日志主题,不需要额外添加日志主题。
49.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列
的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
50.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
51.实施例2
52.图4示出了根据本实施例的第一个方面所述的基于容器的日志读取装置400,该装置400与根据实施例1的第一个方面所述的方法相对应。参考图4所示,该装置400包括:日志写入模块,用于应用服务器向日志集群写入日志;日志读取模块,用于容器云对日志集群中的日志进行读取;以及容器增加模块,用于在容器云的读取能力不足的情况下,运维平台为容器云增加容器副本。
53.可选地,在容器云的读取能力不足的情况下,运维平台为容器云增加容器副本的操作,包括:数量读取子模块,用于运维平台定时检查日志集群中日志的读取数量;能力判定子模块,用于在日志集群中日志的读取数量减少的情况下,判定容器云的读取能力不足;以及容器增加子模块,用于在容器云的读取能力不足的情况下,运维平台为容器云增加容器副本。
54.可选地,装置还包括:信息发送子模块,用于在容器云读取日志时发生错误的情况下,向运维平台发送报警信息。
55.可选地,装置还包括:容器删除子模块,用于在当前时刻不是预先设定的工作时间的情况下,运维平台将新增的容器副本进行删除。
56.从而根据本实施例,本技术方案直接运行在容器里,根据容器的弹性计算能力,在日志消费不足的情况下秒级扩容消费容器数量,提高消费能力。日志消费容器直接在kafka服务器上消费日志事件,以流式方式进行处理,实时性非常高,秒级别的报警滞后。日志存储和日志报警的程序在同一个容器里,共享kafka的日志主题,如果新增日志存储,并不需要额外增加日志报警的日志主题,这样就不会有忘记捕捉新日志索引的问题存在。
57.实施例3
58.根据本实施例的第一个方面所述的基于容器的日志读取装置600,该装置600与根据实施例1的第一个方面所述的方法相对应。参考所示,该装置600包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:应用服务器向日志集群写入日志;容器云对日志集群中的日志进行读取;以及在容器云的读取能力不足的情况下,运维平台为容器云增加容器副本。
59.可选地,在容器云的读取能力不足的情况下,运维平台为容器云增加容器副本的操作,包括:运维平台定时检查日志集群中日志的读取数量;在日志集群中日志的读取数量减少的情况下,判定容器云的读取能力不足;以及在容器云的读取能力不足的情况下,运维
平台为容器云增加容器副本。
60.可选地,装置还包括:在容器云读取日志时发生错误的情况下,向运维平台发送报警信息。
61.可选地,装置还包括:在当前时刻不是预先设定的工作时间的情况下,运维平台将新增的容器副本进行删除。
62.从而根据本实施例,本技术方案直接运行在容器里,根据容器的弹性计算能力,在日志消费不足的情况下秒级扩容消费容器数量,提高消费能力。日志消费容器直接在kafka服务器上消费日志事件,以流式方式进行处理,实时性非常高,秒级别的报警滞后。日志存储和日志报警的程序在同一个容器里,共享kafka的日志主题,如果新增日志存储,并不需要额外增加日志报警的日志主题,这样就不会有忘记捕捉新日志索引的问题存在。
63.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
64.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
65.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
66.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
67.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
68.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
69.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
技术特征:
1.一种基于容器的日志读取方法,其特征在于,包括:应用服务器向日志集群写入日志;容器云对所述日志集群中的日志进行读取;以及在所述容器云的读取能力不足的情况下,运维平台为所述容器云增加容器副本。2.根据权利要求1所述的方法,其特征在于,在所述容器云的读取能力不足的情况下,运维平台为所述容器云增加容器副本的操作,包括:所述运维平台定时检查日志集群中日志的读取数量;在所述日志集群中日志的未读数量增多的情况下,判定所述容器云的读取能力不足;以及在所述容器云的读取能力不足的情况下,所述运维平台为所述容器云增加容器副本。3.根据权利要求1所述的方法,其特征在于,还包括:在所述容器云读取所述日志时发生错误的情况下,向所述运维平台发送报警信息。4.根据权利要求1所述的方法,其特征在于,还包括:在当前时刻不是预先设定的工作时间的情况下,所述运维平台将新增的容器副本进行删除。5.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行权利要求1至4中任意一项所述的方法。6.一种基于容器的日志读取装置,其特征在于,包括:日志写入模块,用于应用服务器向日志集群写入日志;日志读取模块,用于容器云对所述日志集群中的日志进行读取;以及容器增加模块,用于在所述容器云的读取能力不足的情况下,运维平台为所述容器云增加容器副本。7.根据权利要求6所述的装置,其特征在于,在所述容器云的读取能力不足的情况下,运维平台为所述容器云增加容器副本的操作,包括:数量读取子模块,用于所述运维平台定时检查日志集群中日志的读取数量;能力判定子模块,用于在所述日志集群中日志的读取数量减少的情况下,判定所述容器云的读取能力不足;以及容器增加子模块,用于在所述容器云的读取能力不足的情况下,所述运维平台为所述容器云增加容器副本。8.根据权利要求6所述的装置,其特征在于,还包括:信息发送子模块,用于在所述容器云读取所述日志时发生错误的情况下,向所述运维平台发送报警信息。9.根据权利要求6所述的装置,其特征在于,还包括:容器删除子模块,用于在当前时刻不是预先设定的工作时间的情况下,所述运维平台将新增的容器副本进行删除。10.一种基于容器的日志读取装置,其特征在于,包括:处理器;以及存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:应用服务器向日志集群写入日志;
容器云对所述日志集群中的日志进行读取;以及在所述容器云的读取能力不足的情况下,运维平台为所述容器云增加容器副本。
技术总结
本申请公开了一种一种基于容器的日志读取方法、装置以及存储介质。其中,一种基于容器的日志读取方法,包括:应用服务器向日志集群写入日志;容器云对日志集群中的日志进行读取;以及在容器云的读取能力不足的情况下,运维平台为容器云增加容器副本。维平台为容器云增加容器副本。维平台为容器云增加容器副本。
技术研发人员:陈行飞 陈凌云 李宁 张建 李庆林 寨亮 马军 徐梁
受保护的技术使用者:德邦证券股份有限公司
技术研发日:2022.11.29
技术公布日:2023/7/11
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种新型显示屏的驱动方法与流程 下一篇:用于控制器局域网的设备的制作方法