CN111611131B - 基于Saltstack的运维方法、装置、系统及存储介质 - Google Patents

基于Saltstack的运维方法、装置、系统及存储介质 Download PDF

Info

Publication number
CN111611131B
CN111611131B CN202010418829.9A CN202010418829A CN111611131B CN 111611131 B CN111611131 B CN 111611131B CN 202010418829 A CN202010418829 A CN 202010418829A CN 111611131 B CN111611131 B CN 111611131B
Authority
CN
China
Prior art keywords
saltstack
client
data
monitoring
self
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
CN202010418829.9A
Other languages
English (en)
Other versions
CN111611131A (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.)
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information 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 China Mobile Communications Group Co Ltd, China Mobile Hangzhou Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202010418829.9A priority Critical patent/CN111611131B/zh
Publication of CN111611131A publication Critical patent/CN111611131A/zh
Application granted granted Critical
Publication of CN111611131B publication Critical patent/CN111611131B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例涉及计算机技术领域,公开了一种基于Saltstack的运维方法,包括:接收Saltstack客户端发送的与所述Saltstack客户端运行状况相关的运行数据;基于所述运行数据和预置算法判断所述Saltstack客户端是否存在运行风险;若所述Saltstack客户端存在运行风险,获取用于消除所述运行风险的自愈脚本,并向所述Saltstack客户端发送所述自愈脚本。本发明还提出一种基于Saltstack的运维装置、系统、电子设备以及计算机可读存储介质。本发明实施例提供的Saltstack的运维方法、装置、系统、电子设备以及计算机可读存储介质可以提高运维的效率。

Description

