JP7181467B2 - 制御方法、制御プログラム、および情報処理装置 - Google Patents
制御方法、制御プログラム、および情報処理装置 Download PDFInfo
- Publication number
- JP7181467B2 JP7181467B2 JP2019079876A JP2019079876A JP7181467B2 JP 7181467 B2 JP7181467 B2 JP 7181467B2 JP 2019079876 A JP2019079876 A JP 2019079876A JP 2019079876 A JP2019079876 A JP 2019079876A JP 7181467 B2 JP7181467 B2 JP 7181467B2
- Authority
- JP
- Japan
- Prior art keywords
- container
- monitored
- processes
- abnormal
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
当該制御方法では、コンピュータは、ソフトウェア実行環境において動作する第1プロセスの動作状態を示す第1監視情報と、ソフトウェア実行環境において第1プロセスを監視する第2プロセスの動作状態を示す第2監視情報とを取得する。次にコンピュータは、第1監視情報および第2監視情報に基づき、第1プロセスおよび第2プロセスそれぞれが異常であるか否かを判定する。そしてコンピュータは、判定の結果、第1プロセスが異常である場合、第2プロセスが異常であるか否かにより、ソフトウェア実行環境の再起動を生じさせる情報を出力するか否かを判定し、第1プロセスが異常でない場合、第2のプロセスが異常であるか否かによらず、情報の出力を抑制する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る制御方法の一例を示す図である。図1には、制御方法を情報処理装置10により実施した場合の例を示している。情報処理装置10は、制御方法の処理手順が記述された制御プログラムを実行することにより、制御方法を実施することができる。
処理部12は、OSのカーネル上で仮想化技術によって隔離されたソフトウェア実行環境を構築するソフトウェア実行環境構築部1を有する。構築されるソフトウェア実行環境には、仮想マシンにおけるゲストOSのような、基礎となるカーネル以外のOSは含まれない。ソフトウェア実行環境は、例えばコンテナ型仮想化技術によって生成されるコンテナである。ソフトウェア実行環境構築部1は、例えば第1ソフトウェア実行環境2と第2ソフトウェア実行環境3とを構築する。
処理部12は、まず、第1プロセス2a,2bの動作状態を示す第1監視情報と、第2プロセス2cの動作状態を示す第2監視情報とを、第1プロセス2a,2bおよび第2プロセス2cから取得する(ステップS1)。次に処理部12は、第1監視情報および第2監視情報に基づき、第1プロセス2a,2bおよび第2プロセス2cそれぞれが異常であるか否かを判定する(ステップS2)。そして処理部12は、判定の結果に基づいて、第1プロセス2a,2bおよび第2プロセス2cの再起動を生じさせる情報(再起動情報)を出力、またはその情報の出力の抑制を行う(ステップS3)。例えば処理部12は、第1プロセス2a,2bが異常である場合、第2プロセス2cが異常であるか否かにより、再起動情報を出力するか否かを判定する。また処理部12は、第1プロセス2a,2bが異常でない場合、第2のプロセスが異常であるか否かによらず、再起動情報の出力を抑制する。
次に第2の実施の形態について説明する。第2の実施の形態は、オンプレミス(企業などの使用者が有する設備による情報システムの運用形態)で動作していたソフトウェアを、クライアントコンピューティング上のコンテナに移行した場合における、システムの可用性を向上させるものである。
ここで、1つのコンテナに1つのプロセスのみが実行されているのであれば、コンテナ基盤によるコンテナの監視に問題は生じない。すなわち、コンテナで実行されるプロセスが1つの場合、コンテナで実行されているプロセスが異常終了するとコンテナも異常終了する。またコンテナで実行されているプロセスにスローダウンなどの異常な状態が発生すると、コンテナ基盤によるコンテナ内のプロセスのヘルスチェックに異常な応答が返される。コンテナ基盤は、ヘルスチェックで異常を検出するとコンテナを再起動する。
図5は、コンテナの監視状況の一例を示す図である。コンテナ基盤130は、代理監視コンテナ140と監視対象のコンテナ150とを1つのグループ40として管理している。コンテナ基盤130は、代理監視コンテナ140で実行されている代理監視プロセス141の動作状況を監視することで、代理監視コンテナ140の異常の有無を監視する。
代理監視コンテナ140内の代理監視プロセス141はコンテナ150内のプロセスを監視する。例えばコンテナ150では、pid=1のプロセス151以外に、代表プロセス152と被監視プロセス153,154とが実行されている。代理監視コンテナ140は、代表プロセス152のヘルスチェックを行うことで、代表プロセス152の異常の有無を監視する。
図6は、初期化処理の一例を示す図である。代理監視コンテナ140は、まず代理監視プロセス141を起動する(ステップS11)。またコンテナ150は、pid=1のプロセス151を起動する(ステップS12)。次にコンテナ150は、代表プロセス152を起動する(ステップS13)。起動された代表プロセス152は、被監視プロセス153,154を起動する(ステップS14,ステップS15)。
図8は、代表プロセス正常動作中の監視処理の一例を示す図である。代理監視プロセス141は、代表プロセス152にHTTPステータスコードの問い合わせを、定期的に送信する(ステップS21)。代表プロセス152は、自身が正常に動作していれば、正常を示すステータスコード(例えば「200」)を、代理監視プロセス141に応答する(ステップS22)。また代表プロセス152は、被監視プロセス153,154それぞれを定期的に監視する(ステップS23、ステップS24)。例えば代表プロセス152は、被監視プロセス153,154それぞれに対して正常確認要求を送信し、正常の応答を受信できれば被監視プロセス153,154が正常であると判断する。
図11は、代表プロセスの処理手順の一例を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
[ステップS103]代表プロセス152は、定義済みの被監視プロセス153,154の起動が完了すると、処理をステップS104に進める。
[ステップS105]代表プロセス152は、コンテナ150が停止するまで、ステップS106~S109の処理を無限にループする。
[ステップS107]代表プロセス152は、被監視プロセス153,154の状態が正常か異常かを判断する。例えば代表プロセス152は、被監視プロセス153,154に対して正常確認要求を送信し、正常の応答があった場合、正常であると判断する。また代表プロセス152は、正常確認要求に応答がない場合、異常であると判断する。代表プロセス152は、被監視プロセスの状態が正常であれば、処理をステップS109に進める。また代表プロセス152は、被監視プロセスの状態が異常であれば、処理をステップS108に進める。
[ステップS109]代表プロセス152は、定義済みのすべての被監視プロセスについてステップS107~S108の処理が終了したら、処理をステップS110に進める。
このようにして、代表プロセス152は、被監視プロセス153,154の状態を監視し、異常を検知した場合には、異常となった被監視プロセスを再起動することができる。これにより、代表プロセス152が正常に動作している間は、被監視プロセス153,154のいずれかに異常が発生しても、コンテナ150内の処理で正常な状態に復旧させることができる。
図12は、被監視プロセスの処理手順の一例を示すフローチャートである。以下、被監視プロセス153が実行する場合を想定し、図12に示す処理をステップ番号に沿って説明する。
[ステップS123]被監視プロセス153は、代表プロセスによる最後の正常確認時刻からの経過時間が「X秒」(Xは0より大きい実数)以上か否かを判断する。被監視プロセス153は、正常確認時刻からの経過時間が「X秒」以上であれば処理をステップS124に進める。また被監視プロセス153は、正常確認時刻からの経過時間が「X秒」未満であれば処理をステップS125に進める。
図13は、代理監視プロセスの正常通知受信処理の手順の一例を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
[ステップS132]代理監視プロセス141は、被監視プロセス153,154の起動完了通知を受信したか否かを判断する。代理監視プロセス141は、起動完了通知を受信した場合、処理をステップS133に進める。また代理監視プロセス141は、起動完了通知を受信していなければ、処理をステップS135に進める。
[ステップS141]代理監視プロセス141は、代表プロセス152のヘルスチェックを行い、代表プロセス152が正常か否かを判断する。代理監視プロセス141は、代表プロセスが正常であれば、ステップS141の処理を繰り返す。また代理監視プロセス141は、代表プロセス152の異常を検出した場合、処理をステップS142に進める。
このように代理監視プロセス141は、ヘルスチェックが正常であれば、異常な被監視プロセスは代表プロセス152によって復旧されるため、コンテナ基盤130によるコンテナ150の再起動は不要と判断する(図5に示す「パターンA」と「パターンB」)。図14の例では、被監視プロセス153,154からの通知監視の前にヘルスチェックを行っているため、代理監視プロセス141は、図5に示す「パターンA」と「パターンB」とを区別していない。
次に第3の実施の形態について説明する。第3の実施の形態は、被監視プロセス153,154からの正常通知の監視を、代表プロセス152のヘルスチェックより優先して実行するものである。この場合、被監視プロセス153,154は、代表プロセス152の異常の有無に関係無く、正常通知の定期送信を行う。
[ステップS203]被監視プロセス153は、代理監視プロセス141に正常通知を送信する。正常通知には、被監視プロセス153の識別子(被監視プロセスID)が含まれる。
[ステップS211]代理監視プロセス141は、コンテナ150で実行するソフトウェアに定義済みの被監視プロセス153,154ごとにステップS212の処理を実行する。
[ステップS213]代理監視プロセス141は、定義済みのすべての被監視プロセス153,154について経過時間の算出が終了したら、処理をステップS214に進める。
代理監視プロセス141は、被監視プロセスレジストリ142に記録した各被監視プロセス153,154の最新正常通知時刻に基づいて、被監視プロセス153,154から正常通知の途絶を監視しているが、他の手段で正常通知の途絶を監視することもできる。例えば代理監視プロセス141は、被監視プロセス153,154ごとのタイマを用いて、正常通知の途絶を監視することが可能である。その場合、代理監視プロセス141は、被監視プロセス153,154のいずれかから正常通知を受信すると、その被監視プロセスのタイマによる時間計測を開始する。そして代理監視プロセス141は、タイマの計測時間が所定値(例えば「Y秒」)以上となった被監視プロセスがある場合、通知監視における被監視プロセスの異常が発生したと判断する。
2 第1ソフトウェア実行環境
2a,2b 第1プロセス
2c 第2プロセス
3 第2ソフトウェア実行環境
3a 第3プロセス
10 情報処理装置
11 記憶部
12 処理部
Claims (7)
- コンピュータが、
ソフトウェア実行環境において動作する第1プロセスの動作状態を示す第1監視情報と、前記ソフトウェア実行環境において前記第1プロセスを監視する第2プロセスの動作状態を示す第2監視情報とを取得し、
前記第1監視情報および前記第2監視情報に基づき、前記第1プロセスおよび前記第2プロセスそれぞれが異常であるか否かを判定し、
前記判定の結果、前記第1プロセスが異常である場合、前記第2プロセスが異常であるか否かにより、前記ソフトウェア実行環境の再起動を生じさせる情報を出力するか否かを判定し、前記第1プロセスが異常でない場合、前記第2のプロセスが異常であるか否かによらず、前記情報の出力を抑制する、
制御方法。 - 前記情報の出力では、複数の前記第1プロセスのうちの少なくとも1つが異常であり、かつ前記第2プロセスが異常である場合、前記情報を出力し、複数の前記第1プロセスのいずれもが異常でない場合または前記第2プロセスが異常でない場合、前記情報の出力を抑制する、
請求項1記載の制御方法。 - 前記コンピュータには、前記第1プロセスおよび前記第2プロセスが動作する第1ソフトウェア実行環境と、前記第1ソフトウェア実行環境とは別の第2ソフトウェア実行環境とが構築されており、前記第2ソフトウェア実行環境で動作する第3プロセスが、前記第1監視情報と前記第2監視情報との取得、前記第1プロセスおよび前記第2プロセスそれぞれが異常であるか否かの判定、および前記情報の出力または抑制を行う、
請求項1または2記載の制御方法。 - 前記第2プロセスは、前記第1プロセスの監視により前記第1プロセスが異常であると判断した場合、前記第1プロセスを再起動させる、
請求項1ないし3のいずれかに記載の制御方法。 - 前記第1監視情報および前記第2監視情報の取得では、前記第1監視情報と前記第2監視情報との一方を取得し、前記第1プロセスまたは前記第2プロセスに異常が検出された後に、未取得の前記第1監視情報または前記第2監視情報を取得する、
請求項1ないし4のいずれかに記載の制御方法。 - コンピュータに、
ソフトウェア実行環境において動作する第1プロセスの動作状態を示す第1監視情報と、前記ソフトウェア実行環境において前記第1プロセスを監視する第2プロセスの動作状態を示す第2監視情報とを取得し、
前記第1監視情報および前記第2監視情報に基づき、前記第1プロセスおよび前記第2プロセスそれぞれが異常であるか否かを判定し、
前記判定の結果、前記第1プロセスが異常である場合、前記第2プロセスが異常であるか否かにより、前記ソフトウェア実行環境の再起動を生じさせる情報を出力するか否かを判定し、前記第1プロセスが異常でない場合、前記第2のプロセスが異常であるか否かによらず、前記情報の出力を抑制する、
処理を実行させる制御プログラム。 - ソフトウェア実行環境において動作する第1プロセスの動作状態を示す第1監視情報と、前記ソフトウェア実行環境において前記第1プロセスを監視する第2プロセスの動作状態を示す第2監視情報とを取得し、前記第1監視情報および前記第2監視情報に基づき、前記第1プロセスおよび前記第2プロセスそれぞれが異常であるか否かを判定し、前記判定の結果、前記第1プロセスが異常である場合、前記第2プロセスが異常であるか否かにより、前記ソフトウェア実行環境の再起動を生じさせる情報を出力するか否かを判定し、前記第1プロセスが異常でない場合、前記第2のプロセスが異常であるか否かによらず、前記情報の出力を抑制する処理部、
を有する情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019079876A JP7181467B2 (ja) | 2019-04-19 | 2019-04-19 | 制御方法、制御プログラム、および情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019079876A JP7181467B2 (ja) | 2019-04-19 | 2019-04-19 | 制御方法、制御プログラム、および情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020177489A JP2020177489A (ja) | 2020-10-29 |
JP7181467B2 true JP7181467B2 (ja) | 2022-12-01 |
Family
ID=72936293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019079876A Active JP7181467B2 (ja) | 2019-04-19 | 2019-04-19 | 制御方法、制御プログラム、および情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7181467B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7552433B2 (ja) | 2021-02-25 | 2024-09-18 | 富士通株式会社 | コンテナ管理方法およびコンテナ管理プログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012256227A (ja) | 2011-06-09 | 2012-12-27 | Hitachi Systems Ltd | プロセス障害判定復旧装置、プロセス障害判定復旧方法、プロセス障害判定復旧プログラム、および記録媒体 |
JP2013535745A (ja) | 2010-07-30 | 2013-09-12 | シマンテック コーポレーション | 高可用性仮想機械環境におけるアプリケーションの高可用性の提供 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09305440A (ja) * | 1996-05-10 | 1997-11-28 | Matsushita Graphic Commun Syst Inc | エラー処理方法 |
-
2019
- 2019-04-19 JP JP2019079876A patent/JP7181467B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013535745A (ja) | 2010-07-30 | 2013-09-12 | シマンテック コーポレーション | 高可用性仮想機械環境におけるアプリケーションの高可用性の提供 |
JP2012256227A (ja) | 2011-06-09 | 2012-12-27 | Hitachi Systems Ltd | プロセス障害判定復旧装置、プロセス障害判定復旧方法、プロセス障害判定復旧プログラム、および記録媒体 |
Non-Patent Citations (1)
Title |
---|
荒井大輔 ほか,"Androidアプリ可用率の調査と安定化手法の提案",電子情報通信学会技術研究報告,社団法人電子情報通信学会,2012年,第111巻, 第469号,pp. 103-108,ISSN 0913-5685 |
Also Published As
Publication number | Publication date |
---|---|
JP2020177489A (ja) | 2020-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9785521B2 (en) | Fault tolerant architecture for distributed computing systems | |
US7716520B2 (en) | Multi-CPU computer and method of restarting system | |
KR101470712B1 (ko) | 컴퓨터 애플리케이션에서의 데이터 손실을 최소화하기 위한 방법 및 시스템 | |
US11157373B2 (en) | Prioritized transfer of failure event log data | |
US9342426B2 (en) | Distributed system, server computer, distributed management server, and failure prevention method | |
JP5579650B2 (ja) | 監視対象プロセスを実行する装置及び方法 | |
US8589727B1 (en) | Methods and apparatus for providing continuous availability of applications | |
US20120174112A1 (en) | Application resource switchover systems and methods | |
EP3495946A1 (en) | Server updates | |
CN101938368A (zh) | 刀片服务器系统中的虚拟机管理器和虚拟机处理方法 | |
CN1645389A (zh) | 用于实现高可用性系统的远程企业管理的系统和方法 | |
JP5444178B2 (ja) | バックアップ・リストア処理装置とバックアップ・リストア処理方法およびプログラム | |
US11507479B2 (en) | High availability for a relational database management system as a service in a cloud platform | |
WO2018095107A1 (zh) | 一种bios程序的异常处理方法及装置 | |
US20080288812A1 (en) | Cluster system and an error recovery method thereof | |
CN111880906A (zh) | 虚拟机高可用性管理方法、系统以及存储介质 | |
US20230244579A1 (en) | Event-driven system failover and failback | |
US7366949B2 (en) | Distributed software application software component recovery in an ordered sequence | |
CN114675791A (zh) | 一种磁盘处理方法、系统及电子设备 | |
CN116881225A (zh) | 节点部署方法、装置、电子设备及计算机可读取存储介质 | |
JP7181467B2 (ja) | 制御方法、制御プログラム、および情報処理装置 | |
CN114327662B (zh) | 操作系统的处理方法及装置、存储介质和处理器 | |
US7206975B1 (en) | Internal product fault monitoring apparatus and method | |
US20210011749A1 (en) | Systems and methods to monitor a computing environment | |
US7996707B2 (en) | Method to recover from ungrouped logical path failures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221012 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20221018 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221031 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7181467 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |