APサーバダウンとURL監視エラーの同時発生

質問

⚠️ この事例は公開されてから1年以上経過しています。 情報が古い可能性がありますので、ご注意ください。

🕓 事例公開日 : 2024-07-30

【背景】

システム運用中に複数のアラート通知を受信し、サービスに影響が出た。復旧作業は実施していないが、自動的に復旧した。障害の影響範囲と原因調査方法について知りたい。



1. 事象

エラーメッセージ・スタックトレース:

log.generating.time=Wed Jul 10 15:26:47 JST 2024log.level=ERRORlog.logger.name=org.quartz.core.ErrorLoggerlog.id=5a23d526-cd40-4806-bde8-432cf0f7a09alog.thread.id=intra-mart_QuartzSchedulerThreadlog.thread.group=QuartzScheduler:intra-martlog.message=An error occurred while scanning for the next triggers to fire.org.quartz.JobPersistenceException: [E.IWP.DATABASE.00013] コネクション取得時に想定外のエラーが発生しました。[See nested exception: jp.co.intra_mart.foundation.database.exception.DatabaseException: [E.IWP.DATABASE.00013] コネクション取得時に想定外のエラーが発生しました。]at jp.co.intra_mart.system.job_scheduler.quartz.JobStoreMirageSession.getConnection(JobStoreMirageSession.java:243)at jp.co.intra_mart.system.job_scheduler.quartz.JobStoreMirageSession.getNonManagedTXConnection(JobStoreMirageSession.java:253)at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3795)at org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTriggers(JobStoreSupport.java:2751)at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:264)Caused by: jp.co.intra_mart.foundation.database.exception.DatabaseException: [E.IWP.DATABASE.00013] コネクション取得時に想定外のエラーが発生しました。at jp.co.intra_mart.system.database.SystemDatabase.getConnection(SystemDatabase.java:63)at jp.co.intra_mart.system.job_scheduler.quartz.JobStoreMirageSession.getConnection(JobStoreMirageSession.java:241)... 4 moreCaused by: org.postgresql.util.PSQLException: 接続試行は失敗しました。at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:292)at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195)at org.postgresql.Driver.makeConnection(Driver.java:458)at org.postgresql.Driver.connect(Driver.java:260)at com.caucho.sql.DriverConfig.createDriverConnection(DriverConfig.java:709)at com.caucho.sql.ManagedConnectionImpl.initDriverConnection(ManagedConnectionImpl.java:280)at com.caucho.sql.ManagedConnectionImpl.<init>(ManagedConnectionImpl.java:147)at com.caucho.sql.ManagedFactoryImpl.createManagedConnection(ManagedFactoryImpl.java:155)at com.caucho.env.dbpool.ConnectionPool.createConnection(ConnectionPool.java:1019)at com.caucho.env.dbpool.ConnectionPool.allocatePoolConnection(ConnectionPool.java:852)at com.caucho.env.dbpool.ConnectionPool.allocateConnection(ConnectionPool.java:741)at com.caucho.env.dbpool.ConnectionPool.allocateConnection(ConnectionPool.java:714)at com.caucho.sql.UserDataSource.getConnection(UserDataSource.java:75)at com.caucho.sql.DBPool.getConnection(DBPool.java:822)at jp.co.intra_mart.system.database.DatabaseAccessorImpl.getConnection(DatabaseAccessorImpl.java:56)at jp.co.intra_mart.system.database.SystemDatabase.getConnection(SystemDatabase.java:55)... 5 moreCaused by: java.net.SocketTimeoutException: connect timed outat java.base/java.net.PlainSocketImpl.socketConnect(Native Method)at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412)at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255)at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237)at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)at java.base/java.net.Socket.connect(Socket.java:609)at org.postgresql.core.PGStream.<init>(PGStream.java:75)at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:91)at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:192)... 21 more

症状の説明:

以下の2つのアラートが同時期に発生した:

■プロセス監視アラート(APサーバダウン検知)
・通知時刻:15:36
・復旧時刻:15:50

■URL監視アラート(エラー検知)
・通知時刻:15:36
・復旧時刻:15:46 復旧作業は何も実施していないが、自動的に復旧した。



2. 発生条件

・発生日時:2024年7月10日 15:26頃から15:50頃
・影響範囲:APサーバとデータベース間の通信
・復旧方法:自動復旧(手動操作なし)

回答

1. 原因

AWS基盤側の問題により、RDSインスタンスに障害が発生し、APサーバとデータベース間の接続が不通となりました。

2. 対応結果

AWS側で対応完了しており、RDSの監視機構が問題を検知して自動的にリカバリーを実施しました。現在、該当のDBインスタンスは正常に稼働しておりますので、そのままご利用いただけます。

なお、AWS基盤障害の詳細な原因につきましては、AWSの回答方針により開示することができかねますこと、ご了承ください。


3. 調査方法

1. アラート通知の確認(15:36にプロセス監視とURL監視の2つのアラートを受信)
2. exceptionログの確認(15:26頃からコネクション取得エラーが発生していることを確認)
3. エラー内容の分析(java.net.SocketTimeoutException: connect timed outによりAPサーバとデータベース間の通信が不通であることを特定)
4. AWSヘルスダッシュボードの確認(基盤環境の状態をチェック)
5. AWS側への問い合わせ(2024年7月10日 15:28 JST頃にAWS基盤側で問題が発生していたことを確認)
6. 自動リカバリーの確認(RDSの監視機構により自動復旧が実施されたことを確認)
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
Powered by Zendesk