CN107908521A - 一种应用于云环境下的服务器性能以及节点上的容器性能的监控方法 - Google Patents

一种应用于云环境下的服务器性能以及节点上的容器性能的监控方法 Download PDF

Info

Publication number
CN107908521A
CN107908521A CN201711111884.8A CN201711111884A CN107908521A CN 107908521 A CN107908521 A CN 107908521A CN 201711111884 A CN201711111884 A CN 201711111884A CN 107908521 A CN107908521 A CN 107908521A
Authority
CN
China
Prior art keywords
server
container
performance
performance parameter
monitoring
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.)
Pending
Application number
CN201711111884.8A
Other languages
English (en)
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.)
Nanjing Post and Telecommunication University
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing Post and Telecommunication University
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 Nanjing Post and Telecommunication University filed Critical Nanjing Post and Telecommunication University
Priority to CN201711111884.8A priority Critical patent/CN107908521A/zh
Publication of CN107908521A publication Critical patent/CN107908521A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种应用于云环境下的服务器性能以及节点上的容器性能的监控方法,将服务器的性能参数和容器的性能参数集成到Grafana的同一个dashboard中,并且将获取的性能参数实时地通过表格和图的形式展现出来,通过服务器性能参数和容器性能参数的对比数据的差别,选择合适的资源调度的算法。本发明方法既能简便地监控服务器的性能同时又能监控到容器性能,而且能产生错误警告,并且能将参数直观地通过图和表格的形式展现出来。

Description