基于Saltstack的运维方法、装置、系统及存储介质
技术领域
本发明实施例涉及计算机技术领域,特别涉及一种基于Saltstack的运维方法、装置、系统及计算机可读存储介质。
背景技术
Saltstack是一个基于Python语言实现的服务器基础架构集中化管理平台,该平台具备配置管理、远程执行等功能。具体的,该平台通过配置管理功能能够将远程节点维护在某一状态;通过远程执行功能能够在远程节点上单独或通过任意选择地执行命令和查询数据。
发明人发现,目前并没有快速有效的方式对远程节点的运行问题进行处理。因此,亟需提高基于Saltstack的运维效率。
发明内容
本发明实施方式的目的在于提供一种基于Saltstack的运维方法、装置、系统、电子设备及计算机可读存储介质,可以提高运维的效率。
为解决上述技术问题,本发明的实施方式提供了一种基于Saltstack的运维方法,所述方法应用于Saltstack服务器端,包括:接收Saltstack客户端发送的与所述Saltstack客户端运行状况相关的运行数据;基于所述运行数据和预置算法判断所述Saltstack客户端是否存在运行风险;若所述Saltstack客户端存在运行风险,向所述Saltstack客户端发送所述自愈脚本。
本发明的实施方式还提供了一种基于Saltstack的运维方法,所述方法应用于Saltstack客户端,包括:通过Saltstack客户端内置的监控程序采集与所述Saltstack客户端运行状况相关的运行数据;将所述运行数据发送至Saltstack服务器端;在接收到所述Saltstack服务器端发送的自愈脚本时,运行所述自愈脚本。
本发明的实施方式还提供了一种基于Saltstack的运维装置,所述装置包括:接收模块,用于接收Saltstack客户端发送的与所述Saltstack客户端运行状况相关的运行数据;判断模块,用于基于所述运行数据和预置算法判断所述Saltstack客户端是否存在运行风险;修复模块,用于在所述Saltstack客户端存在运行风险时,向所述Saltstack客户端发送所述自愈脚本。
本发明的实施方式还提供了一种基于Saltstack的运维装置,所述装置包括:采集模块,用于通过Saltstack客户端内置的监控程序采集与所述Saltstack客户端运行状况相关的运行数据;发送模块,用于将所述运行数据发送至Saltstack服务器端;运行模块,用于在接收到所述Saltstack服务器端发送的自愈脚本时,运行所述自愈脚本。
本发明的实施方式还提供了一种电子设备,所述电子设备包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的基于Saltstack的运维方法。
本发明的实施方式还提供了一种基于Saltstack的运维系统,包括Saltstack服务器端和至少一个Saltstack客户端,所述Saltstack服务器端用于实现下述的基于Saltstack的运维方法的步骤:
接收Saltstack客户端发送的与所述Saltstack客户端运行状况相关的运行数据;
基于所述运行数据和预置算法判断所述Saltstack客户端是否存在运行风险;
若所述Saltstack客户端存在运行风险,向所述Saltstack客户端发送所述自愈脚本;
及所述客户端用于下述的基于Saltstack的运维方法的步骤:
通过所述Saltstack客户端内置的监控程序采集与所述Saltstack客户端运行状况相关的运行数据;
将所述运行数据发送至所述Saltstack服务器端;
在接收到所述Saltstack服务器端发送的自愈脚本时,运行所述自愈脚本。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述基于Saltstack的运维方法。
相对于现有技术而言,本发明实施方式通过Saltstack服务器端接收Saltstack客户端的运行数据,进行运行风险判断,并在存在运行风险时向Saltstack发送自愈脚本,使得Saltstack客户端能够尽快消除该运行风险,无需运维人员值守,因此能快速的解决问题,提高了运维的效率。
优选地,所述基于所述运行数据和预置算法判断所述Saltstack客户端是否存在运行风险包括:
通过所述预置算法判断所述运行数据包含的监控指标的第一监测数据是否为异常数据;
若所述第一监测数据为异常数据,确定所述Saltstack客户端存在运行风险。
优选地,所述通过所述预置算法判断所述运行数据包含的监控指标的第一监测数据是否为异常数据包括:
将所述运行数据包含的监控指标的其他监测数据输入至高斯过程回归模型,获取所述高斯过程回归模型输出的所述监控指标的置信区间;
判断所述第一监测数据是否在所述置信区间范围内;
若所述第一监测数据不在所述置信区间范围内,确定所述第一监测数据为异常数据。
优选地,所述预置算法的数量为多个,所述通过所述预置算法判断所述运行数据包含的监控指标的第一监测数据是否为异常数据,包括:
通过所述多个预置算法分别判断所述运行数据包含的监控指标的第一监测数据是否为异常数据;
获取所述多个预置算法的多个判断结果,所述多个判断结果包括确定所述第一监测数据为异常数据的第一判断结果和/或所述第一监测数据不为异常的第二判断结果;
在所述第一判断结果的数量大于等于第一数量阈值或所述第二判断结果的数量小于第二数量阈值时,确定所述第一监测数据为异常数据。
进一步的,在判断Saltstack客户端是否存在运行风险时,通过高斯过程回归模型进行判断,或者通过多个算法同时进行判断,能够提高判断的准确性,进而能够准确判断是否获取自愈脚本,实现了精准运维的目的。
优选地,所述向所述Saltstack客户端发送所述自愈脚本之后,所述方法还包括:
接收所述Saltstack客户端运行所述自愈脚本之后回传的所述运行数据的更新数据,所述更新数据包含所述监控指标的第二监测数据;
判断所述第二监测数据是否为正常数据;
若所述第二监测数据不为正常数据,则触发告警消息。
优选地,所述监控指标包括CPU、磁盘、内存、网络带宽之中的一项或多项。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本发明第一实施例提供的一种基于Saltstack的运维方法的流程示意图;
图2为本发明第二实施例提供的一种基于Saltstack的运维方法的流程示意图;
图3为本发明第三实施例提供的一种基于Saltstack的运维方法的流程示意图;
图4为本发明第四实施例提供的一种基于Saltstack的运维方法的流程示意图;
图5为本发明第五实施例提供的一种基于Saltstack的运维方法的流程示意图;
图6为本发明第六实施例提供的一种基于Saltstack的运维方法的流程示意图;
图7为本发明第七实施例提供的一种基于Saltstack的运维装置的流程示意图;
图8为本发明第八实施例提供的一种基于Saltstack的运维装置的结构图;
图9为本发明第九实施例提供的一种基于Saltstack的运维装置的结构图;
图10为本发明第十实施例提供的一种基于Saltstack的运维装置的结构图;
图11为本发明第十一实施例提供的电子设备的内部结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
下面对本实施方式的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
请参见图1,图1为第一实施例提供的基于Saltstack的运维方法的流程示意图。本实施例中基于Saltstack的运维方法应用于Saltstack服务器端,所述Saltstack服务器端是安装了Saltstack服务端软件的电子设备。具体地,Saltstack服务器端为安装Salt-master的电子设备。
详细地,该基于Saltstack的运维方法包括:
S10,接收Saltstack客户端发送的与所述Saltstack客户端运行状况相关的运行数据。
本实施例中,所述Saltstack客户端是安装了Saltstack客户端软件的电子设备,具体地,Saltstack客户端为安装Salt-minion的电子设备。
本实施例中,所述Saltstack客户端的数量可以为一个或者多个,在具体实施时,所述Saltstack服务器端可以接收一个或多个Saltstack客户端发送的与Saltstack客户端运行状况相关的运行数据。
本实施例中,与Saltstack客户端运行状况相关的运行数据可以包括但不限于:Saltstack客户端运行的服务数量,运行的服务类型,运行的服务时间。
详细地,本实施例中,与Saltstack客户端运行状况相关的运行数据由Saltstack客户端获取,并在获取之后,向Saltstack服务器端发送。具体地,与Saltstack客户端运行状况相关的运行数据由Saltstack客户端上安装的监控程序获取。
在本发明其中一可选实施例中,所述运行数据包括监控指标的第一监测数据。
本实施例中,所述监控指标是与Saltstack客户端运行状况相关的运行指标,所述第一监测数据可以是在一段时间内采集到的监控指标的监测数据的平均值或者是在某个时刻采集到的监控指标的监测数据的值。
进一步地,在本发明一可选实施例中,所述监控指标包括CPU、磁盘、内存、网络带宽之中的一项或多项。
本实施例中,CPU、磁盘、内存、网络带宽具体是Saltstack客户端的CPU、磁盘、内存、网络带宽。
在具体实施时,若接收到多个Saltstack客户端发送的多组运行数据,接收到的每组运行数据可以是相同的监控指标,也可以是不同的监控指标。
例如,接收到3个Saltstack客户端(分别为A客户端、B客户端和C客户端)发送的多组运行数据,其中,接收到A客户端的运行数据可以是A客户端的CPU和磁盘的监测数据,接收到B客户端的运行数据可以是B客户端的磁盘和内存的监测数据,接收到C客户端的运行数据可以是C客户端的CPU和网络带宽的监测数据。
S20,基于所述运行数据和预置算法判断所述Saltstack客户端是否存在运行风险。
在本实施例中,所述预置算法的数量可以为一个或者多个,对于不同的Saltstack客户端可以选取相同或者不同的算法判断Saltstack客户端是否存在运行风险。
一种可选实施例中,所述预置算法为训练得到的卷积神经网络,所述基于运行数据和预置算法判断Saltstack客户端是否存在运行风险包括:将运行数据输入至卷积神经网络,通过卷积神经网络输出预测Saltstack客户端是否存在运行风险的预测值。
其中,所述卷积神经网络为预先构建的并通过样本数据进行训练得到的。
S30,若所述Saltstack客户端存在运行风险,向所述Saltstack客户端发送自愈脚本。
本实施例中,所述自愈脚本为用于消除运行风险的自愈脚本,具体的,可以从存储在Saltstack服务器本地的存储空间中获取所述自愈脚本。
在本发明实施例中,若Saltstack客户端存在运行风险,获取用于消除所述运行风险的自愈脚本,以及Saltstack客户端发送自愈脚本。具体的,获取用于消除所述运行风险的自愈脚本包括:分析Saltstack客户端存在运行风险存的原因,根据所述原因获取用于消除所述运行风险的自愈脚本。
进一步地,当监控指标的第一监测数据为异常数据时,获取与该监控指标对应的自愈脚本,该自愈脚本用于修复该监控指标的运行数据。
例如,监控指标为磁盘使用空间,则获取降低磁盘使用空间的自愈脚本,该自愈脚本用于定位是否存在较大的日志文件,并将较大的日志文件备份进行处理(如将较大的日志文件从本地删除,或者将较大的日志文件先上传至云端然后从本地删除,或者将较大的日志文件或在本地压缩)。
在本实施例中,Saltstack服务器本地的存储空间中存储多个自愈脚本,针对不同运行数据,不同的监控指标可以获取不同的自愈脚本。
在本实施例中,Saltstack服务器本地的存储空间中还可以保存历史运行状况,以及历史风险信息和历史修复信息,则在获取自愈脚本并发送时,可以从历史异常信息和历史修复信息中选取与当前风险相同或类似的风险对应的目标修复信息,获取目标修复信息中使用过的自愈脚本并将该自愈脚本发送至Saltstack客户端。
本实施例可以通过HTTP请求的方式将自愈脚本发送至Saltstack客户端。
本发明实施例中,接收Saltstack客户端发送的与所述Saltstack客户端运行状况相关的运行数据;基于所述运行数据和预置算法判断所述Saltstack客户端是否存在运行风险;若所述Saltstack客户端存在运行风险,获取用于消除所述运行风险的自愈脚本,并向所述Saltstack客户端发送所述自愈脚本。通过主动接收Saltstack客户端的运行数据,进行运行风险判断,并在存在运行风险时向Saltstack发送自愈脚本,使得Saltstack客户端能够尽快消除该运行风险,无需运维人员值守,就能快速的解决问题,提高了运维的效率。
本发明第二实施例提供一种基于Saltstack的运维方法,其与第一实施例提供的基于Saltstack的运维方法区别在于通过运行数据包含的监控指标的第一监测数据判断客户端是否存在运行风险。具体的,参阅图2所示,本发明第二实施例提供的基于Saltstack的运维方法,包括:
S10,接收Saltstack客户端发送的与所述Saltstack客户端运行状况相关的运行数据;
S21,通过预置算法判断运行数据包含的监控指标的第一监测数据是否为异常数据;
S22,若所述第一监测数据为异常数据,确定所述Saltstack客户端存在运行风险;
S30,若所述Saltstack客户端存在运行风险,向所述Saltstack客户端发送自愈脚本。
本实施例中,S21通过预置算法判断运行数据包含的监控指标的第一监测数据是否为异常数据可以包括:判断第一监测数据是否大于监测阈值,若第一监测数据大于监测阈值,则确定第一监测数据为异常数据。当第一监测数据为异常数据时,确定Saltstack客户端存在运行风险。
在具体实施时,针对不同的监测数据可以对应不同的监测阈值,监测阈值可以为固定值,监测阈值也可以根据Saltstack客户端的运行时间和运行服务的情况(如运行软服务的数量和类型)而异。
在本发明其他可选实施例中,所述预置算法可以是线性回归预测算法、卡尔曼滤波预测算法等。
本实施例中S10步骤和S30步骤与第一实施例中的S10和S30大体相同,在此不再赘述。
本实施例通过判断监测指标的监测值是否异常,来确定Saltstack客户端是否存在运行风险,可以快速地确定Saltstack客户端是否存在运行风险。
本发明第三实施例提供一种基于Saltstack的运维方法,其与第二实施例提供的基于Saltstack的运维方法区别在于通过高斯过程回归模型判断第一监测数据是否异常。具体的,参阅图3所示,本发明第三实施例提供的基于Saltstack的运维方法,包括:
S10,接收Saltstack客户端发送的与所述Saltstack客户端运行状况相关的运行数据;
S211,将所述运行数据包含的监控指标的其他监测数据输入至高斯过程回归模型,获取所述高斯过程回归模型输出的所述运行数据包含的监控指标的置信区间;
S212,判断所述第一监测数据是否在所述置信区间范围内;
S213,若所述第一监测数据不在所述置信区间范围内,确定所述第一监测数据为异常数据;
S22,若所述第一监测数据为异常数据,确定所述Saltstack客户端存在运行风险;
S30,若所述Saltstack客户端存在运行风险,向所述Saltstack客户端发送自愈脚本。
S211中,高斯过程回归模型是通过高斯过程回归方法所建立的模型,通过高斯过程回归模型可以预测第一监测数据的数据分布范围。
具体地,所述高斯过程回归模型为:
y=f(X)+Σ,且f(X)~GP[0,k(X,X’)],P(Σ)~N(Σ|0,σn 2);
其中,y是表示第一监测数据的预测范围的变量,X是表示其他监测数据的变量,Σ表示噪声,k(X,X’)表示为预构建的核函数或多个核函数的组合,σn 2为Σ的方差,n为X的维度。
本实施例中S10步骤、S22步骤和S30步骤与前述实施例中的S10、S22和S30大体相同,在此不再赘述。
本实施例通过高斯过程回归模型可以预测第一监测数据的数据分布范围,得到所述置信区间范围,进而判断所述第一监测数据是否在所述置信区间范围内,即在本实施例中第一监测数据不是和一个值比较,而是和可靠的数据数据分布范围比较,从而能够更准确的确定监控指标的第一监测数据是否为异常数据,提升判断Saltstack客户端是否存在运行风险的准确性,进而能够准确判断是否获取自愈脚本,实现了精准运维的目的。
本发明第四实施例提供一种基于Saltstack的运维方法,其与第三实施例提供的基于Saltstack的运维方法区别在于通过多个预置算法的判断结果综合判断第一监测数据是否异常。具体的,参阅图4所示,本发明第四实施例提供的基于Saltstack的运维方法,包括:
S10,接收Saltstack客户端发送的与所述Saltstack客户端运行状况相关的运行数据;
S214,通过所述多个预置算法分别判断所述运行数据包含的监控指标的第一监测数据是否为异常数据;
S215,获取所述多个预置算法的多个判断结果,所述多个判断结果包括确定所述第一监测数据为异常数据的第一判断结果和/或所述第一监测数据不为异常的第二判断结果;
S216,在所述第一判断结果的数量大于等于第一数量阈值或所述第二判断结果的数量小于第二数量阈值时,确定所述第一监测数据为异常数据;
S22,若所述第一监测数据为异常数据,确定所述Saltstack客户端存在运行风险;
S30,若所述Saltstack客户端存在运行风险,向所述Saltstack客户端发送自愈脚本。
本实施例中,第一数量阈值和第二数量阈值可以为预设的。进一步地,第一数量阈值和第二数量阈值为根据预置算法的总数确定的,第一数量阈值和第二数量阈值可以相同或不同。
例如,第一数量阈值为预置算法的总数的百分之五十,或者第一数量阈值为预置算法的总数的百分之六十。如,若阈值算法的数量为6个,则确定第一数量阈值为3;或者,若阈值算法的数量为8个,则确定第一数量阈值为4。
或者,第二数量阈值为预置算法的总数的百分之三十,或者第二数量阈值为预置算法的总数的百分之五十。如,若阈值算法的数量为6个,则确定第二数量阈值为2;或者,若阈值算法的数量为8个,则确定第二数量阈值为3。
进一步的,预置算法可以包括线性回归预测算法、卡尔曼滤波预测算法、高斯过程回归模型等算法,通过每个算法对第一监测数据是否为异常数据进行判断,从而获取到不同的算法的判断结果,比如,得到多个判断结果之中有两个判断结果为第一监测数据为异常数据,一个判断结果为第一监测数据为正常数据,若第一数量阈值为2,则确定第一监测数据为异常数据。
本实施例中S10步骤、S22步骤和S30步骤与前述实施例中的S10、S22和S30大体相同,在此不再赘述。
本实施例通过多个算法综合判断,提高了判断第一监测数据是否为异常数据的准确性,有利于准确识别Saltstack客户端是否存在运行风险,进而能够准确判断是否获取自愈脚本,实现了精准运维的目的。
本发明第五实施例提供一种基于Saltstack的运维方法,其与第二实施例提供的基于Saltstack的运维方法区别在于向Saltstack客户端发送自愈脚本之后对监控指标的监测数据进行校验。具体的,参阅图5所示,本发明第五实施例提供的基于Saltstack的运维方法,包括:
S10,接收Saltstack客户端发送的与所述Saltstack客户端运行状况相关的运行数据;
S21,通过预置算法判断运行数据包含的监控指标的第一监测数据是否为异常数据;
S22,若所述第一监测数据为异常数据,确定所述Saltstack客户端存在运行风险;
S30,若所述Saltstack客户端存在运行风险,向所述Saltstack客户端发送自愈脚本;
S40,接收所述Saltstack客户端运行所述自愈脚本之后回传的所述运行数据的更新数据,所述更新数据包含所述监控指标的第二监测数据;
S50,判断所述第二监测数据是否为正常数据;
S60,若所述第二监测数据不为正常数据,触发告警消息。
本实施例中步骤S10至步骤S30与第一实施例中的步骤S10至步骤S30大体相同,在此不再赘述。
对于步骤S40至步骤S60,本实施例中,在触发告警消息时,可以对告警消息进行风险等级标记,如,标记为严重等级。
在本实施例中,可以调用管理平台接口向管理平台发送告警信息,或者,调动邮箱接口向管理员发送邮件。
在一可选实施例中,无论第二监测数据是否为正常数据,都保存该次运行数据和自愈脚本的信息以及运行数据的更新数据。
或者,在一可选实施例中,当第二监控数据仍为异常数据时,保存该次运行数据和自愈脚本的信息以及运行数据的更新数据。
本实施例通过对接收客户端运行自愈脚本之后回传的所述运行数据的更新数据,可以确定是否消除风险,若未消除风险,则触发告警信息,有利于快速解决该风险,避免Saltstack客户端无法运行,提高Saltstack客户端运行的稳定性。
请参见图6,图6为第六实施例提供的基于Saltstack的运维方法的流程示意图。本实施例中基于Saltstack的运维方法应用于Saltstack客户端,该基于Saltstack的运维方法包括:
S70,通过Saltstack客户端内置的监控程序采集与所述Saltstack客户端运行状况相关的运行数据。
在本实施例中,基于Saltstack的运维方法可以由Saltstack客户端执行,Saltstack客户端是安装Saltstack客户端软件的电子设备。
具体地,Saltstack客户端为安装Salt-minion的电子设备。
本实施例中,Saltstack客户端的数量可以为一个或者多个,在具体实施时,每个Saltstack客户端可内置监控程序,从而采集与Saltstack客户端运行状况相关的运行数据。
在具体实施时,可以通过常驻进程的方式,每隔10秒采集一次运行数据。
本实施例中,与Saltstack客户端运行状况相关的运行数据可以包括但不限于:Saltstack客户端运行的服务数量,运行的服务类型,运行的服务时间。
进一步地,在本发明一可选实施例中,所述运行数据包括监控指标的第一监测数据。
进一步地,在本发明一可选实施例中,所述监控指标包括CPU、磁盘、内存、网络带宽之中的一项或多项。
进一步地,在本发明一可选实施例中,不同的Saltstack客户端,可以通过监控程序选取相同或不同的监控指标进行监测,从而能够进行个性化的监控和运维。
S80,将所述运行数据发送至Saltstack服务器端。
本实施例中,Saltstack服务器端是安装Saltstack服务端软件的电子设备。具体地,Saltstack服务器端为安装Salt-master的电子设备。
详细地,本实施例中,与Saltstack客户端运行状况相关的运行数据由Saltstack客户端获取,并在获取之后,向Saltstack服务器端发送。
S90,在接收到所述Saltstack服务器端分析所述运行数据之后发送的用于消除所述Saltstack客户端运行风险的自愈脚本时,运行所述自愈脚本。
本实施例中,接收到的自愈脚本是针对Saltstack客户端,具体地,是消除所述Saltstack客户端的运行风险的自愈脚本。
在本实施例中,通过接收并运行自愈脚本,能够快速及时地清除Saltstack客户端的运行风险,提高Saltstack客户端运行的稳定性。
本发明实施例中,通过Saltstack客户端内置的监控程序采集与所述Saltstack客户端运行状况相关的运行数据;将所述运行数据发送至Saltstack服务器端;若接收到所述Saltstack服务器端分析所述运行数据之后发送的用于消除所述Saltstack客户端运行风险的自愈脚本,运行所述自愈脚本。通过采集Saltstack客户端的运行数据,能够快速主动上报运行数据,有利于Saltstack服务器端快速决策是否存在运行风险,通过接收消除Saltstack客户端运行风险的自愈脚本,能够快速准确地消除Saltstack客户端存在的运行风险,提高了运维的效率,有利于Saltstack客户端的稳定运行。
请参考图7,图7为本发明第七实施例提供的基于Saltstack的运维装置的结构示意图。本实施方式中的基于Saltstack的运维装置包括:
接收模块710,用于接收Saltstack客户端发送的与所述Saltstack客户端运行状况相关的运行数据。
本实施例中,Saltstack客户端是安装Saltstack客户端软件的电子设备,具体地,Saltstack客户端为安装Salt-minion的电子设备。
在本实施例中,基于Saltstack的运维装置包括Saltstack服务端软件,例如,基于Saltstack的运维装置包括Salt-master软件。
本实施例中,所述Saltstack客户端的数量可以为一个或者多个,在具体实施时,所述Saltstack服务器端可以接收一个或多个Saltstack客户端发送的与Saltstack客户端运行状况相关的运行数据。
本实施例中,与Saltstack客户端运行状况相关的运行数据可以包括但不限于:Saltstack客户端运行的服务数量,运行的服务类型,运行的服务时间。
详细地,本实施例中,与Saltstack客户端运行状况相关的运行数据由Saltstack客户端获取,并在获取之后,向本实施例中基于Saltstack的运维装置发送。具体地,与Saltstack客户端运行状况相关的运行数据由Saltstack客户端上安装的监控程序获取。
在本发明其中一可选实施例中,所述运行数据包括监控指标的第一监测数据。
本实施例中,所述监控指标是与Saltstack客户端运行状况相关的运行指标,所述第一监测数据可以是在一段时间内采集到的监控指标的监测数据的平均值或者是在某个时刻采集到的监控指标的监测数据的值。
进一步地,在本发明一可选实施例中,所述监控指标包括CPU、磁盘、内存、网络带宽之中的一项或多项。
本实施例中,CPU、磁盘、内存、网络带宽具体是Saltstack客户端的CPU、磁盘、内存、网络带宽。
在具体实施时,若接收到多个Saltstack客户端发送的多组运行数据,接收到的每组运行数据可以是相同的监控指标,也可以是不同的监控指标。
例如,接收到3个Saltstack客户端(分别为A客户端、B客户端和C客户端)发送的多组运行数据,其中,接收到A客户端的运行数据可以是A客户端的CPU和磁盘的监测数据,接收到B客户端的运行数据可以是B客户端的磁盘和内存的监测数据,接收到C客户端的运行数据可以是C客户端的CPU和网络带宽的监测数据。
判断模块720,用于基于所述运行数据和预置算法判断所述Saltstack客户端是否存在运行风险。
在本实施例中,所述预置算法的数量可以为一个或者多个,对于不同的Saltstack客户端可以选取相同或者不同的算法判断Saltstack客户端是否存在运行风险。
一种可选实施例中,所述预置算法为训练得到的卷积神经网络,所述判断模块720具体用于:将运行数据输入至卷积神经网络,通过卷积神经网络输出预测Saltstack客户端是否存在运行风险的预测值。
其中,所述卷积神经网络为预先构建的并通过样本数据进行训练得到的。
修复模块730,用于在所述Saltstack客户端存在运行风险时,向所述Saltstack客户端发送自愈脚本。
本实施例中,所述自愈脚本为用于消除运行风险的自愈脚本,具体的,可以从存储在Saltstack服务器本地的存储空间中获取所述自愈脚本。
在本发明实施例中,修复模块730用于获取消除所述运行风险的自愈脚本,以及Saltstack客户端发送自愈脚本。具体的,获取用于消除所述运行风险的自愈脚本包括:分析Saltstack客户端存在运行风险存的原因,根据所述原因获取用于消除所述运行风险的自愈脚本。
进一步地,当监控指标的第一监测数据为异常数据时,获取与该监控指标对应的自愈脚本,该自愈脚本用于修复该监控指标的运行数据。
例如,监控指标为磁盘使用空间,则获取降低磁盘使用空间的自愈脚本,该自愈脚本用于定位是否存在较大的日志文件,并将较大的日志文件备份进行处理(如将较大的日志文件从本地删除,或者将较大的日志文件先上传至云端然后从本地删除,或者将较大的日志文件或在本地压缩)。
在本实施例中,Saltstack服务器本地的存储空间中存储多个自愈脚本,针对不同运行数据,不同的监控指标可以获取不同的自愈脚本。
在本实施例中,Saltstack服务器本地的存储空间中还可以保存历史运行状况,以及历史风险信息和历史修复信息,则在获取自愈脚本并发送时,可以从历史异常信息和历史修复信息中选取与当前风险相同或类似的风险对应的目标修复信息,获取目标修复信息中使用过的自愈脚本并将该自愈脚本发送至Saltstack客户端。
本实施例可以通过HTTP请求的方式将自愈脚本发送至Saltstack客户端。
本发明实施例中,接收Saltstack客户端发送的与所述Saltstack客户端运行状况相关的运行数据;基于所述运行数据和预置算法判断所述Saltstack客户端是否存在运行风险;若所述Saltstack客户端存在运行风险,获取用于消除所述运行风险的自愈脚本,并向所述Saltstack客户端发送所述自愈脚本。通过主动接收Saltstack客户端的运行数据,进行运行风险判断,并在存在运行风险时向Saltstack发送自愈脚本,使得Saltstack客户端能够尽快消除该运行风险,无需运维人员值守,就能快速的解决问题,提高了运维的效率。
本发明第八实施例提供一种基于Saltstack的运维装置,其与第七实施例提供的基于Saltstack的运维装置区别在于通过运行数据包含的监控指标的第一监测数据判断客户端是否存在运行风险。具体的,参阅图8所示,本发明第八实施例提供的基于Saltstack的运维装置,包括:接收模块710、判断模块720以及修复模块730,其中,判断模块720包括判断单元721和确定单元722。具体的:
接收模块710,用于接收Saltstack客户端发送的与所述Saltstack客户端运行状况相关的运行数据;
判断单元721,用于通过预置算法判断运行数据包含的监控指标的第一监测数据是否为异常数据;
确定单元722,用于若所述第一监测数据为异常数据,确定所述Saltstack客户端存在运行风险。
修复模块730用于在所述Saltstack客户端存在运行风险时,向所述Saltstack客户端发送自愈脚本。
本实施例中,通过预置算法判断运行数据包含的监控指标的第一监测数据是否为异常数据可以包括:判断第一监测数据是否大于监测阈值,若第一监测数据大于监测阈值,则确定第一监测数据为异常数据。当第一监测数据为异常数据时,确定Saltstack客户端存在运行风险。
在具体实施时,针对不同的监测数据可以对应不同的监测阈值,监测阈值可以为固定值,监测阈值也可以根据Saltstack客户端的运行时间和运行服务的情况(如运行软服务的数量和类型)而异。
在本发明其他可选实施例中,所述预置算法可以是线性回归预测算法、卡尔曼滤波预测算法等。
进一步的,在本发明另一可选实施例中,判断单元721具体用于:
将所述运行数据包含的监控指标的其他监测数据输入至高斯过程回归模型,获取所述高斯过程回归模型输出的所述监控指标的置信区间;
判断所述第一监测数据是否在所述置信区间范围内;
若所述第一监测数据不在所述置信区间范围内,确定所述第一监测数据为异常数据。
其中,高斯过程回归模型是通过高斯过程回归方法所建立的模型,通过高斯过程回归模型可以预测第一监测数据的数据分布范围。
具体地,所述高斯过程回归模型为:
y=f(X)+Σ,且f(X)~GP[0,k(X,X’)],P(Σ)~N(Σ|0,σn 2);
其中,y是表示第一监测数据的预测范围的变量,X是表示其他监测数据的变量,Σ表示噪声,k(X,X’)表示为预构建的核函数或多个核函数的组合,σn 2为Σ的方差,n为X的维度。
本实施例通过高斯过程回归模型可以预测第一监测数据的数据分布范围,得到所述置信区间范围,进而判断所述第一监测数据是否在所述置信区间范围内,即在本实施例中第一监测数据不是和一个值比较,而是和可靠的数据数据分布范围比较,从而能够更准确的确定监控指标的第一监测数据是否为异常数据,提升判断Saltstack客户端是否存在运行风险的准确性,进而能够准确判断是否获取自愈脚本,实现了精准运维的目的。
进一步的,在本发明另一实施例中,判断单元721具体用于:
通过多个预置算法分别判断所述第一监测数据是否为异常数据;
获取所述多个预置算法的多个判断结果,所述多个判断结果包括确定所述第一监测数据为异常数据的第一判断结果和/或所述第一监测数据不为异常的第二判断结果;
若所述第一判断结果的数量大于等于数量阈值,确定所述第一监测数据为异常数据。
本实施例中,第一数量阈值和第二数量阈值可以为预设的。进一步地,第一数量阈值和第二数量阈值为根据预置算法的总数确定的,第一数量阈值和第二数量阈值可以相同或不同。
例如,第一数量阈值为预置算法的总数的百分之五十,或者第一数量阈值为预置算法的总数的百分之六十。如,若阈值算法的数量为6个,则确定第一数量阈值为3;或者,若阈值算法的数量为8个,则确定第一数量阈值为4。
或者,第二数量阈值为预置算法的总数的百分之三十,或者第二数量阈值为预置算法的总数的百分之五十。如,若阈值算法的数量为6个,则确定第二数量阈值为2;或者,若阈值算法的数量为8个,则确定第二数量阈值为3。
进一步的,预置算法可以包括线性回归预测算法、卡尔曼滤波预测算法、高斯过程回归模型等算法,通过每个算法对第一监测数据是否为异常数据进行判断,从而获取到不同的算法的判断结果,比如,得到多个判断结果之中有两个判断结果为第一监测数据为异常数据,一个判断结果为第一监测数据为正常数据,若第一数量阈值为2,则确定第一监测数据为异常数据。
本实施例通过多个算法综合判断,提高了判断第一监测数据是否为异常数据的准确性,有利于准确识别Saltstack客户端是否存在运行风险,进而能够准确判断是否获取自愈脚本,实现了精准运维的目的。
本实施例中接收模块710和修复模块730与第七实施例中的接收模块710和修复模块730大体相同,在此不再赘述。
本实施例通过判断监测指标的监测值是否异常,来确定Saltstack客户端是否存在运行风险,可以快速地确定Saltstack客户端是否存在运行风险。
本发明第九实施例提供一种基于Saltstack的运维装置,其与第八实施例提供的基于Saltstack的运维装置区别在于向Saltstack客户端发送自愈脚本之后对监控指标的监测数据进行校验。具体的,参阅图9所示,本发明第九实施例提供的基于Saltstack的运维装置,包括:接收模块710、判断模块720修复模块730和,告警模块740,其中,所述判断模块720包括判断单元721和确定单元722。具体的:
接收模块710,用于接收Saltstack客户端发送的与所述Saltstack客户端运行状况相关的运行数据;
判断模块720,用于基于所述运行数据和预置算法判断所述Saltstack客户端是否存在运行风险:
判断单元721,用于通过预置算法判断运行数据包含的监控指标的第一监测数据是否为异常数据;
确定单元722,用于若所述第一监测数据为异常数据,确定所述Saltstack客户端存在运行风险:
修复模块730,用于在所述Saltstack客户端存在运行风险时,向所述Saltstack客户端发送自愈脚本;
所述接收模块710,还用于接收所述Saltstack客户端运行所述自愈脚本之后回传的所述运行数据的更新数据,所述更新数据包含所述监控指标的第二监测数据;
所述判断模块720,还用于判断所述第二监测数据是否为正常数据;
告警模块740,用于在所述第二监测数据不为正常数据时,触发告警消息。
本实施例中,在告警模块740触发告警消息时,可以对告警消息进行风险等级标记,如,标记为严重等级。
在本实施例中,可以调用管理平台接口向管理平台发送告警信息,或者,调动邮箱接口向管理员发送邮件。
在一可选实施例中,无论第二监测数据是否为正常数据,都保存该次运行数据和自愈脚本的信息以及运行数据的更新数据。
或者,在一可选实施例中,当第二监控数据仍为异常数据时,保存该次运行数据和自愈脚本的信息以及运行数据的更新数据。
本实施例中接收模块710、判断单元721,确定单元722和修复模块730与第七实施例中的接收模块710、判断单元721,确定单元722和修复模块730大体相同,在此不再赘述。
本实施例通过对接收客户端运行自愈脚本之后回传的所述运行数据的更新数据,可以确定是否消除风险,若未消除风险,则触发告警信息,有利于快速解决该风险,避免Saltstack客户端无法运行,提高Saltstack客户端运行的稳定性。
请参考图10,图10为本发明第十实施例提供的基于Saltstack的运维装置的结构示意图。本实施方式中的基于Saltstack的运维装置包括:
采集模块810,用于通过内置的监控程序采集与所述Saltstack客户端运行状况相关的运行数据。
在本实施例中,基于Saltstack的运维装置包括Saltstack客户端软件,例如,基于Saltstack的运维装置包括Salt-minion软件。
Saltstack客户端是安装Saltstack客户端软件的电子设备。具体地,Saltstack客户端为安装Salt-minion的电子设备。
本实施例中,Saltstack客户端的数量可以为一个或者多个,在具体实施时,每个Saltstack客户端可内置监控程序,从而采集与Saltstack客户端运行状况相关的运行数据。
在具体实施时,可以通过常驻进程的方式,每隔10秒采集一次运行数据。
本实施例中,与Saltstack客户端运行状况相关的运行数据可以包括但不限于:Saltstack客户端运行的服务数量,运行的服务类型,运行的服务时间。
进一步地,在本发明一可选实施例中,所述运行数据包括监控指标的第一监测数据。
进一步地,在本发明一可选实施例中,所述监控指标包括CPU、磁盘、内存、网络带宽之中的一项或多项。
进一步地,在本发明一可选实施例中,不同的Saltstack客户端,可以通过监控程序选取相同或不同的监控指标进行监测,从而能够进行个性化的监控和运维。
发送模块820,用于将所述运行数据发送至Saltstack服务器端。
本实施例中,Saltstack服务器端是安装Saltstack服务端软件的电子设备。具体地,Saltstack服务器端为安装Salt-master的电子设备。
详细地,本实施例中,与Saltstack客户端运行状况相关的运行数据由Saltstack客户端获取,并在获取之后,向Saltstack服务器端发送。
运行模块830,用于在接收到所述Saltstack服务器端分析所述运行数据之后发送的用于消除所述Saltstack客户端运行风险的自愈脚本时,运行所述自愈脚本。
本实施例中,接收到的自愈脚本是针对Saltstack客户端,具体地,是消除所述Saltstack客户端的运行风险的自愈脚本。
在本实施例中,通过接收并运行自愈脚本,能够快速及时地清除Saltstack客户端的运行风险,提高Saltstack客户端运行的稳定性。
本发明实施例中,通过Saltstack客户端内置的监控程序采集与所述Saltstack客户端运行状况相关的运行数据;将所述运行数据发送至Saltstack服务器端;在接收到所述Saltstack服务器端分析所述运行数据之后发送的用于消除所述Saltstack客户端运行风险的自愈脚本时,运行所述自愈脚本。通过采集Saltstack客户端的运行数据,能够快速主动上报运行数据,有利于Saltstack服务器端快速决策是否存在运行风险,通过接收消除Saltstack客户端运行风险的自愈脚本,能够快速准确地消除Saltstack客户端存在的运行风险,提高了运维的效率,有利于Saltstack客户端的稳定运行。
本发明第十一实施例还提供一种电子设备。图11为本发明第十一实施例提供的电子设备的内部结构示意图。
在本实施例中,所述电子设备9可以是PC(Personal Computer,个人电脑),或者是智能手机、平板电脑、便携计算机等终端设备,也可以是一种服务器等。该电子设备9至少包括存储器91、处理器92,通信总线93,以及网络接口94。
其中,存储器91至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器91在一些实施例中可以是电子设备9的内部存储单元,例如该电子设备9的硬盘。存储器91在另一些实施例中也可以是电子设备9的外部存储设备,例如电子设备9上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器91还可以既包括电子设备9的内部存储单元也包括外部存储设备。存储器91不仅可以用于存储安装于电子设备6的应用软件及各类数据,例如基于Saltstack的运维程序09的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器92在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器91中存储的程序代码或处理数据,例如执行基于Saltstack的运维程序09等。
通信总线93用于实现这些组件之间的连接通信。
网络接口94可选地可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该电子设备9与其他电子设备之间建立通信连接。
可选地,该电子设备9还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选地用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备9中处理的信息以及用于显示可视化的用户界面。
图9仅示出了具有组件91-94以及基于Saltstack的运维程序09的电子设备9,本领域技术人员可以理解的是,图9示出的结构并不构成对电子设备9的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图9所示的电子设备9实施例中,存储器91中存储有基于Saltstack的运维程序09;处理器92执行存储器91中存储的基于Saltstack的运维程序09时实现如下步骤:
步骤一、接收Saltstack客户端发送的与所述Saltstack客户端运行状况相关的运行数据;
步骤二、基于所述运行数据和预置算法判断所述Saltstack客户端是否存在运行风险;
步骤三、若所述Saltstack客户端存在运行风险,向所述Saltstack客户端发送所述自愈脚本。
或者,存储器91中存储有基于Saltstack的运维程序09;处理器92执行存储器91中存储的基于Saltstack的运维程序09时实现如下步骤:
步骤一、通过Saltstack客户端内置的监控程序采集与所述Saltstack客户端运行状况相关的运行数据;
步骤二、将所述运行数据发送至Saltstack服务器端;
步骤三、若接收到所述Saltstack服务器端分析所述运行数据之后发送的消除所述Saltstack客户端运行风险的自愈脚本,运行所述自愈脚本。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
此外,本发明第十二实施例还提出一种计基于Saltstack的运维系统,所述系统包括Saltstack服务器端和Saltstack客户端,所述Saltstack服务器端用于实现上述应用于Saltstack服务器端的基于Saltstack的运维方法的步骤,所述Saltstack客户端用于实现应用于Saltstack客户端的基于Saltstack的运维方法的步骤。
此外,本发明第十三实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有基于Saltstack的运维程序,所述基于Saltstack的运维程序可被一个或多个处理器执行,以实现如下操作:
接收Saltstack客户端发送的与所述Saltstack客户端运行状况相关的运行数据;
基于所述运行数据和预置算法判断所述Saltstack客户端是否存在运行风险;
若所述Saltstack客户端存在运行风险,向所述Saltstack客户端发送所述自愈脚本。
或者,所述基于Saltstack的运维程序可被一个或多个处理器执行,以实现如下操作:
通过Saltstack客户端内置的监控程序采集与所述Saltstack客户端运行状况相关的运行数据;
将所述运行数据发送至Saltstack服务器端;
若接收到所述Saltstack服务器端分析所述运行数据之后发送的消除所述Saltstack客户端运行风险的自愈脚本,运行所述自愈脚本。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (11)

