CN107707415B - 一种基于SaltStack的服务器配置自动监控与告警方法 - Google Patents

一种基于SaltStack的服务器配置自动监控与告警方法 Download PDF

Info

Publication number
CN107707415B
CN107707415B CN201711183370.3A CN201711183370A CN107707415B CN 107707415 B CN107707415 B CN 107707415B CN 201711183370 A CN201711183370 A CN 201711183370A CN 107707415 B CN107707415 B CN 107707415B
Authority
CN
China
Prior art keywords
configuration
change
server
saltstack
content
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
CN201711183370.3A
Other languages
English (en)
Other versions
CN107707415A (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.)
Chengdu Knownsec Information Technology Co ltd
Original Assignee
Chengdu Knownsec 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 Chengdu Knownsec Information Technology Co ltd filed Critical Chengdu Knownsec Information Technology Co ltd
Priority to CN201711183370.3A priority Critical patent/CN107707415B/zh
Publication of CN107707415A publication Critical patent/CN107707415A/zh
Application granted granted Critical
Publication of CN107707415B publication Critical patent/CN107707415B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种基于SaltStack的服务器配置自动监控与告警方法,包括:被管理的服务器通过定时任务调度工具进行周期性的调度,执行SaltStack客户端命令;SaltStack客户端请求SaltStack服务端,拉取预期的配置,并和当前服务器上的实际配置文件做对比,返回当前服务器上配置与预期配置的json格式差异结果;配置差异分析程序通过读取结果;将判断的变更状态和所有变更文件的内容写入消息队列;配置监控端维护配置文件列表和所属负责人及邮箱信息;配置监控端读取队列内容;通过变更状态值,如果有内容变更,则将客户端和变更内容发送告警邮件给管理员。本发明解决了线上服务器配置文件的安全性和可靠性,保证文件被错误的修改或者被篡改的情况下,能及时监控到并告警。

Description