一种应用于云环境下的服务器性能以及节点上的容器性能的 监控方法
技术领域
随着云计算相关技术的迅速发展,在选择调度算法进行资源调度的时候,运维人员对服务器性能参数的获取以及服务器性能与容器性能对比的需求也越来越多。本发明针对此类问题,设计了对服务器的性能进行监控的方法。本发明属于云计算领域。
背景技术
服务器上要有大量的节点对服务器的容量和性能有较大的要求,但近些年,随着容器技术的迅猛发展,一个节点上存在很多个容器已经成了现实,因此,通过资源调度来控制服务器资源的分配以防止资源浪费或者是有些服务器负载过量而崩溃是运维工作中很重要的一部分,例如,现在有A、B、C三台服务器在运行,A和B上都有大量容器在运行,而C上容器较少,现在需要再启动一定量的容器,运维人员就需要将这些容器放在C上启动,防止A、B因负载过量而崩溃而C因负载过少而造成资源浪费。资源调度需要选择相应的调度算法,使用合适的调度算法才能以高效率进行资源调度,而调度算法的选择就需要服务器以及其节点容器的性能参数。
目前使用比较多的服务器性能监控工具有Collected、Monit、Nagios等等,各自都能监控各种服务器的性能参数,并且以图或者表格的形式呈现出来。
例如,Monit监控工具能够监控CPU使用率、负载、内存使用率等等,而且它监控服务器的同时,如果服务器宕机,它能够自动重新开启服务器。但是,这些工具都不能深入地监控容器的信息。
如今使用比较多的容器性能监控工具有Scout、Cloud Insight、DataDog等等,各自也都能监控到容器的性能参数并且直观地展现出来。例如,Scout监控工具可以监控到每个节点的CPU使用率、节点中容器的数量以及进程数量等等。但是这些工具并不能全面地监控到整个服务器的信息。如今并没有一个既能监控服务器信息又能监控容器信息并且能产生错误警告的工具。
综上,本发明完成的是一种既能简便地监控服务器的性能同时又能监控到容器性能,而且能产生错误警告,并且能将参数直观地通过图和表格的形式展现出来的方法。本方法主要是为了资源调度的时候调度算法的选择服务。
发明内容
本发明的目的是提供一种应用于云环境下的监控服务器性能以及节点上的容器的性能的方法,从而使资源调度的时候选择调度算法更加便捷。较之其他监控方法,该方法更加全面、便捷。
为了实现上述技术目的,本发明采用如下的技术方案:
一种应用于云环境下的服务器性能以及节点上的容器性能的监控方法,将服务器的性能参数和容器的性能参数集成到Grafana的同一个dashboard中,并且将获取的性能参数实时地通过表格和图的形式展现出来,具体步骤是:
步骤1:配置服务器监控平台用于监控服务器性能,通过监控平台的代理服务端采集服务器的性能参数;
步骤2:通过监控平台服务端收集其代理服务端发送来的性能参数,转存入对应的Mysql数据库中;
步骤3:根据用户的设置生成警告机制;
步骤4:配置容器性能监控平台用于监控容器性能,容器性能监控平台通过dockerstats的方式获取容器性能参数;
步骤5:容器性能监控平台将从容器获取到的性能参数转存储到已经连接的Influxdb数据库中;
步骤6:配置Grafana显示平台,用于集成服务器性能参数和容器性能参数;
步骤7:Grafana显示平台接收数据源发送来的数据,并且集成到同一个dashboard中通过图或者表格的形式显示出来,通过服务器性能参数和容器性能参数的对比数据的差别,选择合适的资源调度的算法。
所述步骤7具体包括:
步骤7.1:选择相应的数据源,分别对应服务器性能参数和容器性能参数;
步骤7.2:通过编写sql语句来指定dashboard所获取的数据内容以及呈现形式如图或表;
步骤7.3:将服务器性能参数和容器性能参数集成到同一张图或者表中,进行对比,具体而言,分为两种情况,第一种情况,假设一个容器申请了服务器20%的资源,容器自身的cpu使用率和内存使用率分别为30%和40%,当该容器内开始一个任务时,cpu使用率和内存使用率升为50%和60%,均上升20%,若20%*20%等于服务器cpu使用率和内存使用率的变化量,则只需考虑任务进行的效率,选择任务分配算法即可;第二种情况,若上述所述的20%*20%和服务器cpu使用率和内存使用率的变化量相差很大,则需要考虑容器资源的分配的算法和任务的分配算法。
有益效果:
本发明提出的是一种监控服务器性能以及其中容器性能并且能通过图表形式实时地显示性能参数,拥有警告机制的方法,全面、安全、便捷地获取性能参数,为资源调度时调度算法的选择服务,其相比于目前已有的监控方法具体的优势在于:
(1)全面性,目前已有的诸多服务器性能监控工具,虽然能够全面地监控服务器的诸多性能,但是并没有能够深入监控到服务器内容器性能的工具。同样,目前已有的诸多容器性能监控工具,能监控到各种容器的性能,也有个别工具可以监控到服务器的部分性能,但是并没有像服务器性能监控工具那样能够监控到全面的服务器性能的工具。本发明提出的方法则恰好弥补了这一点,本方法既能全面监控到服务器的性能,又能全面地监控到容器的各项性能。
(2)安全性,相较于目前许多监控工具,例如Cadvisor,它虽然能全面地监控到容器的多项性能,但是缺乏警告机制,当负载时,没有警告机制,服务器宕机的可能性就会大大提升,用户会受到很大的影响。本方法很好地弥补了这一缺陷,在使用Cadvisor监控工具的基础上,使用了Zabbix的警告机制,能够保证服务器运行的安全性。
(3)便捷性,本方法将服务器的性能参数和容器的性能参数集成到Grafana工具中统一显示,能够让用户很方便地对比两类数据,为调度算法的选择提供了便利。另外,现有的监控工具自带的web显示界面,由于既要监控性能,又要显示数据,使用时间久了就会很卡,但本方法使用Grafana和监控工具相结合,由于Grafana只是一个图表显示工具,所以就算使用的时间久了,也不会出现卡顿的状况,很好地弥补了其它工具卡顿的缺陷。
附图说明
(4)图1是本方法的工作原理图,诠释Grafana获取服务器性能参数和容器性能参数的过程。
具体实施方式
一、体系结构
本方法的体系结构包括三个部分:
第一,获取服务器性能参数并且监控错误信息,生成警告机制,通过Zabbix工具来完成。获取的服务器性能参数主要包括CPU使用率、内存使用状况、磁盘的读写状况以及端口和进程日志等等。Zabbix监控包括三种体系类型:服务端-客户端、服务端-代理服务端-客户端、主机-节点-客户端。
(1)服务端-客户端,这种体系适合于网络状况不太复杂,节点较少的情况,服务端和客户端直接交互数据。
(2)服务端-代理服务端-客户端,这种体系适用于跨服务器进行数据交互的情况,代理服务器作为服务端和客户端的中转站,连接二者,实行数据的交互。
(3)主机-节点-客户端,这种体系适用于跨服务器且节点较多的比较复杂的网络状况,每个节点作为一个服务端,拥有自己的配置以及数据库,并且将监控的参数同步到主机节点。
第二,获取容器的性能参数,通过Cadvisor工具来实现。所获取的容器性能参数主要包括CPU、内存、磁盘、网络状况以及镜像信息等等。其实,Cadvisor也能够获取到服务器集群的部分性能参数,不过关键的是,Cadvisor没有响应的警告机制,当服务器负载过高的时候,Cadvisor不会提醒操作人员,毕竟资源调度分配的前提是服务器平稳运行,若服务器因过载而崩溃,所做的一切就成了徒劳,因此,警告机制必不可少。
第三,集成Zabbix和Cadvisor所获取的性能参数到一个dashboard中,并通过图或者表格的形式直观地显示出来,通过Grafana工具来实现。
二、方法流程
1、配置zabbix监控工具以及mysql数据库
配置过程包括一下几个步骤:
(1)使系统的防火墙停止运行,防止出现网络状况良好却无法访问显示性能参数的界面这种情况;
(2)获取zabbix下载源,通过命令行访问zabbix的官方网站获取zabbix下载源;
(3)配置zabbix-agent代理服务,通过vim指令进入zabbix-agent的配置文件将IP地址修改为本机的IP地址,将主机名修改为本机的名字;
(4)配置zabbix-server,下载并安装zabbix-server-mysql和zabbix-web-mysql两个数据库用于存储agent发来的数据,web端在展现时会调用这些存储在数据库里的数据进行对应的图形绘制或者表格的呈现。如果需要获取root权限,则需要通过vim指令进入zabbix-server的配置文件将DBuser修改为root,否则使用默认配置就可以。
2、配置Cadvisor监控工具以及Influxdb数据库
(1)创建cadvisor容器,将容器的8086端口映射到宿主机的指定端口(由自己指定);
(2)创建influxsrv容器,并将容器的8083端口映射到宿主机的指定端口(由自己指定);
(3)将两个容器进行互联,通过-storage_driver指令指定数据存储的驱动为influxdb,并且指定数据库的地址以及数据库的名称,这样Cadvisor工具所监控到的性能参数就会存储到Influxdb数据库当中。
3、配置Grafana图表显示工具
(1)创建grafana容器,并将容器的3000端口映射到宿主机的指定端口(由自己指定);
(2)修改配置文件,选择数据源为Zabbix和Influxdb,并且修改ip地址为本机地址;
(3)配置Dashboard,即选择需要显示的性能参数以及显示参数的方式(图/表)并选择数据更新的时间间隔。

Claims (2)

1.一种应用于云环境下的服务器性能以及节点上的容器性能的监控方法,其特征在于,将服务器的性能参数和容器的性能参数集成到Grafana的同一个dashboard中,并且将获取的性能参数实时地通过表格和图的形式展现出来,具体步骤是:
步骤1:配置服务器监控平台用于监控服务器性能,通过监控平台的代理服务端采集服务器的性能参数;
步骤2:通过监控平台服务端收集其代理服务端发送来的性能参数,转存入对应的Mysql数据库中;
步骤3:根据用户的设置生成警告机制;
步骤4:配置容器性能监控平台用于监控容器性能,容器性能监控平台通过dockerstats的方式获取容器性能参数;
步骤5:容器性能监控平台将从容器获取到的性能参数转存储到已经连接的Influxdb数据库中;
步骤6:配置Grafana显示平台,用于集成服务器性能参数和容器性能参数;
步骤7:Grafana显示平台接收数据源发送来的数据,并且集成到同一个dashboard中通过图或者表格的形式显示出来,通过服务器性能参数和容器性能参数的对比数据的差别,选择合适的资源调度的算法。
2.根据权利要求1所述的应用于云环境下的服务器性能以及节点上的容器性能的监控方法,其特征在于,所述步骤7具体包括:
步骤7.1:选择相应的数据源,分别对应服务器性能参数和容器性能参数;
步骤7.2:通过编写sql语句来指定dashboard所获取的数据内容以及呈现形式如图或表;
步骤7.3:将服务器性能参数和容器性能参数集成到同一张图或者表中,进行对比,具体而言,分为两种情况,第一种情况,假设一个容器申请了服务器20%的资源,容器自身的cpu使用率和内存使用率分别为30%和40%,当该容器内开始一个任务时,cpu使用率和内存使用率升为50%和60%,均上升20%,若20%*20%等于服务器cpu使用率和内存使用率的变化量,则只需考虑任务进行的效率,选择任务分配算法即可;第二种情况,若所述的20%*20%和服务器cpu使用率和内存使用率的变化量相差很大,则需要考虑容器资源的分配的算法和任务的分配算法。
CN201711111884.8A 2017-11-10 2017-11-10 一种应用于云环境下的服务器性能以及节点上的容器性能的监控方法 Pending CN107908521A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711111884.8A CN107908521A (zh) 2017-11-10 2017-11-10 一种应用于云环境下的服务器性能以及节点上的容器性能的监控方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711111884.8A CN107908521A (zh) 2017-11-10 2017-11-10 一种应用于云环境下的服务器性能以及节点上的容器性能的监控方法