1.一种基于Saltstack的运维方法,其特征在于,所述方法应用于Saltstack服务器端,包括:
接收Saltstack客户端发送的与所述Saltstack客户端运行状况相关的运行数据;
基于所述运行数据和预置算法判断所述Saltstack客户端是否存在运行风险;
若所述Saltstack客户端存在运行风险,向所述Saltstack客户端发送自愈脚本;
其中,所述基于所述运行数据和预置算法判断所述Saltstack客户端是否存在运行风险,包括:通过所述预置算法判断所述运行数据包含的监控指标的第一监测数据是否为异常数据;若所述第一监测数据为异常数据,确定所述Saltstack客户端存在运行风险。
2.如权利要求1所述的方法,其特征在于,所述通过所述预置算法判断所述运行数据包含的监控指标的第一监测数据是否为异常数据,包括:
将所述运行数据包含的监控指标的其他监测数据输入至高斯过程回归模型,获取所述高斯过程回归模型输出的所述监控指标的置信区间;
判断所述第一监测数据是否在所述置信区间范围内;
若所述第一监测数据不在所述置信区间范围内,确定所述第一监测数据为异常数据。
3.如权利要求1所述的方法,其特征在于,所述预置算法的数量为多个,所述通过所述预置算法判断所述运行数据包含的监控指标的第一监测数据是否为异常数据,包括:
通过所述多个预置算法分别判断所述运行数据包含的监控指标的第一监测数据是否为异常数据;
获取所述多个预置算法的多个判断结果,所述多个判断结果包括确定所述第一监测数据为异常数据的第一判断结果和/或所述第一监测数据不为异常的第二判断结果;
在所述第一判断结果的数量大于等于第一数量阈值或所述第二判断结果的数量小于第二数量阈值时,确定所述第一监测数据为异常数据。
4.如权利要求1所述的方法,其特征在于,所述向所述Saltstack客户端发送所述自愈脚本之后,所述方法还包括:接收所述Saltstack客户端运行所述自愈脚本之后回传的所述运行数据的更新数据,所述更新数据包含所述监控指标的第二监测数据;
判断所述第二监测数据是否为正常数据;
若所述第二监测数据不为正常数据,则触发告警消息。
5.如权利要求1至4中任一项所述的方法,其特征在于,所述监控指标包括CPU、磁盘、内存、网络带宽之中的一项或多项。
6.一种基于Saltstack的运维方法,其特征在于,所述方法应用于Saltstack客户端,包括:
通过所述Saltstack客户端内置的监控程序采集与所述Saltstack客户端运行状况相关的运行数据;
将所述运行数据发送至Saltstack服务器端;
在接收到所述Saltstack服务器端发送的自愈脚本时,运行所述自愈脚本;其中,所述Saltstack服务器在所述Saltstack客户端存在运行风险时,向所述Saltstack客户端发送自愈脚本。
7.一种基于Saltstack的运维装置,其特征在于,所述装置包括:
接收模块,用于接收Saltstack客户端发送的与所述Saltstack客户端运行状况相关的运行数据;
判断模块,用于基于所述运行数据和预置算法判断所述Saltstack客户端是否存在运行风险;其中,所述基于所述运行数据和预置算法判断所述Saltstack客户端是否存在运行风险,包括:通过所述预置算法判断所述运行数据包含的监控指标的第一监测数据是否为异常数据;若所述第一监测数据为异常数据,确定所述Saltstack客户端存在运行风险;
修复模块,用于在所述Saltstack客户端存在运行风险时,向所述Saltstack客户端发送自愈脚本。
8.一种基于Saltstack的运维装置,其特征在于,所述装置包括:
采集模块,用于通过Saltstack客户端内置的监控程序采集与所述Saltstack客户端运行状况相关的运行数据;
发送模块,用于将所述运行数据发送至Saltstack服务器端;
运行模块,用于在接收到所述Saltstack服务器端发送的自愈脚本时,运行所述自愈脚本;其中,所述Saltstack服务器在所述Saltstack客户端存在运行风险时,向所述Saltstack客户端发送自愈脚本。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6中任一所述的基于Saltstack的运维方法。
10.一种基于Saltstack的运维系统,其特征在于,所述系统包括Saltstack服务器端和客户端,所述Saltstack服务器端用于实现如权利要求1至5中任一项所述的基于Saltstack的运维方法的步骤,所述客户端用于实现如权利要求6所述的基于Saltstack的运维方法的步骤。
11.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的基于Saltstack的运维方法。
CN202010418829.9A 2020-05-18 2020-05-18 基于Saltstack的运维方法、装置、系统及存储介质 Active CN111611131B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010418829.9A CN111611131B (zh) 2020-05-18 2020-05-18 基于Saltstack的运维方法、装置、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010418829.9A CN111611131B (zh) 2020-05-18 2020-05-18 基于Saltstack的运维方法、装置、系统及存储介质

