RocketChat(EC2インスタンス)でCPU80%以上を10分間継続したら再起動する
2020/06/28
先日、数日間のやり取り用で完全に使い捨てとして使っているRocketChatで、CPUが30分ぐらい高騰して誰もアクセスできなくなっていました。
とりあえず再起動して復旧しました。
ユーザー数やアクセス数が変動するわけでもなく、処理量が大きく変動するわけでもないので、オートスケーリングよりもオートヒーリングやオートリカバリーが適当かと考えます。
頻発するなら、CPUが高騰した原因の調査も、と思いましたが、まだ1回発生しただけなので、次回発生時以降に調査しようかと思います。
そこで、次回発生時に今回のように30分以上も放置とはしたくないので、とりあえず10分間継続していれば再起動することにしました。
発生時のCPU使用率を見てると、一定期間内に多少上下はしているようですので、80%超過が10分間継続した場合としました。
(5分間隔のメトリクスで2データポイントとも80%越え)
アクションは再起動としました。
検証確認のため、CloudWatch Eventsに以下のイベントも設定しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
{ "source": [ "aws.cloudwatch" ], "detail-type": [ "CloudWatch Alarm State Change" ], "resources": [ "arn:aws:cloudwatch:us-east-1:123456789012:alarm:RocketChatReboot" ], "detail": { "state": { "value": [ "ALARM" ] } } } |
今回の障害時にその間RocketChat APIに投稿データを投げてた分が、SQSデッドレターキューに退避されてて、それを復旧後にリトライして、RocketChatへ無事投稿したのですが、これも自動化したいなと思いまして。
ですので、CloudWatch EventsからStep Functionsを起動して、EC2再起動が無事完了して、APIにPOSTできる状態で、Lambdaのトリガーでデッドレターキュー側を有効にしようか、と考えてます。
それは次回発生後で。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
特定AWSアカウント特定リージョンのCloudFormationスタックを削除するLambda(Python)
やりたいこと 特定アカウント内特定リージョン内のCloudFormationスタ …
-
AWS Storage Gatewayボリュームゲートウェイを作成してWindowsから使用
ボリュームゲートウェイの作成 Storage Gateway作成メニューからボリ …
-
ENAが有効なEC2インスタンスの帯域幅をiperf3で確認してみた
同じ Amazon VPC 内で Amazon EC2 Linux インスタンス …
-
JAWS-UG関西IoT専門支部 ✕ SORACOM UG 関西「Wio LTE + 絶対圧センサーで遊ぼう!」ワークショップにいってきた
JAWS-UG関西IoT専門支部 ✕ SORACOM UG 関西「Wio LTE …
-
Amazon Connect 発信イベントをEventBridgeで確認
Amazon Connectから発信した電話に出たのか、出なかったのかを確認した …
-
CloudWatch LogsメトリクスフィルタでNginxのaccess_logから転送バイト数をモニタリングする
ユーザーガイドのApache ログからのフィールドの抽出を見てて、これ、Ngin …
-
再会の日 ~re:Union 2018 Osaka by JAWS-UG~
8/5は大阪でre:Unionでした。 「再会」と名うったこのイベントは、6月に …
-
AWS Trusted Advisorの2023/11/17発表のAPI
2023/11/17に発表されたAWS Trusted Advisor の新しい …
-
AWS Personal Health Dashboardのパブリックイベントの記録
東京リージョンで発生したので、スクリーンショットを取っておいたので記録しておきま …
-
「JAWS-UG in AWS Cloud Roadshow 2017 大阪」で運営をしました
AWS Cloud Roadshow 2017 大阪のナイトイベントで、「JAW …