Publications (1)

Publication Number Publication Date
CN107908521A true CN107908521A (zh) 2018-04-13

Family

ID=61844733

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711111884.8A Pending CN107908521A (zh) 2017-11-10 2017-11-10 一种应用于云环境下的服务器性能以及节点上的容器性能的监控方法

Country Status (1)

Country Link
CN (1) CN107908521A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108848157A (zh) * 2018-06-12 2018-11-20 郑州云海信息技术有限公司 一种Kubernetes集群容器监控的方法和装置
CN108920283A (zh) * 2018-08-06 2018-11-30 成都知道创宇信息技术有限公司 基于Prometheus性能监控系统的服务器保护方法
CN109144734A (zh) * 2018-09-12 2019-01-04 郑州云海信息技术有限公司 一种容器资源配额分配方法和装置
CN109639472A (zh) * 2018-12-04 2019-04-16 科大国创软件股份有限公司 基于Grafana的容器云平台的集成告警控制方法及系统
CN109639791A (zh) * 2018-12-06 2019-04-16 广东石油化工学院 一种容器环境下云工作流调度方法及系统
CN112486634A (zh) * 2020-12-09 2021-03-12 浪潮云信息技术股份公司 一种实现容器云平台整体监控的方法
WO2021155576A1 (en) * 2020-02-07 2021-08-12 Alibaba Group Holding Limited Automatic parameter tuning for anomaly detection system
CN113282445A (zh) * 2020-06-01 2021-08-20 阿里巴巴集团控股有限公司 一种函数内存占用监控方法、装置及电子设备
CN113918409A (zh) * 2021-09-09 2022-01-11 西安震有信通科技有限公司 一种服务性能监控方法、系统及终端
US11341025B2 (en) 2020-05-27 2022-05-24 Red Hat Inc. Dynamic tuning of computing devices using application log data
US11477090B1 (en) 2021-10-28 2022-10-18 Red Hat, Inc. Detecting deployment problems of containerized applications in a multiple-cluster environment
US11836523B2 (en) 2020-10-28 2023-12-05 Red Hat, Inc. Introspection of a containerized application in a runtime environment
US12112187B2 (en) 2020-11-30 2024-10-08 Red Hat, Inc. Scalable visualization of a containerized application in a multiple-cluster environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105245617A (zh) * 2015-10-27 2016-01-13 江苏电力信息技术有限公司 一种基于容器的服务器资源供给方法
US20160014191A1 (en) * 2014-07-14 2016-01-14 Oracle International Corporation System and method for web container partitions in a multitenant application server environment
CN106371974A (zh) * 2016-08-30 2017-02-01 中国民生银行股份有限公司 Docker容器内应用程序的监控方法和发布平台
CN106888254A (zh) * 2017-01-20 2017-06-23 华南理工大学 一种基于Kubernetes的容器云架构及其各模块之间的交互方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160014191A1 (en) * 2014-07-14 2016-01-14 Oracle International Corporation System and method for web container partitions in a multitenant application server environment
CN105245617A (zh) * 2015-10-27 2016-01-13 江苏电力信息技术有限公司 一种基于容器的服务器资源供给方法
CN106371974A (zh) * 2016-08-30 2017-02-01 中国民生银行股份有限公司 Docker容器内应用程序的监控方法和发布平台
CN106888254A (zh) * 2017-01-20 2017-06-23 华南理工大学 一种基于Kubernetes的容器云架构及其各模块之间的交互方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王雪芬-JUDY领袖: ""Cadvisor-InfluxDB-Grafana监控实现"", 《CSDN博客》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108848157A (zh) * 2018-06-12 2018-11-20 郑州云海信息技术有限公司 一种Kubernetes集群容器监控的方法和装置
CN108920283A (zh) * 2018-08-06 2018-11-30 成都知道创宇信息技术有限公司 基于Prometheus性能监控系统的服务器保护方法
CN109144734A (zh) * 2018-09-12 2019-01-04 郑州云海信息技术有限公司 一种容器资源配额分配方法和装置
CN109639472A (zh) * 2018-12-04 2019-04-16 科大国创软件股份有限公司 基于Grafana的容器云平台的集成告警控制方法及系统
CN109639791A (zh) * 2018-12-06 2019-04-16 广东石油化工学院 一种容器环境下云工作流调度方法及系统
WO2021155576A1 (en) * 2020-02-07 2021-08-12 Alibaba Group Holding Limited Automatic parameter tuning for anomaly detection system
US11341025B2 (en) 2020-05-27 2022-05-24 Red Hat Inc. Dynamic tuning of computing devices using application log data
CN113282445A (zh) * 2020-06-01 2021-08-20 阿里巴巴集团控股有限公司 一种函数内存占用监控方法、装置及电子设备
US11836523B2 (en) 2020-10-28 2023-12-05 Red Hat, Inc. Introspection of a containerized application in a runtime environment
US12112187B2 (en) 2020-11-30 2024-10-08 Red Hat, Inc. Scalable visualization of a containerized application in a multiple-cluster environment
CN112486634A (zh) * 2020-12-09 2021-03-12 浪潮云信息技术股份公司 一种实现容器云平台整体监控的方法
CN113918409A (zh) * 2021-09-09 2022-01-11 西安震有信通科技有限公司 一种服务性能监控方法、系统及终端
US11477090B1 (en) 2021-10-28 2022-10-18 Red Hat, Inc. Detecting deployment problems of containerized applications in a multiple-cluster environment

