SONIC日志系统级别管控方法、装置、电子设备及存储介质制造方法及图纸

技术编号:38548169 阅读:13 留言:0更新日期:2023-08-22 20:56
本申请涉及一种SONIC日志系统级别管控方法、装置、电子设备及存储介质。其中方法包括:使用docker内配置服务,将原生工具不支持的模块的日志级别配置数据,写入所述docker中的子模块日志配置文件,设置所述原生工具不支持的模块的日志级别;使用第一日志级别监听服务,调用所述原生工具,将所述原生工具支持的模块的日志级别配置数据,同步到日志级别数据库中,设置所述原生工具支持的模块的日志级别。采用本方法能够实现对原生工具不支持的模块的日志级别的动态设定和修改,同时还解决了使用原生工具直接设置日志级别的模块,在系统重启后,模块日志级别配置数据丢失的问题。模块日志级别配置数据丢失的问题。模块日志级别配置数据丢失的问题。

【技术实现步骤摘要】
SONIC日志系统级别管控方法、装置、电子设备及存储介质


[0001]本申请涉及系统日志管理领域,特别是涉及一种SONIC日志系统级别管控方法、装置、电子设备及存储介质。

技术介绍

[0002]SONIC(Software for Open Networking in the Cloud,云开放网络软件)系统是一个将传统交换机操作系统软件分解成多个容器化组件的创新软件系统,SONIC大量使用了现有的开源项目和开源技术,如Docker(容器)、Redis(一个高性能的key

value数据库)、Quagga(开源路由软件)和LLDPD(Link Layer Discovery Protocol,链路层发现协议)以及自动化配置工具Ansible、Puppet和Chef等。SONIC的网络应用都是基于docker构建的,可以非常方便的在生产环境实现不停机部署或升级应用。SONIC在短时间中得到了快速的发展,但是由于其全新的架构,整体上仍处于发展的初级阶段。目前,SONIC社区正式公布的版本仍存在功能缺失及Bug,对软件操作系统来说,日志的监控,记录,收集是其最重要的功能之一,一个完善的日志系统是效率开发的重要前提。在未来的大规模组网方案中,顶层功能设计中也有对整个网络集群所有设备进行统一监管、进行可视化呈现的需求和功能,而这些都对SONIC系统的日志级别设定和日志收集提出了一定的要求。
[0003]SONIC系统本质上是基于Linux系统的内核,添加了SONIC相关的各种应用,打包而成的一个系统镜像,有其SONIC自身的一些功能特点。比如SONIC架构中关键的数据库,各模块容器(docker),各容器中对应子模块功能,这些共同组成整个SONIC系统。此套系统中,各容器各模块之间并不直接进行通信,而是统一对集中的数据库进行数据的存储和使用。SONIC系统方案能够尽可能规避各子模块之间复杂的过程通信,改用对数据负责的方式,以确保对网络交换机的配置等数据能够灵活读写。
[0004]SONIC系统提供了6个不同的数据库,分别用于存储不同的数据,其中包括config_DB(config Database,配置数据库)和loglvel_DB(loglevel Database,日志级别数据库),其中,config_DB用于存储模块相关的配置数据,loglvel_DB主要存储日志级别设定相关的数据。当前社区的SONIC系统提供了一个swsslogleveL工具接口,用户可以通过该工具接口下发命令,直接修改某个模块在运行时的日志输出输出级别,设置完后该模块的日志级别即时生效,原生的swsslogleveL工具提供了一些功能代码,可以对系统中的loglvel_DB进行数据读写。Swss docker(Switch State Service docker,交换机状态服务容器)由一组工具组成,允许所有SONiC模块之间进行有效通信,主要侧重于提供促进所有不同方之间的通信和仲裁的机制,SONIC系统的原生swsslogleveL工具可以直接支持的模块基本都依赖swss docker的服务。
[0005]但是,swssloglevel工具目前覆盖模块数量较少,设定修改的方式较为繁琐,对开发人员来说,使用起来极为不便。由于系统中某些模块本身的限制,导致无法直接在swssloglevel的实现机制下继续扩展。例如,使用swssloglevel工具设定每个docker内的supervisord关键进程,如果想要修改该进程模块的级别,必定需要supervisord进程重启
才能生效,而对于此类关键进程,每一次重启都意味着要丢失大量的过程日志,操作十分不便且造成了数据丢失。
[0006]此外,目前SONIC系统相关的软件应用模块有数十个,swssloglevel工具仅能覆盖到其中一小部分,而大部分模块还无法实现日志级别的动态设定和修改,导致目前SONIC系统中日志级别设定功能存在较大缺失,任何基于该功能的顶层应用设计均无法实现,例如,当前社区的SONIC系统无法满足未来日志系统可视化的应用需求。

技术实现思路

[0007]有鉴于此,本申请旨在提出一种SONIC日志系统级别管控方法、装置、电子设备及存储介质,以解决目前SONIC系统中存在部分应用模块无法通过系统原生工具实现日志级别的动态设定和修改,且系统原生工具对部分支持该工具的模块的日志级别进行配置和修改后,在系统重启后发生数据丢失的问题。
[0008]本申请实施例第一方面提供一种SONIC日志系统级别管控方法,所述方法包括:
[0009]使用docker内配置服务,将原生工具不支持的模块的日志级别配置数据,写入所述docker中的子模块日志配置文件,设置所述原生工具不支持的模块的日志级别;
[0010]使用第一日志级别监听服务,调用所述原生工具,将所述原生工具支持的模块的日志级别配置数据,同步到日志级别数据库中,设置所述原生工具支持的模块的日志级别。
[0011]可选地,设置所述原生工具不支持的模块的日志级别,包括:
[0012]使用所述docker内配置服务,当所述docker启动时,根据所述日志级别数据库中,所述docker子模块的日志级别,在所述docker中的子模块日志配置文件中新增对应子模块的日志级别输出配置,并启动日志处理进程使之生效;
[0013]使用所述docker内配置服务,对所述日志级别数据库中,所述docker子模块的日志级别控制变量进行监听,当所述日志级别控制变量发生改变时,修改所述docker中的子模块日志配置文件的对应内容,并重启日志处理进程使之生效;
[0014]所述docker内配置服务被设置于对应的docker中,跟随对应的docker启动。
[0015]可选地,设置所述原生工具支持的模块的日志级别,包括:
[0016]使用所述第一日志级别监听服务,当swss docker启动时,调用原生工具,将所述原生工具支持的模块的日志级别配置数据,从配置数据库同步到所述日志级别数据库中;
[0017]使用所述第一日志级别监听服务,对所述配置数据库中,所述原生工具支持的模块的日志级别控制变量进行监听,当所述日志级别控制变量发生改变时,调用所述原生工具,将所述发生改变的模块的日志级别控制变量,更新到所述日志级别数据库中;
[0018]所述第一日志级别监听服务被设置于swss docker中,跟随swss docker启动。
[0019]可选地,所述SONIC日志系统级别管控方法还包括:
[0020]使用第二日志级别监听服务,将配置数据库中所述原生工具不支持的模块的日志级别配置数据,写入所述日志级别数据库中。
[0021]可选地,将配置数据库中所述原生工具不支持的模块的日志级别配置数据,写入所述日志级别数据库中,包括:
[0022]使用所述第二日志级别监听服务,当SONIC系统启动时,将所述原生工具不支持的模块的日志级别配置本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SONIC日志系统级别管控方法,其特征在于,包括:使用docker内配置服务,将原生工具不支持的模块的日志级别配置数据,写入所述docker中的子模块日志配置文件,设置所述原生工具不支持的模块的日志级别;使用第一日志级别监听服务,调用所述原生工具,将所述原生工具支持的模块的日志级别配置数据,同步到日志级别数据库中,设置所述原生工具支持的模块的日志级别。2.根据权利要求1所述的SONIC日志系统级别管控方法,其特征在于,设置所述原生工具不支持的模块的日志级别,包括:使用所述docker内配置服务,当所述docker启动时,根据所述日志级别数据库中,所述docker子模块的日志级别,在所述docker中的子模块日志配置文件中新增对应子模块的日志级别输出配置,并启动日志处理进程使之生效;使用所述docker内配置服务,对所述日志级别数据库中,所述docker子模块的日志级别控制变量进行监听,当所述日志级别控制变量发生改变时,修改所述docker中的子模块日志配置文件的对应内容,并重启日志处理进程使之生效;所述docker内配置服务被设置于对应的docker中,跟随对应的docker启动。3.根据权利要求1所述的SONIC日志系统级别管控方法,其特征在于,设置所述原生工具支持的模块的日志级别,包括:使用所述第一日志级别监听服务,当swss docker启动时,调用原生工具,将所述原生工具支持的模块的日志级别配置数据,从配置数据库同步到所述日志级别数据库中;使用所述第一日志级别监听服务,对所述配置数据库中,所述原生工具支持的模块的日志级别控制变量进行监听,当所述日志级别控制变量发生改变时,调用所述原生工具,将所述发生改变的模块的日志级别控制变量,更新到所述日志级别数据库中;所述第一日志级别监听服务被设置于swss docker中,跟随swss docker启动。4.根据权利要求1所述的SONIC日志系统级别管控方法,其特征在于,还包括:使用第二日志级别监听服务,将配置数据库中所述原生工具不支持的模块的日志级别配置数据,写入所述日志级别数据库中。5.根据权利要求4所述的SONIC日志系统级别管控方法,其特征在于,将配置数据库中所述原生工具不支持的模块的日志级别配置数据,写入所述日志级别数据库中,包括:使用所述第二日志级别监听服务,当SONIC系统启动时,将所述原生工具不支持的模块的日志级别配置数据,从所述配置数据库同步到所述日志级别数据库中;使用所述第二日志...

【专利技术属性】
技术研发人员:王文志郭巍松陈翔
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1