一种基于SaltStack的服务器配置自动监控与告警方法
技术领域
本发明涉及服务器节点上各***基础配置和服务配置领域,特别是一种基于SaltStack的服务器配置自动监控与告警方法。
背景技术
为了保证服务器正常运行,需要对服务器的各个***基础配置文件、服务工具的配置文件、以及业务代码的配置文件等进行管理和维护,以防止操作人员错误修改配置导致服务器运行故障、或者业务出现问题,也可以防止服务器被黑并篡改配置文件等。
传统的服务器配置主要是手动管理和维护,在部署和后续维护,如果有配置变更,需要逐台手动修改配置。近几年出现了一些服务器配置管理工具,如SaltStack,其是通过编写配置模板的方式,在SlatStack服务端预定义好需要被管理的配置,然后通过定期手动执行SaltStack提供的命令工具(salt-call命令),将预定义的预期配置和线上机器(客户端)的实际配置做对比,如果没有差异则不做任何操作;如果和线上机器的配置有差异,在测试模式下会输出变更内容。
目前虽然有了诸如SaltStack这样的服务器配置管理工具,但是它们的核心关注点都是对配置的管理,即将线上实际配置更新为预期的配置,方便批量的更新和维护。对于配置的监控和告警这块,则没有提供,每次要检查时,需要手动运行执行命令,然后等待返回结果;导致无法对错误的配置及时获知和修正,甚至如果机器被黑以后,文件被篡改、新增或删除也无法及时获知。
SaltStack:是一个C/S结构的配置管理工具,通过在服务端编写配置模板,受管理的客户端可以执行客户端命令(salt-call)安装指定服务、更新客户端服务器上指定的配置并显示变更内容,对比文件的哈希值等操作。
定时任务调度工具:周期性的执行指定命令的工具,例如cron命令工具,具体可以参考https://zh.wikipedia.org/zh-hans/Cron。
消息队列:一端产生数据写入消息队列,另外一端消费(读取)数据,保证数据的可靠性和一致性,例如kafka工具,具体可参考https://zh.wikipedia.org/wiki/Kafka。
json:一种文本标记语言,方便程序读取并使用数据。
发明内容
本发明所要解决的技术问题是提供一种基于SaltStack的服务器配置自动监控与告警方法,解决线上服务器配置文件的安全性和可靠性,保证文件被错误的修改或者被篡改的情况下,能及时监控到并告警。
为解决上述技术问题,本发明采用的技术方案是:
一种基于SaltStack的服务器配置自动监控与告警方法,包括以下步骤:
步骤1:被管理的服务器通过定时任务调度工具进行周期性的调度,执行SaltStack客户端命令;
步骤2:SaltStack客户端会请求SaltStack服务端,拉取预期的配置,并和当前服务器上的实际配置文件做对比,返回当前服务器上配置与预期配置的json格式差异结果,结果内容是每一项配置和其变更内容;
步骤3:通过差异分析读取结果,遍历每一个配置项结果,判断配置文件是否有变动,其中字段名为changes的值表示变更内容,如果changes内容是空值,则表示与预期一致,否则则是变更的差异;
步骤4:将判断的变更状态和所有变更文件的内容写入消息队列;
步骤5:配置监控端维护配置文件列表和所属负责人及邮箱信息,若是***配置,则负责人是***管理员,若是业务配置,则负责人是***管理员和相应业务负责人;配置监控端读取队列内容,获取客户端的变更状态值和变更内容;
步骤6:通过变更状态值,如果客户端无内容变更,则忽略;如果有内容变更,则将客户端和变更内容发送告警邮件给管理员,如果是业务配置,同时给业务负责人发送邮件告警;
步骤7:如果超过周期时间在消息队列未收到关于被管理服务器的任何数据,则表示被管理服务器有安全风险,发邮件给管理员进行告警。
具体的,在步骤1中,所述定时任务调度工具为cron。
与现有技术相比,本发明的有益效果是:
1)如在步骤6中,某个运维人员需要在服务器A上修改某个配置文件,但是错误的登录到服务器B上操作,导致业务服务错误的运行;这时客户端分析程序能监控到,最终配置监控端发出告警,在第一时间得知并修复。
2)如在步骤6中,业务更新升级,配置需要变更,运维人员操作线上一批服务器,更新此配置。更新完毕后,可以关注告警信息,如果无告警信息,则表示这一批服务器的指定配置都已经变更正确;否则表示更新有问题,需要及时处理。
3)如在步骤6中,服务器A被黑客攻破并登录进来,恶意篡改了一些服务配置和一些程序文件,监控程序也同样可以发现文件被篡改。
4)如在步骤7中,如果黑客发现这个周期监控探测服务,并将它停掉使其停止上报,但是在配置监控端发现超过指定周期未接受到服务器A的数据,则认为服务器A出了问题,同样也可以告警。
附图说明
图1是本发明监控与告警方法流程示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。SaltStack已经提供了一个非常好的配置管理,而本发明方法在SaltStack这一层之上再加一层配置差异分析检查程序;通过SaltStack获取服务器配置的差异,然后配置差异分析程序对差异内容做检查,判断是否有差异,如果有差异则告警给管理员和业务负责人。详述如下:
1、被管理的服务器(客户端)通过定时任务调度工具(如cron)进行周期性的调度,执行SaltStack客户端命令(salt-call)。
2、SaltStack客户端会请求SaltStack服务端,拉取预期的配置,并和当前服务器上的实际配置文件做对比,返回当前服务器上配置与预期配置的json格式差异结果,结果内容是每一项配置和其变更内容。
3、通过差异分析读取结果,遍历每一个配置项结果,判断配置文件是否有变动,其中字段名为changes的值表示变更内容,如果changes内容是空值,则表示与预期一致,否则则是变更的差异。
例如,通过python语言实现的核心伪代码片段如下:
Figure BDA0001479633840000031
Figure BDA0001479633840000041
4、将判断的变更状态值(表示这台服务器是否有变动,只要任何一项配置有变更则认为有变动)和所有变更文件的内容写入消息队列(如kafka)。
5、配置监控端维护配置文件列表和所属负责人及邮箱信息,如是***配置则负责人是***管理员,如是业务配置则负责人是***管理员和相应业务负责人。配置监控端读取队列内容,获取客户端的变更状态值和变更内容。
6、通过变更状态值,如果客户端无内容变更,则忽略;如果有内容变更,则将客户端和变更内容发送告警邮件给管理员,如果是业务配置,同时给业务负责人发送邮件告警。
7、如果超过周期时间在消息队列未收到关于被管理服务器的任何数据,则也表示被管理服务器有安全风险,可能周期任务被非安全性的停掉,也应发邮件给管理员进行告警。

Claims (2)

1.一种基于SaltStack的服务器配置自动监控与告警方法,其特征在于,包括以下步骤:
步骤1:被管理的服务器通过定时任务调度工具进行周期性的调度,执行SaltStack客户端命令;
步骤2:SaltStack客户端会请求SaltStack服务端,拉取预期的配置,并和当前服务器上的实际配置文件做对比,返回当前服务器上配置与预期配置的json格式差异结果,结果内容是每一项配置和其变更内容;
步骤3:通过差异分析读取结果,遍历每一个配置项结果,判断配置文件是否有变动,其中字段名为changes的值表示变更内容,如果changes内容是空值,则表示与预期一致,否则则是变更的差异;
步骤4:将判断的变更状态值和所有变更文件的内容写入消息队列;
步骤5:配置监控端维护配置文件列表和所属负责人及邮箱信息,若是***配置,则负责人是***管理员,若是业务配置,则负责人是***管理员和相应业务负责人;配置监控端读取队列内容,获取客户端的变更状态值和变更内容;
步骤6:通过变更状态值,如果客户端无内容变更,则忽略;如果有内容变更,则将客户端和变更内容发送告警邮件给***管理员,如果是业务配置,同时给业务负责人发送邮件告警;
步骤7:如果超过周期时间在消息队列未收到关于被管理服务器的任何数据,则表示被管理服务器有安全风险,发邮件给***管理员进行告警。
2.如权利要求1所述的一种基于SaltStack的服务器配置自动监控与告警方法,其特征在于,在步骤1中,所述定时任务调度工具为cron。
CN201711183370.3A 2017-11-23 2017-11-23 一种基于SaltStack的服务器配置自动监控与告警方法 Active CN107707415B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711183370.3A CN107707415B (zh) 2017-11-23 2017-11-23 一种基于SaltStack的服务器配置自动监控与告警方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711183370.3A CN107707415B (zh) 2017-11-23 2017-11-23 一种基于SaltStack的服务器配置自动监控与告警方法

Publications (2)

Publication Number Publication Date
CN107707415A CN107707415A (zh) 2018-02-16
CN107707415B true CN107707415B (zh) 2021-03-19

Family

ID=61185708

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711183370.3A Active CN107707415B (zh) 2017-11-23 2017-11-23 一种基于SaltStack的服务器配置自动监控与告警方法

Country Status (1)