Similar Documents

Publication Publication Date Title
CN107908521A (zh) 一种应用于云环境下的服务器性能以及节点上的容器性能的监控方法
CN104486445B (zh) 一种基于云平台的分布式可扩展资源监控系统
CN106549829B (zh) 大数据计算平台监控系统及方法
JP2019534496A (ja) マネージクエリサービス
CN103019791B (zh) 软件部署方法及软件部署系统
CN103338135B (zh) 一种集群存储容量的实时监控方法
CN105260229A (zh) 拉取虚拟机镜像文件的方法和装置
CN107665228A (zh) 一种关联信息查询方法、终端及设备
US10218803B2 (en) Integration of cloud services for consumption in cloud applications
CN107404417A (zh) 一种监控数据的处理方法、处理装置及处理系统
CN106100868B (zh) 一种项目运维管理装置、系统及方法
CN114791846B (zh) 一种针对云原生混沌工程实验实现可观测性的方法
CN108196787A (zh) 集群存储系统的配额管理方法以及集群存储系统
CN112860343B (zh) 配置变更方法、系统、装置、电子设备以及存储介质
CN110659261A (zh) 一种数据挖掘模型发布方法及模型和模型服务管理方法
CN112486491A (zh) 页面生成方法、装置、计算机设备及存储介质
CN111752723B (zh) 一种可视化的多源服务管理系统及其实现方法
CN114706690B (zh) 一种Kubernetes容器共享GPU方法及系统
CN110784377A (zh) 一种多云环境下的云监控数据统一管理的方法
US10565224B2 (en) Data provision apparatus and data provision method
CN114327881A (zh) 任务调度方法及装置
US9575772B2 (en) Model-based user interface
CN110233904A (zh) 设备更新方法、装置、系统、存储介质以及计算机设备
CN109302314A (zh) 一种被控节点模拟方法及相关装置
CN109150593A (zh) 云数据系统中资源的管理方法和装置

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180413

RJ01 Rejection of invention patent application after publication