CN108762967B - 用于监控Linux系统中Web服务的软件看门狗实现方法 - Google Patents

用于监控Linux系统中Web服务的软件看门狗实现方法 Download PDF

Info

Publication number
CN108762967B
CN108762967B CN201810571776.7A CN201810571776A CN108762967B CN 108762967 B CN108762967 B CN 108762967B CN 201810571776 A CN201810571776 A CN 201810571776A CN 108762967 B CN108762967 B CN 108762967B
Authority
CN
China
Prior art keywords
web service
processing flow
level fault
fault processing
service
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
CN201810571776.7A
Other languages
English (en)
Other versions
CN108762967A (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.)
Ningbo Institute Of Standardization
Original Assignee
Ningbo Institute Of Standardization
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 Ningbo Institute Of Standardization filed Critical Ningbo Institute Of Standardization
Priority to CN201810571776.7A priority Critical patent/CN108762967B/zh
Publication of CN108762967A publication Critical patent/CN108762967A/zh
Application granted granted Critical
Publication of CN108762967B publication Critical patent/CN108762967B/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种用于监控Linux系统中Web服务的软件看门狗实现方法,其特征在于:建立一个用于监控和管理Linux系统中Web服务的软件看门狗进程,首先启动Web服务,启动看门狗进程,看门狗进程通过固定时间间隔监控Web服务和相关进程的运行情况,根据是否捕捉到异常信号,进而判断故障层级,在发生软件故障时,快速定位相关故障进程,并依据故障的判断原因及严重程度,对Web服务相关进程进行相关重启、恢复工作,系统级错误进行对操作系统的重启指令;从而实现Linux系统中Web服务的无人监控下,自动故障恢复和还原。与现有技术相比,本发明的优点在于能保障在无人监控下,Web服务的稳定性和高可用性。

Description