Publications (2)

Publication Number Publication Date
CN111611131A CN111611131A (zh) 2020-09-01
CN111611131B true CN111611131B (zh) 2023-06-30

Family

ID=72204505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010418829.9A Active CN111611131B (zh) 2020-05-18 2020-05-18 基于Saltstack的运维方法、装置、系统及存储介质

Country Status (1)

Country Link
CN (1) CN111611131B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113542424B (zh) * 2021-07-19 2023-04-28 中移(杭州)信息技术有限公司 数据处理方法、装置、设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019047072A1 (zh) * 2017-09-06 2019-03-14 富璟科技(深圳)有限公司 一种数据库的检测方法及其终端
CN109901887A (zh) * 2019-01-24 2019-06-18 平安科技(深圳)有限公司 插件化模型部署方法、电子装置及计算机可读存储介质
CN111159029A (zh) * 2019-12-24 2020-05-15 中信银行股份有限公司 自动化测试方法、装置、电子设备及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10831463B2 (en) * 2017-03-08 2020-11-10 International Business Machines Corporation Intelligent software deployment on an IaaS platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019047072A1 (zh) * 2017-09-06 2019-03-14 富璟科技(深圳)有限公司 一种数据库的检测方法及其终端
CN109901887A (zh) * 2019-01-24 2019-06-18 平安科技(深圳)有限公司 插件化模型部署方法、电子装置及计算机可读存储介质
CN111159029A (zh) * 2019-12-24 2020-05-15 中信银行股份有限公司 自动化测试方法、装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN111611131A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
US7409316B1 (en) Method for performance monitoring and modeling
CN106953740B (zh) 应用中页面访问数据的处理方法、客户端、服务器及系统
US7082381B1 (en) Method for performance monitoring and modeling
US7197428B1 (en) Method for performance monitoring and modeling
US20150019512A1 (en) Systems and methods for filtering low utility value messages from system logs
CN108965049B (zh) 提供集群异常解决方案的方法、设备、系统及存储介质
US7369967B1 (en) System and method for monitoring and modeling system performance
CN112631887A (zh) 异常检测方法、装置、电子设备和计算机可读存储介质
CN113157545A (zh) 业务日志的处理方法、装置、设备及存储介质
CN110674009A (zh) 应用服务器性能监测方法、装置、存储介质及电子设备
CN112615742A (zh) 用于预警的方法、装置、设备以及存储介质
CN113704065A (zh) 监控方法、装置、设备及计算机存储介质
CN113821416A (zh) 监测告警方法、装置、存储介质及电子设备
CN111611131B (zh) 基于Saltstack的运维方法、装置、系统及存储介质
CN110807050B (zh) 性能分析方法、装置、计算机设备及存储介质
CN112948223A (zh) 一种监测运行情况的方法和装置
CN110069382B (zh) 软件监控方法、服务器、终端设备、计算机设备及介质
CN110598797B (zh) 故障的检测方法及装置、存储介质和电子装置
CN113760634A (zh) 一种数据处理方法和装置
CN116755974A (zh) 云计算平台运维方法、装置、电子设备及存储介质
CN114861909A (zh) 模型质量监控方法、装置、电子设备以及存储介质
CN113282308A (zh) 一种镜像构建方法、装置、存储介质及电子装置
CN110677271B (zh) 基于elk的大数据告警方法、装置、设备及存储介质
CN112486773A (zh) 数据处理方法、装置和系统
CN111224861B (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
GR01 Patent grant
GR01 Patent grant