CN116450301B - 基于容器的监控方法、***、设备及介质 - Google Patents

基于容器的监控方法、***、设备及介质 Download PDF

Info

Publication number
CN116450301B
CN116450301B CN202310699465.XA CN202310699465A CN116450301B CN 116450301 B CN116450301 B CN 116450301B CN 202310699465 A CN202310699465 A CN 202310699465A CN 116450301 B CN116450301 B CN 116450301B
Authority
CN
China
Prior art keywords
monitoring
main
container
helm
objects
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310699465.XA
Other languages
English (en)
Other versions
CN116450301A (zh
Inventor
冯景华
徐斌
刘迟
张志伟
杨满堂
韩道林
麻羽
朱明祖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Tianhe Computer Technology Co ltd
Original Assignee
Tianjin Tianhe Computer Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin Tianhe Computer Technology Co ltd filed Critical Tianjin Tianhe Computer Technology Co ltd
Priority to CN202310699465.XA priority Critical patent/CN116450301B/zh
Publication of CN116450301A publication Critical patent/CN116450301A/zh
Application granted granted Critical
Publication of CN116450301B publication Critical patent/CN116450301B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及监控领域,公开了一种基于容器的监控方法、***、设备及介质。监控方法包括:确定预设类型的主监控对象以及与所述主监控对象关联的监控部署信息;控制在所述主监控对象上搭建Kubernetes环境,并加载Helm管理服务,以通过Kubernetes管理工具根据所述监控部署信息从所述helm管理服务中确定对应的监控资源;控制所述监控资源中的监控容器安装至所述主监控对象,通过所述监控资源中的监控容器对运行在所述主监控对象上的子监控对象以及所述主监控对象本身进行监控。实现了对集群中各监控对象进行灵活监控,方便监控业务的扩展,监控覆盖范围较广且可灵活调整。

Description

基于容器的监控方法、***、设备及介质
技术领域
本发明涉及监控领域,尤其涉及一种基于容器的监控方法、***、设备及介质。
背景技术
随着互联网技术的迅猛发展,企业和开发者越来越依赖于大规模、高可用的分布式集群***。为了确保这些***的稳定性和高效性,对***及其底层集群进行有效地监控和管理变得尤为重要。
对于复杂集群,监控各种不同类型的组件是有必要的。然而,传统监控***(监控软件或者说是监控插件)可能缺乏与各种组件集成的能力,限制了其监控范围。传统监控***只支持有限的插件和适配器,导致难以与各种不同的组件、框架和技术进行无缝集成,这导致监控覆盖范围受限。具体的,对于集群中不同操作***的服务器,需要下载不同的监控插件进行安装。尤其是再加上服务器中部署了各种类型的数据库、中间件和应用软件等需要监控的对象,针对每一台服务器上的每一种需要监控的对象都要单独安装对应的监控插件,这将带来非常庞大的工作量。另外像部分安全设备(例如路由器、防火墙),厂商可能没有提供开放的API,限制了用户自定义集成的能力,这可能导致监控***无法灵活地满足特定的需求和场景。而且,传统监控***不具备自动发现新加入集群的组件或者设备(即需要监控的对象)的功能,这导致运维团队需要手动更新监控配置,增加了管理负担。
有鉴于此,特提出本发明。
发明内容
为了解决上述技术问题,本发明提供了一种基于容器的监控方法、***、设备及介质,实现了对各监控对象(主监控对象或者说是运行在主监控对象上的子监控对象)进行灵活监控,方便监控业务的扩展,监控覆盖范围较广且可灵活调整,监控管理与运维效率较高。
第一方面,本发明实施例提供了一种基于容器的监控方法,应用于监控***,包括如下步骤:
确定预设类型的主监控对象以及与所述主监控对象关联的监控部署信息;
控制在所述主监控对象上搭建Kubernetes环境,并加载Helm管理服务,以通过Kubernetes管理工具根据所述监控部署信息从所述helm管理服务中确定对应的监控资源;
控制所述监控资源中的监控容器安装至所述主监控对象;其中,所述监控资源中的监控容器的数量为一个或多个,不同的监控容器内封装有针对不同子监控对象的监控软件,所述子监控对象在所述主监控对象上运行;所述监控资源中的监控容器来源于本地容器镜像仓库,所述本地容器镜像仓库中存储有针对不同的主监控对象以及针对不同的子监控对象的监控容器;
通过所述监控资源中的监控容器对运行在所述主监控对象上的子监控对象以及所述主监控对象本身进行监控。
第二方面,本发明实施例提供了一种基于容器的监控***,包括:
确定模块,用于确定预设类型的主监控对象以及与所述主监控对象关联的监控部署信息;
第一控制模块,用于控制在所述主监控对象上搭建Kubernetes环境,并加载Helm管理服务,以通过Kubernetes管理工具根据所述监控部署信息从所述helm管理服务中确定对应的监控资源;
第二控制模块,用于控制所述监控资源中的监控容器安装至所述主监控对象;其中,所述监控资源中的监控容器的数量为一个或多个,不同的监控容器内封装有针对不同子监控对象的监控软件,所述子监控对象在所述主监控对象上运行;所述监控资源中的监控容器来源于本地容器镜像仓库,所述本地容器镜像仓库中存储有针对不同的主监控对象以及针对不同的子监控对象的监控容器;
监控模块,用于通过所述监控资源中的监控容器对运行在所述主监控对象上的子监控对象以及所述主监控对象本身进行监控。
第三方面,本发明实施例提供了一种电子设备,所述电子设备包括:
处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行任一实施例所述的基于容器的监控方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行任一实施例所述的基于容器的监控方法的步骤。
本发明实施例提供的基于容器的监控方法,通过在本地预先创建容器镜像仓库,将针对不同子监控对象的监控软件的容器镜像(即监控容器)存储在所述仓库中,而后确定集群中需要被监控的主监控对象以及与所述主监控对象关联的监控部署信息;控制在所述主监控对象上搭建Kubernetes环境,并加载Helm管理服务,以通过Kubernetes管理工具根据所述监控部署信息从所述helm管理服务中确定对应的监控资源;控制所述监控资源中的监控容器安装至所述主监控对象;
最后通过所述监控资源中的监控容器对运行在所述主监控对象上的子监控对象以及所述主监控对象本身进行监控,实现了快速在主监控对象上自动化部署对应监控软件的目的,提升了监控效率,降低了监控业务的相关工作量,当集群中有新的主监控对象加入时,也可较方便地针对新加入的主监控对象部署对应的监控软件,有利于监控业务的灵活扩展。即实现了对集群中各监控对象(主监控对象或者说是运行在主监控对象上的子监控对象)进行灵活监控,方便监控业务的扩展,监控覆盖范围较广且可灵活调整,监控管理与运维效率较高。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于容器的监控方法的流程示意图;
图2是本发明实施例提供的一种本地容器镜像仓库、Helm管理服务、监控资源以及监控容器之间的关系示意图
图3是本发明实施例提供的一种基于容器的监控***的结构示意图;
图4为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行清楚、完整的描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
本发明实施例提供的一种基于容器的监控方法适用于对各场景下的待监控服务器进行监控,尤其适用于对规模较大的数据中心场景下的服务器集群进行监控,在集群场景下本实施例的技术方案具备更突出的技术效果。本发明实施例提供的一种基于容器的监控方法应用于监控***,可由软件和/或硬件的方式实现。
参考如图1所示,本发明实施例提供的一种基于容器的监控方法包括如下步骤:
S110、确定预设类型的主监控对象以及与所述主监控对象关联的监控部署信息。
其中,预设类型可指服务器类型,通常服务器类型的主监控对象上会安装多种组件(即子监控对象),示例性的,所述多种组件包括不同类型的数据库(如MySQL、Redis)、不同类型的中间件(例如Kafka、redhat、CentOS、ubuntu)等,而针对每种类型的数据库以及每种类型的中间件都需要通过匹配的监控软件对其进行业务监控,进一步的,对于服务器本身,不同操作***的服务器也需要不同的监控软件进行监控。如果通过人工手动的方式针对每种类型的数据库以及每种类型的中间件安装匹配的监控软件,这将是一项较庞大的工作。而且在规模较大的集群场景下,主监控对象的数量成千上万,每个主监控对象上部署的子监控对象又成千上万,如果只依靠人工在每个主监控对象上针对每种子监控对象安装匹配的监控软件,不仅效率较低,而且准确性不高,安装监控软件之后还要进行管理,运维工作也将比较繁重。
针对上述问题提出本发明实施例的技术方案。具体的,针对待监控集群,预先收集并统计主监控对象以及子监控对象的信息,形成监控清单,在监控清单中至少需要记录需要监控的主监控对象的IP地址、类型以及需要部署的监控软件的标识信息。
示例性的,所述确定预设类型的主监控对象以及与所述主监控对象关联的监控部署信息,包括:
从预先统计的监控清单中确定预设类型的主监控对象以及与所述主监控对象关联的监控部署信息;其中,所述监控清单基于待监控集群确定。
其中,所述监控部署信息指需要部署的监控软件的信息,例如一服务器上安装有三种组件,每种组件所匹配的监控软件分别是软件1、软件2和软件3,该服务器本身需要的监控软件是软件4,则所述监控部署信息可以是“软件1、软件2、软件3和软件4”,用于指示需要在该服务器部署的监控软件的集合。
S120、控制在所述主监控对象上搭建Kubernetes环境,并加载Helm管理服务,以通过Kubernetes管理工具根据所述监控部署信息从所述helm管理服务中确定对应的监控资源。
示例性的,本发明实施例的技术方案借助容器技术docker和容器编排技术Kubernetes实现,容器技术(如Docker)通过将应用程序及其依赖项打包到一个独立的运行环境中,简化了应用部署、扩展和迁移的过程。而容器编排工具(如Kubernetes)则可以实现对容器的自动部署、扩展和管理。因此,基于容器技术与容器编排的自动化监控方案具有很高的实用价值。Kubernetes提供了弹性的扩展功能,本发明的实施方案中根据监控需求可轻松地增加或减少监控软件的副本,这意味着当集群规模增加时,监控***可以自动扩展以满足需求。本发明实施例的技术方案使用容器作为应用部署的基本单元,将监控软件封装到容器中,实现了与底层基础设施的解耦,这有助于简化监控软件的部署和维护,并确保在不同环境中的一致性,较适用于集群监控场景。
Helm管理服务是利用Helm搭建的一个Kubernetes的包管理器,用于将一组K8S资源打包统一管理。Helm管理服务将每个主监控对象需要的多种监控软件的监控容器进行打包并进行统一管理,在需要对某一主监控对象部署监控软件并进行监控时,找到其对应的包即可,且该包是可以复用和共享的,便于监控软件的部署和管理,可进一步提升监控软件的部署效率与监控管理效率。
具体的,Helm管理服务针对每个主监控对象需要的多种监控软件的监控容器进行打包,所打的包可以称为Chart(具体是包的格式为Chart),Chart的实质是一系列文件, 它描述了一组相关的 k8s 集群资源。针对不同的监控内容(或者说针对不同的主监控对象),建立不同的Chart,每个Chart包含一个或多个监控容器。所述监控资源即可指所述Chart。
Helm 支持 Chart 的版本控制,如此可以轻松地回滚到旧版本或升级到新版本。这有助于确保监控***的稳定性,同时能够轻松地应用新功能和修复。概括性的,当所述本地容器镜像仓库中存储的监控容器的版本更新时,在所述主监控对象上加载的Helm管理服务被同步更新,以确保所述监控资源中的监控容器的版本更新。
S130、控制所述监控资源中的监控容器安装至所述主监控对象。
即控制Chart中的监控容器安装至所述主监控对象。
其中,所述监控资源中的监控容器的数量为一个或多个,不同的监控容器内封装有针对不同子监控对象的监控软件,所述子监控对象在所述主监控对象上运行;例如,主监控对象为服务器,子监控对象可以指服务器上的数据库。监控容器可以实现数据采集、存储、分析和可视化等完善的业务功能。
所述监控资源中的监控容器来源于本地容器镜像仓库,所述本地容器镜像仓库中存储有针对不同的主监控对象以及针对不同的子监控对象的监控容器。示例性的,可以参考如图2所示的一种本地容器镜像仓库、Helm管理服务、监控资源以及监控容器之间的关系示意图,其中,容器镜像仓库中存储有多个监控容器,其中包括针对不同主监控对象的监控容器(例如主机监控)以及针对子监控对象的监控容器(例如nignx监控、MySQL监控、Redis监控、Kafka监控)。在Helm管理服务的helm仓库中存储有多个监控资源(例如Chart1、Chart2),每个监控资源中又打包了多个监控容器,例如监控资源Chart1中打包有三个监控容器,分别是主机监控对应的监控容器、Redis监控对应的监控容器以及Kafka监控对应的监控容器;监控资源Chart2中打包有三个监控容器,分别是主机监控对应的监控容器、nignx监控对应的监控容器以及MySQL监控对应的监控容器。监控资源与主监控对象对应,即根据主监控对象所需的全部监控内容对监控容器进行打包获得监控资源。在需要对某一主监控对象部署监控软件并进行监控时,找到其对应的包(也就是监控资源)即可,可进一步提升监控软件的部署效率与监控管理效率。
S140、通过所述监控资源中的监控容器对运行在所述主监控对象上的子监控对象以及所述主监控对象本身进行监控。
具体的,通过Kubernetes管理工具对这些监控容器中的监控软件的生命周期进行统一的管理,极大地提升了监控效率,降低了运维难度。
示例性的,所述通过所述监控资源中的监控容器对运行在所述主监控对象上的子监控对象以及所述主监控对象本身进行监控,包括:
运行所述监控资源中的监控容器对应的实例;
当运行所述实例的过程中出现异常时,启动所述实例的备份实例。
概括性的,容器具有故障检测和自动恢复功能,如果监控软件的某个实例出现故障,Kubernetes会自动重新调度并启动一个新实例,以确保监控***的稳定性和可靠性。
在一些实施方式中,当主监控对象的类型是路由器或者防火墙时,在本地启动与主监控对象关联的监控部署信息所匹配的目标监控容器,通过本地运行的目标监控容器对主监控对象进行监控。
在一些实施方式中,所述监控资源包括使用Go语言定义的资源清单模板,通过使用Go语言以及资源清单模板,当需要新增主监控对象时,可减少监控资源配置工作量,提升效率。资源清单模板用于配置主监控对象所需的监控容器,Helm管理服务基于资源清单模板中的配置信息自动将所需的监控容器进行打包。
在一些实施方式中,所述监控方法还包括:
按照设定周期启动预设扫描工具,通过预设扫描工具(例如Nmap或Advanced IPScanner)对集群进行扫描,以发现新增设备,并获取新增设备的属性信息,所述属性信息用于确定针对所述新增设备的监控部署信息。具体的,所述属性信息可以包括新增设备的IP地址、MAC地址、开放的端口以及运行的组件等。省去了通过人工发现新增设备并统计属性信息的工作,节省了人力成本。进一步的,可基于其运行的组件确定需要部署的监控容器,并更新至所述监控清单中,实现了新增设备时相关监控软件的自动部署。
示例性的,可以参考如下表1所示的一种监控清单。
表1
本发明实施例提供的技术方案,将容器技术与容器编排工具相结合,使得监控方案能够快速部署、扩展和迁移,相较于传统的监控方案,本方案提供了更高的灵活性和可扩展性。
本发明实施例提供的技术方案适用于不同类型的***和集群,是一种自动化监控方案,涵盖了数据采集、存储、分析和可视化等功能。通过对各类场景的需求分析,本方案提供了一种通用的解决方案,降低了用户的部署难度和维护成本。
本发明实施例提供的技术方案利用容器技术的资源隔离和限制功能,可以更有效地管理和分配***资源,降低资源浪费。同时,通过容器编排工具的自动扩展和负载均衡功能,本方案可以提高***的性能和响应速度。
综上所述,本发明通过集成容器技术和容器编排工具,设计出一套具有通用性、自动化监控与告警、易用性、可视化以及优化资源使用和性能的***与集群自动化监控方案。
图3是本发明实施例提供的一种基于容器的监控***的结构示意图,包括:确定模块310,用于确定预设类型的主监控对象以及与所述主监控对象关联的监控部署信息;第一控制模块320,用于控制在所述主监控对象上搭建Kubernetes环境,并加载Helm管理服务,以通过Kubernetes管理工具根据所述监控部署信息从所述helm管理服务中确定对应的监控资源;第二控制模块330,用于控制所述监控资源中的监控容器安装至所述主监控对象;其中,所述监控资源中的监控容器的数量为一个或多个,不同的监控容器内封装有针对不同子监控对象的监控软件,所述子监控对象在所述主监控对象上运行;所述监控资源中的监控容器来源于本地容器镜像仓库,所述本地容器镜像仓库中存储有针对不同的主监控对象以及针对不同的子监控对象的监控容器;监控模块340,用于通过所述监控资源中的监控容器对运行在所述主监控对象上的子监控对象以及所述主监控对象本身进行监控。
进一步的,确定模块310具体用于:从预先统计的监控清单中确定预设类型的主监控对象以及与所述主监控对象关联的监控部署信息;其中,所述监控清单基于待监控集群确定。
进一步的,所述预设类型为服务器,当主监控对象的类型是路由器或者防火墙时,在本地启动与主监控对象关联的监控部署信息所匹配的目标监控容器,通过本地运行的目标监控容器对主监控对象进行监控。
进一步的,所述监控资源包括使用Go语言定义的资源清单模板。
进一步的,还包括:扫描模块,用于按照设定周期启动预设扫描工具,通过预设扫描工具对集群进行扫描,以发现新增设备,并获取新增设备的属性信息,所述属性信息用于确定针对所述新增设备的监控部署信息。
进一步的,当所述本地容器镜像仓库中存储的监控容器的版本更新时,在所述主监控对象上加载的Helm管理服务被同步更新,以确保所述监控资源中的监控容器的版本更新。
进一步的,监控模块340具体用于:运行所述监控资源中的监控容器对应的实例;
当运行所述实例的过程中出现异常时,启动所述实例的备份实例。
图4为本发明实施例提供的一种电子设备的结构示意图。如图4所示,电子设备400包括一个或多个处理器401和存储器402。
处理器401可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备400中的其他组件以执行期望的功能。
存储器402可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器401可以运行所述程序指令,以实现上文所说明的本发明任意实施例的基于容器的监控方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如初始外参、阈值等各种内容。
在一个示例中,电子设备400还可以包括:输入装置403和输出装置404,这些组件通过总线***和/或其他形式的连接机构(未示出)互连。该输入装置403可以包括例如键盘、鼠标等等。该输出装置404可以向外部输出各种信息,包括预警提示信息、制动力度等。该输出装置404可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图4中仅示出了该电子设备400中与本发明有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备400还可以包括任何其他适当的组件。
除了上述方法和设备以外,本发明的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本发明任意实施例所提供的基于容器的监控方法的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本发明的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本发明任意实施例所提供的基于容器的监控方法的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
需要说明的是,本发明所用术语仅为了描述特定实施例,而非限制本申请范围。如本发明说明书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。
还需说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”等应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案。

Claims (10)

1.一种基于容器的监控方法,应用于监控***,其特征在于,包括如下步骤:
确定预设类型的主监控对象以及与所述主监控对象关联的监控部署信息;
控制在所述主监控对象上搭建Kubernetes环境,并加载Helm管理服务,以通过Kubernetes管理工具根据所述监控部署信息从所述Helm管理服务中确定对应的监控资源;
针对不同的主监控对象,建立不同的Chart,每个Chart包含一个或多个监控容器,不同的监控容器内封装有针对不同子监控对象的监控软件,所述子监控对象在所述主监控对象上运行;所述监控资源中的监控容器来源于本地容器镜像仓库,所述本地容器镜像仓库中存储有针对不同的主监控对象以及针对不同的子监控对象的监控容器;
通过所述监控资源中的监控容器对运行在所述主监控对象上的子监控对象以及所述主监控对象本身进行监控;
其中,Helm管理服务是利用Helm搭建的一个Kubernetes的包管理器;Helm管理服务将每个主监控对象需要的多种监控软件的监控容器进行打包并进行统一管理。
2.根据权利要求1所述的方法,其特征在于,所述确定预设类型的主监控对象以及与所述主监控对象关联的监控部署信息,包括:
从预先统计的监控清单中确定预设类型的主监控对象以及与所述主监控对象关联的监控部署信息;其中,所述监控清单基于待监控集群确定。
3.根据权利要求1所述的方法,其特征在于,所述预设类型为服务器类型;
当主监控对象的类型是路由器类型或者防火墙类型时,在本地启动与主监控对象关联的监控部署信息所匹配的目标监控容器,通过本地运行的目标监控容器对主监控对象进行监控。
4.根据权利要求1所述的方法,其特征在于,所述监控资源包括使用Go语言定义的资源清单模板。
5.根据权利要求1所述的方法,其特征在于,还包括:按照设定周期启动预设扫描工具,通过预设扫描工具对集群进行扫描,以发现新增设备,并获取新增设备的属性信息,所述属性信息用于确定针对所述新增设备的监控部署信息。
6.根据权利要求1所述的方法,其特征在于,当所述本地容器镜像仓库中存储的监控容器的版本更新时,在所述主监控对象上加载的Helm管理服务被同步更新,以确保所述监控资源中的监控容器的版本更新。
7.根据权利要求1所述的方法,其特征在于,所述通过所述监控资源中的监控容器对运行在所述主监控对象上的子监控对象以及所述主监控对象本身进行监控,包括:
运行所述监控资源中的监控容器对应的实例;
当运行所述实例的过程中出现异常时,启动所述实例的备份实例。
8.一种基于容器的监控***,其特征在于,包括:
确定模块,用于确定预设类型的主监控对象以及与所述主监控对象关联的监控部署信息;
第一控制模块,用于控制在所述主监控对象上搭建Kubernetes环境,并加载Helm管理服务,以通过Kubernetes管理工具根据所述监控部署信息从所述Helm管理服务中确定对应的监控资源;
第二控制模块,用于针对不同的主监控对象,建立不同的Chart,每个Chart包含一个或多个监控容器;其中,不同的监控容器内封装有针对不同子监控对象的监控软件,所述子监控对象在所述主监控对象上运行;所述监控资源中的监控容器来源于本地容器镜像仓库,所述本地容器镜像仓库中存储有针对不同的主监控对象以及针对不同的子监控对象的监控容器;
监控模块,用于通过所述监控资源中的监控容器对运行在所述主监控对象上的子监控对象以及所述主监控对象本身进行监控;
其中,Helm管理服务是利用Helm搭建的一个Kubernetes的包管理器;Helm管理服务将每个主监控对象需要的多种监控软件的监控容器进行打包并进行统一管理。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行如权利要求1至7任一项所述的基于容器的监控方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如权利要求1至7任一项所述的基于容器的监控方法的步骤。
CN202310699465.XA 2023-06-14 2023-06-14 基于容器的监控方法、***、设备及介质 Active CN116450301B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310699465.XA CN116450301B (zh) 2023-06-14 2023-06-14 基于容器的监控方法、***、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310699465.XA CN116450301B (zh) 2023-06-14 2023-06-14 基于容器的监控方法、***、设备及介质

Publications (2)

Publication Number Publication Date
CN116450301A CN116450301A (zh) 2023-07-18
CN116450301B true CN116450301B (zh) 2023-08-15

Family

ID=87125957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310699465.XA Active CN116450301B (zh) 2023-06-14 2023-06-14 基于容器的监控方法、***、设备及介质

Country Status (1)

Country Link
CN (1) CN116450301B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200106036A (ko) 2017-12-08 2020-09-10 넷-썬더, 엘엘씨 자동 배포되는 정보 기술(it) 시스템 및 방법

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110276199A (zh) * 2019-06-25 2019-09-24 中国—东盟信息港股份有限公司 一种Kubernetes云原生应用的动态安全检测方法
CN111211938A (zh) * 2019-12-30 2020-05-29 北京百迈客生物科技有限公司 生物信息软件监控***及方法
CN111930465A (zh) * 2020-05-28 2020-11-13 武汉达梦数据库有限公司 一种基于Kubernetes的达梦主从集群部署方法和装置
WO2021004320A1 (zh) * 2019-07-11 2021-01-14 华为技术有限公司 服务资源许可管理方法和相关设备
CN112286628A (zh) * 2020-10-19 2021-01-29 烽火通信科技股份有限公司 一种统一纳管Kubernetes异构应用的***及运行方法
CN112558987A (zh) * 2020-12-16 2021-03-26 中盈优创资讯科技有限公司 一种基于helm的自动化部署方法及装置
EP4095678A1 (en) * 2021-08-20 2022-11-30 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus of deploying a cluster, device and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021097397A1 (en) * 2019-11-17 2021-05-20 Trilio Data, Inc. Container-based application data protection method and system
WO2021171211A1 (ja) * 2020-02-26 2021-09-02 ラクテン・シンフォニー・シンガポール・プライベート・リミテッド リソースプール管理システム、リソースプール管理方法及びプログラム
US11461091B2 (en) * 2021-02-03 2022-10-04 Oracle International Corporation System and method for creating or updating tenant artifacts by a multi-tenant cloud service
US20230109368A1 (en) * 2021-09-29 2023-04-06 Sap Se Autoscaling gpu applications in kubernetes based on gpu utilization

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110276199A (zh) * 2019-06-25 2019-09-24 中国—东盟信息港股份有限公司 一种Kubernetes云原生应用的动态安全检测方法
WO2021004320A1 (zh) * 2019-07-11 2021-01-14 华为技术有限公司 服务资源许可管理方法和相关设备
CN111211938A (zh) * 2019-12-30 2020-05-29 北京百迈客生物科技有限公司 生物信息软件监控***及方法
CN111930465A (zh) * 2020-05-28 2020-11-13 武汉达梦数据库有限公司 一种基于Kubernetes的达梦主从集群部署方法和装置
CN112286628A (zh) * 2020-10-19 2021-01-29 烽火通信科技股份有限公司 一种统一纳管Kubernetes异构应用的***及运行方法
CN112558987A (zh) * 2020-12-16 2021-03-26 中盈优创资讯科技有限公司 一种基于helm的自动化部署方法及装置
EP4095678A1 (en) * 2021-08-20 2022-11-30 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus of deploying a cluster, device and storage medium

Also Published As

Publication number Publication date
CN116450301A (zh) 2023-07-18

Similar Documents

Publication Publication Date Title
EP3667500B1 (en) Using a container orchestration service for dynamic routing
US8762986B2 (en) Advanced packaging and deployment of virtual appliances
US7490265B2 (en) Recovery segment identification in a computing infrastructure
US8954859B2 (en) Visually analyzing, clustering, transforming and consolidating real and virtual machine images in a computing environment
US20210349699A1 (en) Automatic containerization of operating system distributions
US11550641B2 (en) Extending the kubernetes API in-process
US11061669B2 (en) Software development tool integration and monitoring
US20170123777A1 (en) Deploying applications on application platforms
CN112989330B (zh) 容器的入侵检测方法、装置、电子设备及存储介质
CN116450301B (zh) 基于容器的监控方法、***、设备及介质
US11456914B2 (en) Implementing affinity and anti-affinity with KUBERNETES
CN113204353B (zh) 一种大数据平台组件部署方法及装置
CN113315754A (zh) 容器出访防火墙智能联动方法及装置、设备、介质
KR20180044579A (ko) 컨테이너 기반의 분산 애플리케이션 관리 시스템 및 방법
US9836365B2 (en) Recovery execution system using programmatic generation of actionable workflows
CN113900670B (zh) 集群服务器应用部署***
CN117389830A (zh) 集群日志采集方法、装置、计算机设备及存储介质
AU2017276243A1 (en) System And Method For Generating Service Operation Implementation
CN115103007A (zh) 基于分布式云的服务发现方法、装置及可读存储介质
US20200151022A1 (en) Instance mapping engine and tools
US11805146B2 (en) System and method for detection promotion
US20220398077A1 (en) Application to container conversion and migration
CN113515293B (zh) 一种管理DevOps工具链的方法和***
EP2869245A2 (en) Service modeling and execution
US20200302349A1 (en) Action determination for case management

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant