CN107707415B - 一种基于SaltStack的服务器配置自动监控与告警方法 - Google Patents
一种基于SaltStack的服务器配置自动监控与告警方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/42—Mailbox-related aspects, e.g. synchronisation of mailboxes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
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,其是通过编写配置模板的方式,在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语言实现的核心伪代码片段如下:
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。
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)
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)
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)
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 |
-
2017
- 2017-11-23 CN CN201711183370.3A patent/CN107707415B/zh active Active
Patent Citations (4)
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)
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. |