用于监控Linux系统中Web服务的软件看门狗实现方法
技术领域
本发明涉及一种用于监控Linux系统中Web应用的软件看门狗实现方法。
背景技术
随着互联网技术在各行各业中的发展,基于互联网的信息化建设已经起到了举足轻重的作用,而Web网站是基于互联网信息化建设的一个重要内容。在常规的Web网站建设中,考虑到Linux系统的跨平台的硬件支持、丰富的软件支持、多用户多任务、可靠的安全性、良好的稳定性和完善的网络功能等优势,众多Web网站的开发者,将Linux系统作为首选操作系统。而基于Linux操作系统、Nginx网络服务器、MySQL数据库、PHP编程语言的架构,即LNMP架构,是当前Linux系统中Web网站架构的主要模式;还有LMPA构架(基于Linux操作系统、MySQL数据库、PHP编程语言的架构和Apache服务器的构架)、LNMPA构架(基于Linux操作系统、Nginx网络服务器、MySQL数据库、PHP编程语言的架构和Apache服务器的构架),都是Linux系统中Web网站的常用架构。
另一方面,Web网站或者说基于Web模式的信息化应用,一般来说都是需要提供7天X 24小时不间断服务,对系统运维的实时性要求较高,在发生软件故障的时候,不可能通过人工监控的方式来保障软件系统的稳定性和系统恢复。
发明内容
本发明所要解决的技术问题是针对上述现有技术提供一种用于Linux系统中Web服务的软件看门狗实现方法,保障在无人监控下,Web服务的稳定性和高可用性。
本发明解决上述技术问题所采用的技术方案为:一种用于监控Linux系统中Web服务的软件看门狗实现方法,其特征在于:建立一个用于监控和管理Linux系统中Web服务的软件看门狗进程,软件看门狗进程通过如下步骤对Linux系统中Web服务进行监控和管理:
步骤(1)、Web服务和软件看门狗进程初始化:Linux系统中与Web服务对应的进程启动后,获取所有启动进程的PID,进程的PID即为进程的身份标识;随后,启动软件看门狗进程;
步骤(2)、软件看门狗进程获取Linux系统中当前运行的所有与Web服务相关的进程PID,再与步骤(1)中获取的进程的PID进行比较,如果两者完全相同,则软件看门狗进程输出“无异常”信号,并转入步骤(3);如果通过比较发现,Linux系统当前运行的与Web服务相关的所有进程的PID与步骤(1)中获取的进程的PID不一致,则软件看门狗进程输出“异常”信号,并转入步骤(4);
步骤(3)、软件看门狗进程睡眠预先设定的时间间隔T,然后返回步骤(2);
步骤(4)、如果当前运行的所有与Web服务相关的进程PID与步骤(1)中获取的进程PID之间仅有一个进程PID不一致,进入进程层级故障处理流程后返回步骤(1),同时记录进入进程层级故障处理流程的次数retry1;如果当前运行的所有与Web服务相关的进程PID与步骤(1)中获取的进程PID之间有N个进程PID不一致,N大于等于2,或记录的进入进程层级故障处理流程的次数retry1达到预先设定的第一阈值,进入服务层级故障处理流程后返回步骤(1),同时记录进入服务层级故障处理流程的次数retry2;当软件看门狗进程检测到Linux系统出现系统级故障或发现记录的进入服务层级故障处理流程的次数retry2达到预先设定的第二阈值,则进入系统层级故障处理流程;
其中,进程层级故障处理流程为:杀死Web服务相应的进程,并重启该Web服务;
服务层级故障处理流程为:杀死所有Web服务的进程,并重启所有Web服务;
系统层级故障处理流程为:重启Linux系统;
当所有Linux系统中Web应用的进程恢复正常后,软件看门狗进程将进入进程层级故障处理流程的次数retry1和进入服务层级故障处理流程的次数retry2进行复位。
所述Linux系统中Web服务包括多个不同的子服务,如数据库子服务,网络服务器子服务,核心应用程序子服务,不同子服务启动后,会出现一个或多个不同的进程:
此时,进程层级故障处理流程为:杀死Web服务相应子服务的进程,并重启该子服务;
服务层级故障处理流程为:杀死与Web服务相关的所有子服务的进程,并重启所有子服务。
与现有技术相比,本发明的优点在于:通过对整个Linux系统的Web服务的进程进行监控,实时发现服务或系统相关问题,快速定位可能出现故障的服务的问题层级,并迅速作出反应,进行相关进程的恢复或系统重启,从而保障在无人监控下,Web服务的稳定性和高可用性。
附图说明
图1为本发明实施例中本发明实施例中用于监控Linux系统中Web服务的软件看门狗实现方法的流程图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提供了一种用于监控Linux系统中Web服务的软件看门狗实现方法,Linux系统中Web服务包括多个子服务,如数据库子服务,网络服务器子服务,核心应用程序子服务等,先建立一个用于监控和管理Linux系统及其中Web服务的软件看门狗进程,软件看门狗进程通过如下步骤对Linux系统中Web服务进行监控和管理:
步骤(1)、Web服务和软件看门狗进程初始化:Linux系统中与Web服务对应的进程启动后,获取所有启动进程的PID,进程的PID即为进程的身份标识;随后,启动软件看门狗进程;
步骤(2)、软件看门狗进程获取Linux系统中当前运行的所有与Web服务相关的进程PID,再与步骤(1)中获取的进程的PID进行比较,如果两者完全相同,则软件看门狗进程输出“无异常”信号,并转入步骤(3);如果通过比较发现,Linux系统当前运行的与Web服务相关的所有进程的PID与步骤(1)中获取的进程的PID不一致,则软件看门狗进程输出“异常”信号,并转入步骤(4);
步骤(3)、软件看门狗进程睡眠预先设定的时间间隔T,然后返回步骤(2);
步骤(4)、如果当前运行的所有与Web服务相关的进程PID与步骤(1)中获取的进程PID之间仅有一个进程PID不一致,进入进程层级故障处理流程后返回步骤(1),同时记录进入进程层级故障处理流程的次数retry1;如果当前运行的所有与Web服务相关的进程PID与步骤(1)中获取的进程PID之间有N个进程PID不一致,N大于等于2,或记录的进入进程层级故障处理流程的次数retry1达到预先设定的第一阈值,进入服务层级故障处理流程后返回步骤(1),同时记录进入服务层级故障处理流程的次数retry2;当软件看门狗进程检测到Linux系统出现系统级故障或发现记录的进入服务层级故障处理流程的次数retry2达到预先设定的第二阈值,则进入系统层级故障处理流程;Linux系统出现的系统级故障包括启动故障、中断故障、函数库故障、网络连接故障等等;
其中,进程层级故障处理流程为:杀死Web服务相应子服务的进程,并重启该子服务;
服务层级故障处理流程为:杀死与Web服务相关的所有子服务的进程,并重启所有子服务;
系统层级故障处理流程为:重启Linux系统;
当所有Linux系统中Web应用的进程恢复正常后,软件看门狗进程将进入进程层级故障处理流程的次数retry1和进入服务层级故障处理流程的次数retry2进行复位。
本发明的首先启动Web服务,启动看门狗进程,看门狗进程通过固定时间间隔监控Web服务和相关进程的运行情况,根据是否捕捉到异常信号,进而判断故障层级,在发生软件故障时,快速定位相关故障进程,并依据故障的判断原因及严重程度,对Web服务相关进程进行相关重启、恢复工作,系统级错误进行对操作系统的重启指令;从而实现Linux系统中Web服务的无人监控下,自动故障恢复和还原。

Claims (2)

1.一种用于监控Linux系统中Web服务的软件看门狗实现方法,其特征在于:建立一个用于监控和管理Linux系统及其Web服务的软件看门狗进程,软件看门狗进程通过如下步骤对Linux系统中Web服务进行监控和管理:
步骤(1)、Web服务和软件看门狗进程初始化:Linux系统中与Web服务对应的进程启动后,获取所有启动进程的PID,进程的PID即为进程的身份标识;随后,启动软件看门狗进程;
步骤(2)、软件看门狗进程获取Linux系统中当前运行的所有与Web服务相关的进程PID,再与步骤(1)中获取的进程的PID进行比较,如果两者完全相同,则软件看门狗进程输出“无异常”信号,并转入步骤(3);如果通过比较发现,Linux系统当前运行的与Web服务相关的所有进程的PID与步骤(1)中获取的进程的PID不一致,则软件看门狗进程输出“异常”信号,并转入步骤(4);
步骤(3)、软件看门狗进程睡眠预先设定的时间间隔T,然后返回步骤(2);
步骤(4)、如果当前运行的所有与Web服务相关的进程PID与步骤(1)中获取的进程PID之间仅有一个进程PID不一致,进入进程层级故障处理流程后返回步骤(1),同时记录进入进程层级故障处理流程的次数retry1;如果当前运行的所有与Web服务相关的进程PID与步骤(1)中获取的进程PID之间有N个进程PID不一致,N大于等于2,或记录的进入进程层级故障处理流程的次数retry1达到预先设定的第一阈值,进入服务层级故障处理流程后返回步骤(1),同时记录进入服务层级故障处理流程的次数retry2;当软件看门狗进程检测到Linux系统出现系统级故障或发现记录的进入服务层级故障处理流程的次数retry2达到预先设定的第二阈值,则进入系统层级故障处理流程;
其中,进程层级故障处理流程为:杀死Web服务相应的进程,并重启该Web服务;
服务层级故障处理流程为:杀死所有Web服务的进程,并重启所有Web服务;
系统层级故障处理流程为:重启Linux系统;
当所有Linux系统中Web应用的进程恢复正常后,软件看门狗进程将进入进程层级故障处理流程的次数retry1和进入服务层级故障处理流程的次数retry2进行复位。
2.根据权利要求1所述的用于监控Linux系统中Web服务的软件看门狗实现方法,其特征在于:所述Linux系统中Web服务包括多个不同的子服务,不同子服务启动后,会出现一个或多个不同的进程:
此时,进程层级故障处理流程为:杀死Web服务相应子服务的进程,并重启该子服务;
服务层级故障处理流程为:杀死与Web服务相关的所有子服务的进程,并重启所有子服务。
CN201810571776.7A 2018-05-30 2018-05-30 用于监控Linux系统中Web服务的软件看门狗实现方法 Active CN108762967B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810571776.7A CN108762967B (zh) 2018-05-30 2018-05-30 用于监控Linux系统中Web服务的软件看门狗实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810571776.7A CN108762967B (zh) 2018-05-30 2018-05-30 用于监控Linux系统中Web服务的软件看门狗实现方法

Publications (2)

Publication Number Publication Date
CN108762967A CN108762967A (zh) 2018-11-06
CN108762967B true CN108762967B (zh) 2021-08-24

Family

ID=63999044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810571776.7A Active CN108762967B (zh) 2018-05-30 2018-05-30 用于监控Linux系统中Web服务的软件看门狗实现方法

Country Status (1)

Country Link
CN (1) CN108762967B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110311807B (zh) * 2019-06-06 2022-04-08 东南大学 一种电动吊篮数据采集系统网络状况自适应监控方法
CN111209133B (zh) * 2019-12-31 2023-09-12 深圳证券通信有限公司 一种有序系统发生软件故障的重演恢复方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100555228C (zh) * 2006-11-08 2009-10-28 中兴通讯股份有限公司 一种嵌入式linux应用进程的监控方法
CN102968352B (zh) * 2012-12-14 2015-07-22 杨晓松 进程监控及多级恢复系统和方法
CN105677501B (zh) * 2016-01-07 2019-01-29 烽火通信科技股份有限公司 Linux系统中基于看门狗的精细化进程监控方法及系统
KR102510900B1 (ko) * 2016-02-04 2023-03-15 삼성전자주식회사 반도체 장치 및 반도체 장치의 동작 방법
CN107783854B (zh) * 2016-08-29 2021-08-20 华为技术有限公司 处理进程的方法及其装置
CN106569930A (zh) * 2016-11-10 2017-04-19 贵阳朗玛信息技术股份有限公司 进程监控处理方法及装置
CN106598767B (zh) * 2016-11-29 2019-07-09 积成电子股份有限公司 基于看门狗技术的智能变电站监控服务控制台实现方法

Also Published As

Publication number Publication date
CN108762967A (zh) 2018-11-06

Similar Documents

Publication Publication Date Title
CN110515820B (zh) 一种服务器故障维护方法、装置、服务器及存储介质
CN109286529B (zh) 一种恢复RabbitMQ网络分区的方法及系统
CN108762967B (zh) 用于监控Linux系统中Web服务的软件看门狗实现方法
CN101771563B (zh) 网络服务程序的监控方法
CN108429629A (zh) 设备故障恢复方法和装置
CN108199901B (zh) 硬件报修方法、系统、设备、硬件管理服务器与存储介质
WO2018006702A1 (zh) 自动化测试中的异常处理方法、装置及系统
CN105824754A (zh) 客户端程序的Python异常捕获和上传的方法
US7373542B2 (en) Automatic startup of a cluster system after occurrence of a recoverable error
US11934855B2 (en) System and method to autonomously manage hybrid information technology (IT) infrastructure
CN112506702A (zh) 数据中心容灾方法、装置、设备及存储介质
CN112968815A (zh) 一种断网续传的实现方法
CN105025179A (zh) 呼叫中心座席的监控方法及系统
JP2017054288A (ja) 遠隔保守サービスシステム
CN109491841A (zh) 一种提高Spark on yarn实时任务可靠性的方法
CN113300913B (zh) 一种设备测试方法、装置、测试设备及存储介质
US11954509B2 (en) Service continuation system and service continuation method between active and standby virtual servers
CN113704051A (zh) 一种服务器故障检测系统及实现方法
CN113285824A (zh) 一种监控网络配置命令安全性的方法及装置
CN110597609A (zh) 一种集群迁移与自动恢复方法及系统
CN112650565A (zh) 一种应用进程恢复方法及装置
JP5420801B1 (ja) 無人電気所遠隔監視制御装置用再立上げ装置および方法
CN111666178A (zh) 一种安全监控方法及其系统
CN110795262A (zh) 一种程序故障修复方法、装置、设备及计算机存储介质
CN112653585B (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