Country Link
CN (1) CN107707415B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144607A (zh) * 2018-08-06 2019-01-04 成都知道创宇信息技术有限公司 一种大规模服务器自动部署和配置方法
CN110162510A (zh) * 2019-04-26 2019-08-23 平安普惠企业管理有限公司 文本对比方法、装置、计算机设备及存储介质
CN112579554A (zh) * 2019-09-29 2021-03-30 北京金山云网络技术有限公司 服务器配置文件的批量对比方法、装置及电子设备
CN112801516A (zh) * 2021-02-01 2021-05-14 天津五八到家货运服务有限公司 策略匹配方法、计算机设备及存储介质
CN114584600A (zh) * 2022-01-20 2022-06-03 国网青海省电力公司 一种数据审计监测***
CN115168137A (zh) * 2022-06-17 2022-10-11 北京结慧科技有限公司 针对定时任务的监控方法及***、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102916839A (zh) * 2012-10-26 2013-02-06 南宁职业技术学院 一种糖厂农务自动化监管***
CN105553871A (zh) * 2015-12-15 2016-05-04 厦门贝启科技有限公司 一种远程管理设备参数的方法及***
CN105681113A (zh) * 2016-03-29 2016-06-15 浪潮软件集团有限公司 一种基于SaltStack的自动化运维方法
WO2017053789A1 (en) * 2015-09-24 2017-03-30 Circadence Corporation Mission-based, game-implemented cyber training system and method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170270157A1 (en) * 2016-03-21 2017-09-21 Virtual Network Element, Inc. TCP/IP Network Automation and Orchestration Tools

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102916839A (zh) * 2012-10-26 2013-02-06 南宁职业技术学院 一种糖厂农务自动化监管***
WO2017053789A1 (en) * 2015-09-24 2017-03-30 Circadence Corporation Mission-based, game-implemented cyber training system and method
CN105553871A (zh) * 2015-12-15 2016-05-04 厦门贝启科技有限公司 一种远程管理设备参数的方法及***
CN105681113A (zh) * 2016-03-29 2016-06-15 浪潮软件集团有限公司 一种基于SaltStack的自动化运维方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《基于Puppet 的自动化部署工具的设计与实现》;李小文 等;《软件》;20151231;全文 *

Also Published As

Publication number Publication date
CN107707415A (zh) 2018-02-16

Similar Documents

Publication Publication Date Title
CN107707415B (zh) 一种基于SaltStack的服务器配置自动监控与告警方法
CN102937930B (zh) 应用程序监控***及方法
US9542177B1 (en) Peer configuration analysis and enforcement
CN108092836A (zh) 一种服务器的监控方法及装置
US20230039566A1 (en) Automated system and method for detection and remediation of anomalies in robotic process automation environment
CN102624570A (zh) 实现对web服务器可用性进行检测的监控***和方法
US20160210172A1 (en) Intelligent Auto-Scaling
CN100549975C (zh) 计算机维护帮助***及分析服务器
CN112527484B (zh) 工作流断点续跑方法、装置、计算机设备及可读存储介质
JP2014102661A (ja) 適用判定プログラム、障害検出装置および適用判定方法
CN105141478A (zh) 一种linux服务器sas卡硬盘状态的监控方法
CN105404581A (zh) 一种数据库的评测方法和装置
US11897527B2 (en) Automated positive train control event data extraction and analysis engine and method therefor
CN114490272A (zh) 数据处理方法及装置、电子设备和计算机可读存储介质
CN112988439A (zh) 服务器故障发现方法、装置、电子设备及存储介质
US9405657B2 (en) Application architecture assessment system
CN110832464A (zh) 应用程序从错误中的恢复
CN111181775A (zh) 基于自动发现主机资产的一体化运维管理告警方法
CN111782481A (zh) 一种通用数据接口监控***和监控方法
CN110069382B (zh) 软件监控方法、服务器、终端设备、计算机设备及介质
WO2023200597A1 (en) Automated positive train control event data extraction and analysis engine for performing root cause analysis of unstructured data
CN116627437A (zh) Airflow服务的部署方法及装置、存储介质、计算机设备
US20150186809A1 (en) System and method for tracking ami assets
CN113242147B (zh) 多云环境的自动化运维部署方法、装置、设备和存储介质
CN113051135B (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
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 9/F, Block C, No. 28 Tianfu Avenue North Section, Chengdu High tech Zone, China (Sichuan) Pilot Free Trade Zone, Chengdu City, Sichuan Province, 610000

Patentee after: CHENGDU KNOWNSEC INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 610000, 11th floor, building 2, No. 219, Tianfu Third Street, hi tech Zone, Chengdu, Sichuan Province

Patentee before: CHENGDU KNOWNSEC INFORMATION TECHNOLOGY Co.,Ltd.